Referência indefinida ao símbolo 'uncompress', DSO ausente da linha de comando

2

Estou tentando compilar manualmente minha extensão iconv para que use libiconv ao invés de glibc. Eu baixei libiconv e configurei com ./configure --prefix=/usr/local , make then sudo make install .

Eu encontrei estas instruções sobre a compilação manual: link

Eu tenho uma versão 5.6.10 do PHP e ela foi instalada usando o phpbrew, então comecei na Etapa # 3.

Na etapa 5 ( make ), encontrei o seguinte erro:

/usr/bin/ld: ext/standard/.libs/image.o: undefined reference to symbol 'uncompress'
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

Você saberia como consertar isso? Muito obrigado.

    
por sabanana 11.01.2017 / 13:10

1 resposta

2

Eu resolvi isso editando o Makefile e adicionando -lz em EXTRA_LIBS .

  1. Procure por Makefile no diretório php .
  2. Pesquise EXTRA_LIBS .
  3. Adicione o sinalizador -lz .

Isso vincula a biblioteca que estava faltando. -lz links para zlib .

Esta solução é baseada na resposta do kevinf para Erro de link estranho: DSO ausente da linha de comando no Stack Overflow.

    
por sabanana 12.01.2017 / 08:00