Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've created a package which contains 32-bit libraries for compatibility with 32-bit applications on 64-bit systems, stored in /usr/lib32. This causes the ia32-libs dependency being added to my package. However, the package works perfectly fine without those libraries as other 32-bit programs should install ia32-libs themselves.

How do I prevent the build process from generating the ia32-libs dependency? nvidia-current seems to able to do this too, but uses CDBS which I do not use. (I use a plain rules file as generated by dh_make)

share|improve this question
This doesn't make sense "as other 32-bit programs should install ia32-libs themselves." So why do you care about the dependency? – Steve-o Aug 29 '11 at 9:13
The package in question is virtualgl. This program provides 32-bit libraries in order to work with 32-bit programs. Without those 32-bit programs, the 32-bit libs are obsolete so I do not want the package to depend on the huge ia32-libs. – Lekensteyn Aug 29 '11 at 9:25
So a multiarch package? – Steve-o Aug 29 '11 at 9:32
@Steve-o: Not a multi-arch package for now, I'm targetting Lucid and Maverick too. – Lekensteyn Aug 29 '11 at 9:43

Removal of the ia32-libs dependency is explicitly covered in the Debian Multiarch Implementation guide:

Which basically means if there are certain dpkg tools that are emitting too many packages when specifying multiarch then it is a tool bug and now is a good time to file a report.

share|improve this answer
up vote 0 down vote accepted

To make debhelper ignore the 32-bit libraries, I had to add a target for ignoring paths containing /usr/lib32:

    dh_shlibdeps --exclude=/usr/lib32

After that, the ia32-libs dependencies would not be calculated anymore. Since this target is only needed for 64-bit systems, I actually use the below snippet for the virtualgl package:

ifeq ($(DEB_BUILD_ARCH), amd64)
    dh_shlibdeps --exclude=debian/virtualgl/usr/lib32

Note that the whitespace before dh is a tab.

share|improve this answer

Your Answer


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

Not the answer you're looking for? Browse other questions tagged or ask your own question.