libpng16.so: referência indefinida para 'inflateValidate'

2

Estou apenas relatando. Eu enfrentei um problema ao tentar criar libpng no Amazon Linux (baseado no Red Hat). Mas eu tenho seguinte erro:

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

Eu verifiquei as variáveis de ambiente e elas foram configuradas normalmente. A ferramenta nm exibiu que inflateValidate estava nas exportações da biblioteca zlib. Espero que minha solução (veja abaixo) ajude alguém e economize seu tempo.

    
por Sergey Gatich 09.02.2017 / 20:34

2 respostas

1

A solução foi adicionar LDDFLAGS a ./configure :

./configure --prefix=/usr LDFLAGS="-L/usr/lib -lz"

Isso resolveu o problema.

    
por 09.02.2017 / 20:36
0

Em execução, no Lubuntu 16-04 em uma caixa de 64 bits, minha solução foi especificar o caminho para a biblioteca zlib .

Primeiro, crie a biblioteca zlib :

./configure \
  --prefix=/home/stephane/programs/install
make
make install
make clean

Em seguida, crie a biblioteca libpng especificando a dependência com a opção --with-zlib-prefix :

./configure \
  --prefix=/home/stephane/programs/install \
  --with-zlib-prefix=/home/stephane/programs/install
make
make install
make clean
    
por 17.04.2017 / 11:08