Building libpng16 from source with zlib v1.2.10
Guillaume Rossolini <[email protected]>
| Newsgroups | gmane.comp.graphics.png.general |
|---|---|
| Message-ID | <CAE=Fn_4yohm=JcCqXrJrqxskjdNiPoo4V9D++evbrFzpQT5tAA@mail.gmail.com> |
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/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
-o 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 "libpng16.la" && ln -s "../libpng16.la"
"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.o 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
_______________________________________________
png-mng-misc mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/png-mng-misc