Quand j’essaie d’exécuter les programmes C et C++, j’obtiens
collect2: fatal error: cannot find 'ld' compilation terminated.
J'ai déjà installé la dernière version de GCC et G ++.
Dans mon cas, j'ai résolu ce problème avec une solution de contournement:
Sur le répertoire bin du compilateur, j'ai créé un lien symbolique pointant vers le compilateur.
ld (ld -> powerpc-fsl-linux-ld).
Puis, dans le script makefile ou build, j'ai ajouté le dossier toolchain à la variable PATH.
export PATH=$PATH:"toolchain-dir-absolute-path"
ça a marché!
Notre équipe a eu la même erreur lors de la construction de RHEL6 DTS2 via AFL . Nous avons résolu ce problème en utilisant le lieur GNU au lieu de lieur doré auquel CMake semble utiliser la valeur par défaut.
Dans les lignes de commande du compilateur, cherchez -Wl,-Fuse-ld=gold
et éliminez-le!
Dans nos systèmes de construction CMake, cela fonctionnait en appelant les scripts de construction avec l'option supplémentaire -DCOL_WITHOUT_GOLD
.
Vous pouvez installer l'éditeur de liens gold via apt-get install binutils-gold
.
Pour moi, cela donnait toujours des erreurs, alors que binutils-gold installait un /usr/bin/ld.gold, et via strace, il apparait que gcc veut un binaire nommé avec le triple hôte complet, par exemple. x86_64-nptl-linux-gnu-ld.gold. Je devais faire un lien symbolique ln -s /usr/bin/ld.gold /usr/bin/x86_64-nptl-linux-gnu-ld.gold
, puis tout s'est bien passé.