Issue 105926 - nss cannot be built on Linux machines without the zlib-dev package
Summary: nss cannot be built on Linux machines without the zlib-dev package
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: DEV300m61
Hardware: All All
: P3 Trivial (vote)
Target Milestone: OOo 3.2
Assignee: Stephan Bergmann
QA Contact: issues@tools
URL:
Keywords:
Depends on:
Blocks: 99999
  Show dependency tree
 
Reported: 2009-10-15 13:43 UTC by Frank Schönheit
Modified: 2009-11-13 14:29 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Frank Schönheit 2009-10-15 13:43:15 UTC
Trying to build module nss on a linux machine which does not have zhe zlib
developer package installed fails with the following error:
  make: *** No rule to make target -lz.  Stop.

The problem is in mozilla/security/coreconf/Linux.mk (inside the extracted nss
sources, i.e. in the module's output tree):
  USE_SYSTEM_ZLIB = 1
So, NSS is always compiled/linked with system-zlib.

For one, this leads to a potentially inconsistent build, since now different
libs might be linked against different zlibs: nss agains the one from the
system, other libs in OOo against OOo's own version.

Second, the build of the nss module fails on systems without a system-zlib. In
particular, we encountered this with the Sun-internal Linux build bot.


So, nss' makefile should be patched to rely on the system-zlib only when
--with-system-zlib is given, and otherwise direct the linker to the zlib used in
the rest of OOo.
Comment 1 joachim.lingner 2009-10-21 12:02:09 UTC
It seems that only two tools from nss link libz.so. Although the tools are not
used and are no part of OOo, this is still a build breaker when using a Linux 
base line machine.
Comment 2 joachim.lingner 2009-10-22 13:53:31 UTC
On linux the system 's libz.so is used when SYSTEM_ZLIB=YES, which is the case
when the respective configure switch is set.
Comment 3 joachim.lingner 2009-10-26 10:38:24 UTC
@sb: please verify
Comment 4 Stephan Bergmann 2009-10-26 11:16:05 UTC
verified by code inspection
Comment 5 Stephan Bergmann 2009-11-13 14:29:33 UTC
.