símbolos GCC Undefined
Pergunta
Recentemente ditched MacPorts para Homebrew , como resultado im agora experimentando alguns problemas com make
. Ou seja este erro:
/Developer/usr/bin/llvm-gcc -rdynamic -o zsh main.o `cat stamp-modobjs` -liconv -ldl -ltermcap -lm -lc
Undefined symbols:
"_libiconv_open", referenced from:
llvm bitcode in utils.o
"_libiconv_close", referenced from:
llvm bitcode in utils.o
"_libiconv", referenced from:
llvm bitcode in utils.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [zsh] Error 1
make: *** [install.bin] Error 2
Parece aquelas três bibliotecas não estão ligados ou algo assim. Para ser honesto eu sou um rubi desenvolvedor e nunca tem que compilar qualquer coisa tão realmente não sabe para onde ir para corrigir isso. Isso acontece quando eu compilar qualquer coisa de fonte.
No exemplo acima, que é a saída quando executar make
ao instalar zsh
Solução
Por que você está usando llvm-gcc? Para compatibilidade máxima você ficaria melhor com gcc-4.0 ou gcc-4.2, que são ambos instalados como parte das ferramentas de desenvolvimento no OS X 10.6.
Outras dicas
Parece libiconv não está ligada, você não fornecer -liconv à linha de comando, por isso parece que a biblioteca não estiver instalado, ou pelo menos não está disponível para o vinculador nos locais padrão. Você tem libiconv instalado?