Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm trying to roll a package of a small and relatively simple Qt program.

The source tree has the appropriately populated debian/ subdirectory, with control, rules, changelog and other nessesary metadata.

In particular, the debian/control file declares about the binary package:

 Depends: ${shlibs:Depends}, ${misc:Depends}

– so that runtime dependencies could be determined automatically.

However, this part of the packaging process fails. Namely, when I launch dpkg-buildpackage -B -- it, as expected, prepares a build environment, runs qmake, installs the built binary under debian/ and after a bunch of other supportive stuff, invokes dpkg-shlibdeps. So my typical dpkg-buildpackage log ends up like this:

   ...
   dh_link -a -O-Dsrc -O--buildsystem=qmake
   dh_compress -a -O-Dsrc -O--buildsystem=qmake
   dh_fixperms -a -O-Dsrc -O--buildsystem=qmake
   dh_strip -a -O-Dsrc -O--buildsystem=qmake
   dh_makeshlibs -a -O-Dsrc -O--buildsystem=qmake
   dh_shlibdeps -a -O-Dsrc -O--buildsystem=qmake
dpkg-shlibdeps: error: no dependency information found for /lib/i386-linux-gnu/libc.so.6 (used by debian/qjoypad/usr/bin/qjoypad).
dh_shlibdeps: dpkg-shlibdeps -Tdebian/qjoypad.substvars debian/qjoypad/usr/bin/qjoypad returned exit code 2
make: *** [binary-arch] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit status 2

I can exactly reproduce the error message by invoking dpkg-shlibdeps manually:

% dpkg-shlibdeps -v -v debian/qjoypad/usr/bin/qjoypad
>> Scanning debian/qjoypad/usr/bin/qjoypad (for Depends field)
Library libXtst.so.6 found in /usr/lib/i386-linux-gnu/libXtst.so.6
Library libQtGui.so.4 found in /usr/lib/i386-linux-gnu/libQtGui.so.4
Library libQtCore.so.4 found in /usr/lib/i386-linux-gnu/libQtCore.so.4
Library libpthread.so.0 found in /lib/i386-linux-gnu/libpthread.so.0
Library libstdc++.so.6 found in /usr/lib/i386-linux-gnu/libstdc++.so.6
Library libm.so.6 found in /lib/i386-linux-gnu/libm.so.6
Library libgcc_s.so.1 found in /lib/i386-linux-gnu/libgcc_s.so.1
Library libc.so.6 found in /lib/i386-linux-gnu/libc.so.6
Library libX11.so.6 found in /usr/lib/i386-linux-gnu/libX11.so.6
Using symbols file /var/lib/dpkg/info/libgcc1:i386.symbols for libgcc_s.so.1
 Initialize dependency (libgcc1 #MINVER#) with minimal version (1:4.1.1)
Using shlibs+objdump for libc.so.6 (file /lib/i386-linux-gnu/libc.so.6)
 Looking up shlibs dependency of libc.so.6 provided by 'libc6'
 Found nothing
dpkg-shlibdeps: error: no dependency information found for /lib/i386-linux-gnu/libc.so.6 (used by debian/qjoypad/usr/bin/qjoypad).

It follows from the manpages that I need to have either "shlibs" or "symbols" files for the libc.so in order for dpkg-shlibdeps to work. However, I wasn't able to find any such files on my filesystem; installing libc6-dbg didn't help too (aren't those the kind of symbols which is needed?.. what other symbols could one store there?). So this basically makes me scratch my head.

Where do I get these files from? Don't I need to build them from libc's sources?

Any other ways to get the package built?

share|improve this question
add comment

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.