Cannot install PNGmeta
N_Ox
n.oxyde at gmail.com
Sat Oct 13 10:40:14 PDT 2007
Le 13 oct. 07 à 15:42, Boey Maun Suang a écrit :
>
> On 10/11/07, Martin Stadler <martin at standartimnetz.de> wrote:
>
>> Error: Target org.macports.build returned: shell command " cd "/opt/
>> local/var/macports/build/
>> _opt_local_var_macports_sources_rsync.macports.org_release_ports_grap
>> hic
>> s_pngmeta/work/pngmeta-1.11" && make all " returned error 2
>> Command output: gcc -DPACKAGE=\"pngmeta\" -DVERSION=\"1.11\" -
>> DHAVE_LIBZ=1 -DHAVE_LIBPNG=1 -DHAVE_PNG_CREATE_READ_STRUCT=1 -
>> DHAVE_PNG_GET_TEXT=1 -I. -I. -I/opt/local/include -O2 -I/opt/
>> local/include -I/opt/local/include -c pngmeta.c
>> gcc -O2 -I/opt/local/include -I/opt/local/include -L/opt/local/lib -
>> o pngmeta pngmeta.o -lpng -lz -L/opt/local/include -L/opt/local/
>> include -lpng -L/opt/local/lib -lm -L/opt/local/lib
>> /usr/bin/ld: Undefined symbols:
>> _png_IDAT
>> _png_IEND
>> _png_IHDR
> <snip />
>
> After some experimentation and much puzzlement, it seems that it's
> a failure on the part of the upstream developers to account for Mac
> OS X conventions (not that I blame them if they've never received
> feedback from Mac OS X build attempts).
>
> The source seems to be require being statically against libpng and
> libz, but the default on Mac OS X is to link dynamically (the
> output above is it trying and failing; don't ask me why it doesn't
> work). The normal solution of passing the -static flag to gcc
> doesn't work (because up to 10.4, Mac OS X doesn't provide the
> necessary files -- see the gcc man page), but putting the paths to
> the static libraries in place of the -l flags does (i.e. replacing
> "-lz" with "${prefix}/lib/libz.a" and "-lpng" with "${prefix}/lib/
> libpng.a"). The program then passes its internal "make check".
>
> I can't see a nice way to patch the problem ourselves, though (I
> did the above on the command line), so it would probably be best to
> ask the upstream developer to fix this.
>
> Kind regards,
>
>
> Maun Suang
>
> --
> Boey Maun Suang (Boey is my surname)
> Email: boeyms at macports dot org
>
From experimentation on my side, it seems more likely that pngmeta
is simply outdated:
png_IDAT and all seems to be global arrays, which are now disabled by
default in libpng as they are no longer used.
--
Anthony Ramine, the infamous MacPorts Trac slave.
nox at macports.org
More information about the macports-users
mailing list