On Sat, Dec 15, 2012 at 12:10:27PM +0000, Colin Watson wrote: > I tried moving all the headers to > /usr/include/$(DEB_HOST_MULTIARCH)/openssl/ and rebuilding everything in > Ubuntu raring that build-depends on libssl-dev. So far I've had 67 > failures out of 428 attempts (there are still a few in progress), mostly > foolish configure scripts that try to manually detect the location of > the OpenSSL headers rather than letting the compiler work it out. Now, > I think these are generally bugs, but this failure rate seems > inconveniently high to me; that's a lot of tedious fixing of (probably > mostly independent) build system bugs to do. It would be nice not to > expose quite so many pre-existing bugs. > > I'm currently trying the alternative of moving just opensslconf.h. The > only things that should break with that are configure scripts (or > equivalent) that test for /usr/include/openssl/opensslconf.h directly; I > think this is probably rather rarer than configure scripts that test for > things like /usr/include/openssl/x509.h.
This test (which I ran against current unstable) behaves *much* better. Out of 413 packages, 402 built cleanly. Two packages (eucalyptus and freebsd-utils) were skipped because my test was on i386 and they don't build there. chromium-browser failed to unpack for some odd reason, unrelated to OpenSSL. Of the remaining eight failures: cone: internal compiler error: Segmentation fault italc: configure: error: *** Couldn't find any Qt4 libraries (#671489) libreoffice: ran out of disk space m2crypto: Unable to find 'openssl/opensslconf.h' nodejs: timeouts during tests obfsproxy: ENOSYS during tests opendkim: configure: error: OpenSSL not found phantomjs: /usr/bin/ld: cannot find -lQtWebKit Of these, only two (m2crypto and opendkim) have anything to do with this change; the rest are pre-existing failures or bugs in my build setup. I will file bug reports on those two packages with fixes. I don't think we're going to do any better than this, so I recommend the following patch: * Move <openssl/opensslconf.h> to /usr/include/$(DEB_HOST_MULTIARCH), and mark libssl-dev Multi-Arch: same. diff -Nru openssl-1.0.1c/debian/control openssl-1.0.1c/debian/control --- openssl-1.0.1c/debian/control 2012-07-29 12:33:20.000000000 +0000 +++ openssl-1.0.1c/debian/control 2012-12-15 11:38:58.000000000 +0000 @@ -54,6 +54,7 @@ Section: libdevel Priority: optional Architecture: any +Multi-Arch: same Recommends: libssl-doc Depends: libssl1.0.0 (= ${binary:Version}), zlib1g-dev, ${misc:Depends} Description: SSL development libraries, header files and documentation diff -Nru openssl-1.0.1c/debian/rules openssl-1.0.1c/debian/rules --- openssl-1.0.1c/debian/rules 2012-07-17 09:49:15.000000000 +0000 +++ openssl-1.0.1c/debian/rules 2012-12-15 11:38:48.000000000 +0000 @@ -120,6 +120,8 @@ cp -pf debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcrypto.so.* debian/libcrypto1.0.0-udeb/usr/lib/ cp -auv lib*.so* debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/ for opt in $(OPTS); do set -xe; mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/$$opt; cp -auv $$opt/lib*.so* debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/$$opt/; done + mkdir -p debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/openssl + mv debian/tmp/usr/include/openssl/opensslconf.h debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/openssl/ install debian/copyright debian/libssl1.0.0/usr/share/doc/libssl1.0.0/ install debian/changelog debian/libssl1.0.0/usr/share/doc/libssl1.0.0/changelog.Debian install debian/copyright debian/libssl-dev/usr/share/doc/libssl-dev/ Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org