Я пытаюсь локально установить программу, которая записана в C++. Я загрузил программу, и пытаюсь использовать "сделать" команду для компиляции программы, поскольку инструкции по программам диктуют. Однако, когда я делаю я получаю эту ошибку:
/usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
При оглядывании в Интернете некоторые люди, кажется, решают эту проблему
sudo apt-get install libc6-dev-i386
Я проверил, чтобы видеть, был ли этот пакет установлен, и это не было. Когда я пытаюсь установить его, я добираюсь
E: Unable to locate package libc6-dev-i386
Я уже работал
sudo apt get update
Я уверен, что это - вопрос о новобранце, но любая справка ценится, я выполняю 13,10 32-разрядных.
ОБНОВЛЕНИЕ: я попробовал другие предложения, которые я нашел на подобной ошибке. Все, чем я управлял, является различной, но подобной ошибкой. Вот то, что я получаю.
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
Я решил эту проблему, изменив целевую архитектуру сборки. В G ++ 4.8.0 и более поздних версиях нарушена поддержка мультибиблиотек, о чем говорится в их списках рассылки. У меня есть 64-битная собственная машина, и попытка компилировать 32-битную версию приводит к ошибке. Тем не менее, компиляция в 64-битной версии работает правильно. Позже я перейду к своему ноутбуку и посмотрю, какие пакеты я установил, чтобы обойти эту проблему.
С Ubuntu 13.10 amd64 ,
проблема /usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory compilation terminated.
была решена после:
$ sudo apt-get install build-essential
$ sudo apt-get install libc6-dev-i386
$ sudo apt-get install g++-4.8-multilib