Re: Building libpng16 from source with zlib v1.2.10
GLENN PEHRSON <[email protected]>
| Newsgroups | gmane.comp.graphics.png.general |
|---|---|
| Message-ID | <[email protected]> |
I think you may be misusing zlib_prefix which is just a string that gets prefixed to exported symbols. Glenn > On January 6, 2017 at 10:35 AM Guillaume Rossolini <[email protected]> wrote: > > Please let me know if I can help (mostly by providing more details). > > Regards, > > > On 6 January 2017 at 15:03, GLENN PEHRSON <[email protected] mailto:[email protected] > wrote: > > > > > > Thanks, I'll see if I can reproduce that problem. "inflateValidate" is new in zlib-1.2.9 so it's possible the script is linking to an older zlib. > > > > > > Glenn > > > > > > > On January 6, 2017 at 6:16 AM Guillaume Rossolini <[email protected] mailto:[email protected] > wrote: > > > > > > Hi, > > > > > > Since zlib's latest release v1.2.10, I tried upgrading libpng to v1.6.28. > > > > > > Here's my usual build script, which works with zlib v1.2.8 but not with zlib v1.2.10: > > > make clean 2>/dev/null ; ./configure --prefix=/usr/local --with-zlib-prefix=/usr/local --disable-static > > > make && make check && make install > > > > > > The following happens with both libpng v1.6.26 and v1.6.28 (zlib v1.2.10): > > > [...] > > > rm -f scripts/vers.out scripts/http://vers.tf [12] > > > test -d scripts || mkdir scripts || test -d scripts > > > gcc -E -DHAVE_CONFIG_H -I. \ > > > -DPNGLIB_LIBNAME='PNG16_0' -DPNGLIB_VERSION='1.6.28' -DSYMBOL_PREFIX='' -DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE scripts/vers.c > scripts/vers.tf1 > > > mawk -f "./scripts/dfn.awk" out="scripts/vers.tf2" scripts/vers.tf1 1>&2 > > > rm -f scripts/vers.tf1 > > > mv scripts/vers.tf2 scripts/vers.out > > > rm -f libpng.vers > > > cp scripts/vers.out libpng.vers > > > /bin/bash ./libtool --tag=CC --mode=link gcc -g -O2 -no-undefined -export-dynamic -version-number 16:28:0 -Wl,--version-script=libpng.vers -ohttp://libpng16.la -rpath /usr/local/lib png.lo pngerror.lo pngget.lo pngmem.lo pngpread.lo pngread.lo pngrio.lo pngrtran.lo pngrutil.lo pngset.lo pngtrans.lo pngwio.lo pngwrite.lo pngwtran.lo pngwutil.lo mips/mips_init.lo mips/filter_msa_intrinsics.lo -lm -lz -lm > > > libtool: link: gcc -shared -fPIC -DPIC .libs/png.o .libs/pngerror.o .libs/pngget.o .libs/pngmem.o .libs/pngpread.o .libs/pngread.o .libs/pngrio.o .libs/pngrtran.o .libs/pngrutil.o .libs/pngset.o .libs/pngtrans.o .libs/pngwio.o .libs/pngwrite.o .libs/pngwtran.o .libs/pngwutil.o mips/.libs/mips_init.o mips/.libs/filter_msa_intrinsics.o -lz -lm -g -O2 -Wl,--version-script=libpng.vers -Wl,-soname -Wl,libpng16.so.16 -o .libs/libpng16.so.16.28.0 > > > libtool: link: (cd ".libs" && rm -f "libpng16.so.16" && ln -s "libpng16.so.16.28.0" "libpng16.so.16") > > > libtool: link: (cd ".libs" && rm -f "libpng16.so" && ln -s "libpng16.so.16.28.0" "libpng16.so") > > > libtool: link: ( cd ".libs" && rm -f "http://libpng16.la " && ln -s "../http://libpng16.la " "http://libpng16.la " ) > > > depbase=`echo contrib/tools/pngfix.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ > > > gcc -DHAVE_CONFIG_H -I. -g -O2 -MT contrib/tools/pngfix.o -MD -MP -MF $depbase.Tpo -c -o contrib/tools/pngfix.o contrib/tools/pngfix.c &&\ > > > mv -f $depbase.Tpo $depbase.Po > > > /bin/bash ./libtool --tag=CC --mode=link gcc -g -O2 -o pngfix contrib/tools/pngfix.ohttp://libpng16.la -lm -lz -lm > > > libtool: link: gcc -g -O2 -o .libs/pngfix contrib/tools/pngfix.o ./.libs/libpng16.so -lz -lm > > > ./.libs/libpng16.so: undefined reference to `inflateValidate' > > > collect2: error: ld returned 1 exit status > > > Makefile:971: recipe for target 'pngfix' failed > > > make[1]: *** [pngfix] Error 1 > > > make[1]: Leaving directory '/usr/local/src/libpng-1.6.28' > > > Makefile:778: recipe for target 'all' failed > > > make: *** [all] Error 2 > > > > > > > > > I am not sure if I should report this here or to zlib? > > > > > > For reference, here is the script I use to build zlib: > > > make clean 2>/dev/null ; ./configure --shared --prefix=/usr/local && make && make install > > > > > > This is a Debian wheezy with gcc 6.1.0 on one box, or gcc 4.9.2 on another box. > > > > > > Best regards, > > > ------------------------------------------------------------------------------ > > > Check out the vibrant tech community on one of the world's most > > > engaging tech sites, SlashDot.org! http://sdm.link/slashdot_______________________________________________ http://sdm.link/slashdot_______________________________________________ > > > png-mng-misc mailing list > > > [email protected] mailto:[email protected] > > > https://lists.sourceforge.net/lists/listinfo/png-mng-misc https://lists.sourceforge.net/lists/listinfo/png-mng-misc > > > > > > > > > > ------------------------------------------------------------------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > > _______________________________________________ > > png-mng-misc mailing list > > [email protected] mailto:[email protected] > > https://lists.sourceforge.net/lists/listinfo/png-mng-misc https://lists.sourceforge.net/lists/listinfo/png-mng-misc > > > > > > > > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ png-mng-misc mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/png-mng-misc