G'day Michael, On Mon, Sep 07, 2009 at 06:00:20PM -0400, Michael Franz wrote: > I am trying to build the bsd-port using the system zlib. I get two build > errors when I do this: > Undefined symbols: > "_inflateEnd", referenced from: > _inflate_file in libjli.a(parse_manifest.o) > "_inflateInit2_", referenced from: > _inflate_file in libjli.a(parse_manifest.o) > "_inflate", referenced from: > _inflate_file in libjli.a(parse_manifest.o) > ld: symbol(s) not found > collect2: ld returned 1 exit status > make[4]: *** > [/Volumes/Data/Users/mfranz/developer/openjdk-bsd/repos/build-with-jdk7/build/bsd-i586/lib/i386/libinstrument.dylib] > Error 1 > > and > Undefined symbols: > "_deflateReset", referenced from: > _png_write_compressed_data_out in pngwutil.o > _png_write_finish_row in pngwutil.o > _png_write_finish_row in pngwutil.o > "_inflateEnd", referenced from: > _png_read_destroy in pngread.o > "_inflate", referenced from: > _png_process_IDAT_data in pngpread.o > _png_push_read_zTXt in pngpread.o > _png_read_row in pngread.o > _png_decompress_chunk in pngrutil.o > _png_read_finish_row in pngrutil.o > "_deflate", referenced from: > _png_write_flush in pngwrite.o > _png_text_compress in pngwutil.o > _png_text_compress in pngwutil.o > _png_text_compress in pngwutil.o > _png_write_finish_row in pngwutil.o > _png_write_finish_row in pngwutil.o > _png_write_filtered_row in pngwutil.o > "_crc32", referenced from: > _png_reset_crc in png.o > _png_calculate_crc in png.o > "_inflateInit_", referenced from: > _png_create_read_struct_2 in pngread.o > _png_read_init_3 in pngread.o > "_deflateInit2_", referenced from: > _png_write_IHDR in pngwutil.o > "_inflateReset", referenced from: > _png_reset_zstream in png.o > _png_push_read_zTXt in pngpread.o > _png_push_read_zTXt in pngpread.o > _png_decompress_chunk in pngrutil.o > _png_decompress_chunk in pngrutil.o > _png_read_finish_row in pngrutil.o > "_deflateEnd", referenced from: > _png_write_destroy in pngwrite.o > ld: symbol(s) not found > collect2: ld returned 1 exit status > make[4]: *** > [/Volumes/Data/Users/mfranz/developer/openjdk-bsd/repos/build-with-jdk7/build/bsd-i586/lib/i386/libsplashscreen.dylib] > Error 1 > > These were fixed by applying this patch. Without looking too deep into > this, I feel that the patches should not be necessary as OS X has libz/zlib > and the build works for FreeBSD and OpenBSD.
IIRC the MacOS X linker insists that all the references be resolved when creating the shared library whereas the GNU linker in *BSD is ok with dangling references and potentially letting them be resolved at runtime. With that in mind, I'm going to commit your patch since SYSTEM_ZLIB should work on MacOS X. > --- jdk/make/java/instrument/Makefile.orig 2009-09-07 > 10:55:31.000000000 -0400 > +++ jdk/make/java/instrument/Makefile 2009-09-07 11:00:14.000000000 -0400 > @@ -117,6 +117,9 @@ > OTHER_LDLIBS += -L$(PACKAGE_PATH)/lib -liconv > endif > endif > + ifeq ($(SYSTEM_ZLIB),true) > + LDFLAGS += -lz > + endif > else > LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli > OTHER_LDLIBS += -ljli > --- jdk/make/sun/splashscreen/Makefile.orig 2009-09-07 > 11:01:44.000000000 -0400 > +++ jdk/make/sun/splashscreen/Makefile 2009-09-07 11:01:14.000000000 -0400 > @@ -65,6 +65,8 @@ > CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg > ifneq ($(SYSTEM_ZLIB),true) > CPPFLAGS += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 > +else > + OTHER_LDLIBS += -lz > endif > > Michael > -- Greg Lewis Email : gle...@eyesbeyond.com Eyes Beyond Web : http://www.eyesbeyond.com Information Technology FreeBSD : gle...@freebsd.org