configura o erro construindo o GHC no Arch Linux - “erro ao adicionar símbolos: Valor inválido”

0

Eu estava criando o GHC para obter mais bibliotecas do que a instalação padrão que os repositórios do Arch fornecem, mas consegui fazer algo no sistema que faz a configuração inicial falhar em uma cópia limpa da origem:

:~/tmp$ tar -xvf ghc-7.10.2-src.tar.xz
...
:~/tmp$ cd ghc-7.10.2
:~/tmp/ghc-7.10.2$ ./configure --prefix='pwd'/inst
checking for gfind... no
checking for find... /usr/bin/find
checking for sort... /usr/bin/sort
checking for GHC Git commit id... given 0da488c4438d88c9252e0b860426b8e74b5fc9e8
checking for ghc... /usr/local/bin/ghc
checking version of ghc... 7.10.2
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
Build platform inferred as: x86_64-unknown-linux
Host platform inferred as: x86_64-unknown-linux
Target platform inferred as: x86_64-unknown-linux
GHC build  : x86_64-unknown-linux
GHC host   : x86_64-unknown-linux
GHC target : x86_64-unknown-linux
configure: Building in-tree ghc-pwd
/usr/bin/ld: utils/ghc-pwd/dist-boot/Main.o: relocation R_X86_64_32S against '.text' can not be used when making a shared object; recompile with -fPIC
utils/ghc-pwd/dist-boot/Main.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
configure: error: Building ghc-pwd failed

O que eu poderia ter feito no sistema? Eu só me lembro de fazer um sudo make install (antes de decidir que eu queria uma instalação de usuário como na linha de comando acima) depois de fazê-lo construir uma vez, mas o erro ld não é ghc . .

    
por KarlC 04.11.2015 / 18:55

1 resposta

0

Eu só estava procurando em /usr/local/lib e /usr/local/bin para ghc coisas para limpar, mas parece que o make install realmente instalou as coisas aqui:

/usr/local/haskell/ghc-7.10.2-x86_64

Depois de remover esse diretório e reinstalar a versão do repo de ghc , o erro de configuração desaparece. Um comando útil para mim ao encontrar este diretório foi:

sudo updatedb && (locate ghc | cut -f1-4 -d'/' | sort | uniq)
    
por 04.11.2015 / 19:50