----- Original Message -----
On 14/08/2012 13:36, Andrew Hughes wrote:
:
Do you have a static libz.a installed (from zlib1g-dev) and all dependent static libraries? I think you're right about the static linking but this was just a quick test to see if SYSTEM_ZLIB=true worked with everything else as default.
Ah right.
pack200 has C++ so that explains why we see it there and not when building libzip.
Right. BTW, it appears gcc 4.5 and later have a new option -static-libstdc++. I don't know if that would work better than the options currently used. http://gcc.gnu.org/gcc-4.5/changes.html
$ dpkg -s zlib1g-dev Package: zlib1g-dev Status: install ok installed Multi-Arch: same Priority: optional Section: libdevel Installed-Size: 366 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Architecture: i386 Source: zlib Version: 1:1.2.3.4.dfsg-3ubuntu4 Provides: libz-dev Depends: zlib1g (= 1:1.2.3.4.dfsg-3ubuntu4), libc6-dev | libc-dev Conflicts: zlib1-dev Description: compression library - development zlib is a library implementing the deflate compression method found in gzip and PKZIP. This package includes the development support files. Homepage: http://zlib.net/ Original-Maintainer: Mark Brown <broonie@debian.org>
$ apt-file search libz.a lib64z1-dev: /usr/lib64/libz.a zlib1g-dev: /usr/lib/i386-linux-gnu/libz.a
$ ls -l /usr/lib/i386-linux-gnu/libz.a -rw-r--r-- 1 root root 98772 Nov 10 2011 /usr/lib/i386-linux-gnu/libz.a
I suspect you'll get the same failure with or without my patch (though you'll probably need the change to defines.h to get this far...)
SYSTEM_ZLIB is currently Mac only so I wouldn't expect to have got very far without your changes.
Yes, the defines.h change I refer to is the one that removes the Mac clause. It fails earlier without that change (I've been hitting it on most builds now I have SYSTEM_ZLIB set), so the patch is an improvement, even if it doesn't work in all cases.
I'd guess you have STATIC_CXX set to true (the default apparently):
I didn't specify any other build options so it's using the default.
An odd default, though I can understand why, given OpenJDK's history.
BTW: I should mention that I don't have any issues with the patch proposed as it works as it does now because SYSTEM_ZLIB is false. It may be that there is follow-up to allow SYSTEM_ZLIB=true and static linking to work together.
Can I take that as it's good to push? :-D
-Alan.
Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07