3 votes

Erreurs de compilation de la commande 'Make

J'essaie d'installer localement un programme écrit en C++. J'ai téléchargé le programme et j'essaie d'utiliser la commande "make" pour compiler le programme comme l'indiquent les instructions du programme. Cependant, lorsque je le fais, j'obtiens cette erreur :

/usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory 
compilation terminated.

En cherchant sur Internet, certaines personnes semblent résoudre ce problème de la manière suivante

 sudo apt-get install libc6-dev-i386

J'ai vérifié si ce paquet était installé et il ne l'était pas. Lorsque j'essaie de l'installer, j'obtiens

E: Unable to locate package libc6-dev-i386 

J'ai déjà exécuté

sudo apt get update   

Je suis sûr qu'il s'agit d'une question de débutant, mais toute aide est appréciée. J'utilise la version 13.10 32 bits.

MISE À JOUR : J'ai essayé d'autres suggestions que j'ai trouvées sur des erreurs similaires. Tout ce que j'ai réussi à faire est une erreur différente mais similaire. Voici ce que j'obtiens.

Geoffrey@Geoffrey-Latitude-E6400:/usr/local/src/trinityrnaseq_r2013_08_14$ make
Using gnu compiler for Inchworm and Chrysalis
cd Inchworm && (test -e configure || autoreconf) \
                && ./configure --prefix=`pwd`  && make install
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for library containing cos... none required
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
make[1]: Entering directory `/usr/local/src/trinityrnaseq_r2013_08_14/Inchworm'
Making install in src
make[2]: Entering directory `/usr/local/src/trinityrnaseq_r2013_08_14/Inchworm/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I..    -pedantic -fopenmp -Wall -Wextra -Wno-long-long -Wno-deprecated -m64 -g -O2 -MT Fasta_entry.o -MD -MP -MF ".deps/Fasta_entry.Tpo" -c -o Fasta_entry.o Fasta_entry.cpp; \
then mv -f ".deps/Fasta_entry.Tpo" ".deps/Fasta_entry.Po"; else rm -f ".deps/Fasta_entry.Tpo"; exit 1; fi
In file included from Fasta_entry.hpp:4:0,
             from Fasta_entry.cpp:1:
/usr/include/c++/4.8/string:38:28: fatal error: bits/c++config.h: No such file or directory
#include <bits/c++config.h>
                        ^
compilation terminated.
make[2]: *** [Fasta_entry.o] Error 1
make[2]: Leaving directory `/usr/local/src/trinityrnaseq_r2013_08_14/Inchworm/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/trinityrnaseq_r2013_08_14/Inchworm'
make: *** [inchworm] Error 2

5voto

Boris Points 4664

Avec Ubuntu 13.10 amd64 ,
le problème /usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory compilation terminated. a été résolu après :

$ sudo apt-get install build-essential
$ sudo apt-get install libc6-dev-i386
$ sudo apt-get install g++-4.8-multilib

0voto

Michael Points 1

J'ai résolu ce problème en modifiant l'architecture de la cible de construction. Il semble que le support multilib de G++ 4.8.0 et plus ne fonctionne plus, comme indiqué dans leurs listes de diffusion. J'ai une machine 64-bit native, et essayer de compiler en 32-bit résulte en une erreur. Cependant, la compilation en 64 bits fonctionne correctement. Je vais revoir mon ordinateur portable plus tard et voir quels paquets j'ai installés pour contourner ce problème.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X