Construindo o ImageMagick no OSX Lion e não é possível vincular a libpng

4

Eu estou tentando construir o ImageMagick 6.8.0-5 no OSX Lion com suporte para libpng. Estou usando apenas o procedimento padrão ./configure make make install.

Consigo compilar quando não faço referência à libpng.

./configure --with-png=no
make

No entanto, recebo um erro no make quando tento adicionar suporte a libpng. (libpng-1.5.13)

./configure --with-png=yes
make

O erro parece ser um erro de vinculador.

/usr/bin/nm: no name list
ld: warning: cannot export hidden symbol _SyncImagePixelCache from magick/.libs/magick_libMagickCore_la-cache.o
ld: warning: cannot export hidden symbol _ResetQuantumState from magick/.libs/magick_libMagickCore_la-quantum.o
Undefined symbols for architecture x86_64:
  "_png_set_check_for_invalid_index", referenced from:
      _WriteOnePNGImage in magick_libMagickCore_la-png.o
      _ReadOnePNGImage in magick_libMagickCore_la-png.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [magick/libMagickCore.la] Error 1
make: *** [all] Error 2

Eu não alterei nenhuma outra opção para configurar.

Como posso corrigir isso para adicionar suporte a libpng?

    
por martin jakubik 25.11.2012 / 20:52

3 respostas

2

Você precisará dizer ao ImageMagick onde localizar libpng . Felizmente, libpng vem com um script de configuração chamado "libpng-config".

Você pode obter a opção de biblioteca de links da sua instalação local da libpng com o sinalizador --L_opts .

libpng-config --L_opts

Isto irá retornar algo como -L / usr / local / lib . Defina a configuração LDFLAGS do ImageMagick para corresponder à sua biblioteca libpng.

# Use the returned value for the LDFLAGS
./configure LDFLAGS='-L/usr/local/lib'

Se libpng-config retornar com uma mensagem 'comando não encontrado' , você precisará garantir que sua libpng esteja instalada corretamente e possa estar localizada em seu ambiente de shell. Geralmente, isso pode ser tão simples quanto adicionar um caminho personalizado à sua variável PATH.

export PATH="$PATH:/usr/local/bin"
    
por 11.03.2013 / 14:43
1

Tive problemas para obter o ImageMagick para criar corretamente com o suporte png em 10.10, então usei o instalador do link que inclui suporte a png . (instala em /opt )

    
por 12.03.2015 / 12:23
0

Novas versões do ImageMagick parecem confiar em "pkg-config" para encontrar sua própria versão libpng. Acabei de instalar o pkg-config e configurar o PKG_CONFIG_LIBRARY = / path / to / my / libpng-version para que ele funcione.

HTH, Axel.

    
por 17.12.2015 / 17:13