添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
I wanted to build dump1090 .deb package from source-code at github. When i gave command dpkg-buildpackage -b, it failed. Warning about Perl. I checked, perl is installed.
What should I do to solve this problem?

Code: Select all

root# git clone https://github.com/flightaware/dump1090.git
Cloning into 'dump1090'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 8082 (delta 0), reused 1 (delta 0), pack-reused 8079
Receiving objects: 100% (8082/8082), 21.02 MiB | 20.85 MiB/s, done.
Resolving deltas: 100% (5570/5570), done.
Checking connectivity... done.
root# cd dump1090
root# dpkg-buildpackage -b -d
dpkg-buildpackage: source package dump1090-fa
dpkg-buildpackage: source version 3.6.3
dpkg-buildpackage: source distribution stable
dpkg-buildpackage: source changed by Oliver Jowett <[email protected]>
dpkg-buildpackage: host architecture i386
 dpkg-source --before-build dump1090
 debian/rules clean
dh clean --with=systemd
dh: unable to load addon systemd: Can't locate Debian/Debhelper/Sequence/systemd.pm in @INC (you may need to install the Debian::Debhelper::Sequence::systemd module) (@INC contains: /etc/perl /usr/local/lib/i386-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/i386-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/i386-linux-gnu/perl-base .) at (eval 13) line 2.
BEGIN failed--compilation aborted at (eval 13) line 2.
debian/rules:32: recipe for target 'clean' failed
make: *** [clean] Error 2
dpkg-buildpackage: error: debian/rules clean gave error exit status 2
root# 
			
ADDITIOINAL INFO:
Forgot to mention that initially command "dpkg-buildpackage -b -d" gave following error:
"Command not found"
Then downloaded and installed package "dpkg-dev_1.18.4ubuntu1.5_all.deb" from this Web Page:
https://launchpad.net/ubuntu/xenial/i38 ... 4ubuntu1.5
After installing this package by command "petget", dpkg-buildpackage started to work, but got stuck again after few steps, as shown below:

Code: Select all

root# cd dump1090
root# dpkg-buildpackage -b -d
Can't locate parent.pm in @INC (you may need to install the parent module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/share/perl/5.22/File/Temp.pm line 31.
BEGIN failed--compilation aborted at /usr/share/perl/5.22/File/Temp.pm line 31.
Compilation failed in require at /usr/bin/dpkg-buildpackage line 28.
BEGIN failed--compilation aborted at /usr/bin/dpkg-buildpackage line 28.
			
Welcome to Puppy Land!
Always, always, always, always give the specific complete name of the Puppy Linux you are using.
Xenialpup is not enough info.
I will guess you are using Xenialpup 7.5 (32bit) or is it Xenialpup64 7.5 (64bit)?
Know nothing about the build program you are trying to use.
But in general to compile in Puppy.
You need to load or install the Puppy version:
devx.sfs package.
Specific kernel sources.sfs package.
These have the added files and programs used for compiling.
Both Xenialpup 7.5 versions have this.
Click on the Quickpet icon on the desktop.
Quickpet>Useful>
Here you can download and install the devx and kernel src
Having the devx and kernel src loaded or installed help?
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)
1. The full name of distro is Xenialpup 7.5 (32bit).
2. I did install "devx.sfs" package before creating this thread, but it did not solve the problem.
3. I have NOT installed "sources.sfs" package. I will install it now and try again, and report back.
Thanks for help
Regards,
abcd567
@bigpup
Installing "devx.sfs" package helped, but installing "sources.sfs" package did not make any difference. However when I installed "debhelper_9.20160115ubuntu3" from PPM, the command "dpkg-buildpackage -b" started working.
Almost at the end of build process got another error:

Code: Select all

dpkg-shlibdeps: error: no dependency information found for /lib/libpthread.so.0 (used by debian/dump1090-fa/usr/bin/dump1090-fa)
Hint: check if the library actually comes from a package.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/dump1090-fa.substvars debian/dump1090-fa/usr/bin/dump1090-fa debian/dump1090-fa/usr/bin/view1090-fa returned exit code 2
debian/rules:32: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
To summerize what I have done uptill now:
1. Loaded modules "devx.sfs" and "sources.sfs"
2. Downloaded and installed package "dpkg-dev_1.18.4ubuntu1.5_all.deb" from this Web Page:
https://launchpad.net/ubuntu/xenial/i38 ... 4ubuntu1.5
3. Used PPM and installed following packages:
(These are tools needed to build packages from source-code)
(a) "debhelper_9.20160115ubuntu3"
(b) "build-essential_12.1ubuntu2"
(c) "dh-systemd_1.29ubuntu4"
4. Downloaded & installed .deb package "librtlsdr-dev" (dependency for dump1090, but not available in PPM) from following web page:
https://launchpad.net/ubuntu/xenial/i38 ... ev/0.5.3-5
5. Downloaded & installed .deb package "libncurses5-dev" (dependency for dump1090, but not available in PPM) from following web page:
https://launchpad.net/ubuntu/xenial/i38 ... 3-1ubuntu1
I cannot really help you with more ideas.
Someone is going to have to come along that has done this or knows more than I do.
Usually, the problems are stuff needed, is not in Puppy and it needs to be added.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)
abcd567 wrote:@bigpup
Installing "devx.sfs" package helped, but installing "sources.sfs" package did not make any difference. However when I installed "debhelper_9.20160115ubuntu3" from PPM, the command "dpkg-buildpackage -b" started working.
Almost at the end of build process got another error:

Code: Select all

dpkg-shlibdeps: error: no dependency information found for /lib/libpthread.so.0 (used by debian/dump1090-fa/usr/bin/dump1090-fa)
Hint: check if the library actually comes from a package.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/dump1090-fa.substvars debian/dump1090-fa/usr/bin/dump1090-fa debian/dump1090-fa/usr/bin/view1090-fa returned exit code 2
debian/rules:32: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
To summerize what I have done uptill now:
1. Loaded modules "devx.sfs" and "sources.sfs"
2. Downloaded and installed package "dpkg-dev_1.18.4ubuntu1.5_all.deb" from this Web Page:
https://launchpad.net/ubuntu/xenial/i38 ... 4ubuntu1.5
3. Used PPM and installed following packages:
(These are tools needed to build packages from source-code)
(a) "debhelper_9.20160115ubuntu3"
(b) "build-essential_12.1ubuntu2"
(c) "dh-systemd_1.29ubuntu4"
4. Downloaded & installed .deb package "librtlsdr-dev" (dependency for dump1090, but not available in PPM) from following web page:
https://launchpad.net/ubuntu/xenial/i38 ... ev/0.5.3-5
5. Downloaded & installed .deb package "libncurses5-dev" (dependency for dump1090, but not available in PPM) from following web page:
https://launchpad.net/ubuntu/xenial/i38 ... 3-1ubuntu1
Looks like it can't find libpthread.so.0
That file is usually in /lib/ directory.
I'm using precise right now with the devx loaded and libpthread.so.0 is a symlink to libpthread-2.15.so. both files located in /lib/
Might want to run a search for libpthread.so.0 with Pfind , it should be one of the "system files"
You may just need a symlink, I don't have a xenial7.5 32-bit to reference.
Is there some specific reason for wanting to package as .deb ?
For Puppy it is best to compile and then package as .pet or .sfs
It is possible that the libpthread in this Puppy came from some other non-Ubuntu package and does not have dependency information "baked" in.
Try replacing it with the Ubuntu version (or compare to see if it is exactly the same)
Your program may be looking in the wrong place. If it is in /lib you could try symlinking into /usr/lib to see if the program then finds it
Hi abcd567, I think, looking at the 'dump1090' GitHub page that it's specific only for to build a .deb on a Debian OS (Jessie or Wheezy).
So I'd say, better try that instead of building it on a Puppy OS.
fredx181 wrote:Hi abcd567, I think, looking at the 'dump1090' GitHub page that it's specific only for to build a .deb on a Debian OS (Jessie or Wheezy).
So I'd say, better try that instead of building it on a Puppy OS.
The .deb package of dump1090 from source-code at http://github.com/flightaware can be build on following OS/architectures (and I have successfully built many of these)
Older versions of dump1090-fa
Debian Wheezy amd64 & i386
Raspbian Wheezy arm (RPi)
Latest version of dump1090-fa
Debian Jessie amd64 & i386
Raspbian Jessie arm (RPi)
Raspbian Jessie x86
Debian Stretch amd64 and i386
Raspbian Stretch arm (RPi)
Raspbian Stretch x86
Armbian Stretch arm (OrangePi)
Ubuntu Xenial amd64 and i386
Ubuntu Bionic amd64 and i386
Archlinux x86_64
Alarmpi arm (ArchLinux arm for RPi)
My script "build package & install dump1090-fa" for Archlinux and Alarmpi
https://github.com/abcd567a/dump1090-fa-arch
OscarTalks wrote:Is there some specific reason for wanting to package as .deb ?
For Puppy it is best to compile and then package as .pet or .sfs The .deb built by command "dpkg-buildpackage -b" installs all the files, directories and symlinks needed for condfiguration and auto-start at boot. Compiling a binary by make or Cmake or making a .deb package by dpkg --build does not have this functionality.
It is possible that the libpthread in this Puppy came from some other non-Ubuntu package and does not have dependency information "baked" in.
Try replacing it with the Ubuntu version (or compare to see if it is exactly the same)
Your program may be looking in the wrong place. If it is in /lib you could try symlinking into /usr/lib to see if the program then finds it
Thanks for the tips. I will try these. Most likely these should help.
  • ↳   Beginners Help ( Start Here)
  • ↳   Users ( For the regulars )
  • ↳   Für deutschsprachige Anhänger
  • ↳   Pour les francophones
  • ↳   Usuarios de habla Hispana
  • ↳   HOWTO ( Solutions )
  • ↳   Bugs ( Submit bugs )
  • Advanced Topics
  • ↳   Additional Software (PETs, n' stuff)
  • ↳   Package Collections / Repositories
  • ↳   REQUESTS
  • ↳   Browsers and Internet
  • ↳   Business
  • ↳   Compiling
  • ↳   Desktop
  • ↳   Documents
  • ↳   Drivers
  • ↳   Educational
  • ↳   Engineering/Science/Simulation
  • ↳   Eye Candy
  • ↳   Filesystem
  • ↳   Games
  • ↳   Graphics
  • ↳   Multimedia
  • ↳   Network
  • ↳   Security/Privacy
  • ↳   System
  • ↳   Utilities
  • ↳   Virtualization
  • ↳   Unsorted
  • ↳   Cutting edge
  • ↳   Multi-session live-CD/DVD
  • ↳   Hardware
  • ↳   Audio
  • ↳   Networking
  • ↳   Dialup
  • ↳   Ethernet
  • ↳   Wireless
  • ↳   Printers
  • ↳   Video
  • ↳   Puppy Derivatives
  • ↳   Puppy Projects
  • ↳   Next Puppy Development
  • ↳   4.x
  • ↳   Bugs (4.x dev)
  • ↳   Usability Issues (4.x dev)
  • ↳   5.x
  • ↳   Bugs (5.x dev)
  • ↳   Usability Issues (5.x dev)
  • ↳   Localization Project
  • ↳   Documentation Project
  • Taking the Puppy out for a walk
  • ↳   Announcements
  • ↳   Puppy Power
  • ↳   Suggestions
  • ↳   Misc
  • Off-Topic Area
  • ↳   Programming
  • ↳   Security
  • ↳   Truly off-topic conversations
  • ↳   Spam reports
  •