collect2: erro fatal: não é possível encontrar a compilação 'ld' terminada

1

Quando tento executar o programa C e C ++ estou recebendo

collect2: fatal error: cannot find 'ld' compilation terminated.

Já instalei a última versão do GCC e do G ++.

    
por gaurav soni 14.07.2016 / 09:44

3 respostas

1

Nossa equipe recebeu o mesmo erro ao criar o RHEL6 DTS2 via AFL . Nós resolvemos isso usando o linker GNU em vez do gold linker ao qual o CMake parece ser o padrão.

Em suas linhas de comando do compilador, procure por -Wl,-fuse-ld=gold e se livre dele!

Em nossos sistemas de criação CMake, isso funcionou invocando os scripts de construção com a opção adicional -DCOL_WITHOUT_GOLD .

    
por user611249 25.10.2016 / 11:23
0

Você pode instalar o link de ouro via apt-get install binutils-gold .

Para mim, isso ainda dava erros, como binutils-gold instala um /usr/bin/ld.gold e via strace, parece que o gcc quer um binário nomeado com o triplo do host completo, por ex. x86_64-nptl-linux-gnu-ld.gold. Eu tive que fazer symlink ln -s /usr/bin/ld.gold /usr/bin/x86_64-nptl-linux-gnu-ld.gold , e tudo correu bem.

    
por Alex Miller 10.08.2017 / 23:35
0

No meu caso, resolvi isso com uma solução alternativa. Na pasta bin do compilador cruzado, fiz um symlink ld poiting para o compilador ld (ld - > powerpc-fsl-linux-ld). Em seguida, no makefile ou no script de construção, adicionei a pasta toolchain à variável PATH exportar PATH = $ PATH: "toolchain-dir-caminho-absoluto"

funcionou!

    
por JaimePereira 11.01.2018 / 13:43