Подтвердить что ты не робот

Отладка ошибки "gcc: error: x86_64-linux-gnu-gcc: Нет такого файла или каталога"

Я пытаюсь построить: https://github.com/kanzure/nanoengineer

Но похоже, что это ошибки:

gcc -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python2.7   -std=c99 x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -MT libstructcompare_a-structcompare.o -MD -MP -MF .deps/libstructcompare_a-structcompare.Tpo -c -o libstructcompare_a-structcompare.o `test -f 'structcompare.c' || echo './'`structcompare.c
gcc: error: x86_64-linux-gnu-gcc: No such file or directory

x86_64-linux-gnu-gcc определенно существует в /usr/bin (это символическая ссылка), и цель определенно существует. Мне кажется, что Makefile был сгенерирован неправильно, возможно, есть флаг, который должен быть передан, прежде чем указывать x86_64-linux-gnu-gcc? Я также не уверен, что должно выполняться x86_64-linux-gnu-gcc.

Наконец, этот make файл был сгенерирован configure, поэтому, как только мы сузим причину ошибки, мне придется выяснить, какие файлы изменить, чтобы исправить это. (Я сам парень CMake, но, конечно, я не выбрал систему сборки для этого проекта.) Моя ОС - Debian.

Я тоже попытался построить эту ветку: https://github.com/kanzure/nanoengineer/branches/kirka-updates

Если вы попытаетесь получить это, чтобы построить свою систему, я был бы очень признателен! Спасибо!

4b9b3361

Ответ 1

После достаточного количества работы я смог заставить его использовать Ubuntu 12.04 x86 и Debian 7.4 x86_64. Я написал руководство ниже. Не могли бы вы попросить его проверить, разрешает ли он проблему?

Если нет, сообщите мне, где вы застряли.

Установить общие зависимости

sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev

Установить NumArray 1.5.2

wget http://goo.gl/6gL0q3 -O numarray-1.5.2.tgz
tar xfvz numarray-1.5.2.tgz
cd numarray-1.5.2
sudo python setup.py install

Установить номер 23.8

wget http://goo.gl/PxaHFW -O numeric-23.8.tgz
tar xfvz numeric-23.8.tgz
cd Numeric-23.8
sudo python setup.py install

Установить HDF5 1.6.5

wget ftp://ftp.hdfgroup.org/HDF5/releases/hdf5-1.6/hdf5-1.6.5.tar.gz
tar xfvz hdf5-1.6.5.tar.gz
cd hdf5-1.6.5
./configure --prefix=/usr/local
sudo make 
sudo make install

Установить Nanoengineer

git clone https://github.com/kanzure/nanoengineer.git
cd nanoengineer
./bootstrap
./configure
make
sudo make install

Устранение неполадок

В Debian Jessie вы получите сообщение об ошибке, о котором упомянули нежные брюки. Кажется, что проблема в сценариях automake. x86_64-linux-gnu-gcc вставляется в CFLAGS, а gcc будет интерпретировать это как имя одного из исходных файлов. В качестве обходного пути позвольте создать пустой файл с этим именем. Пустой, чтобы он не изменил программу и это имя, чтобы компилятор ее подбирал. Из клонированного каталога nanoengineer запустите эту команду, чтобы сделать gcc счастливым (это хак, да, но он работает)...

touch sim/src/x86_64-linux-gnu-gcc

Если вы получаете сообщение об ошибке при сборе HDF5 по строкам: "error: call to" __open_missing_mode, объявленный с ошибкой атрибута: open с O_CREAT во втором аргументе нуждается в 3 аргументах ", затем измените файл выполнить /zip _perf. c, строка 548, чтобы выглядеть следующим образом, а затем повторить...

output = open(filename, O_RDWR | O_CREAT, S_IRUSR|S_IWUSR);

Если при создании Nanoengineer появляется сообщение об ошибке Numeric/arrayobject.h, попробуйте запустить

export CPPFLAGS=-I/usr/local/include/python2.7
./configure
make
sudo make install

Если вы получили сообщение об ошибке, подобное "TRACE_PREFIX uneclared", измените файл sim/src/simhelp.c строк с 38 по 41, чтобы выглядеть так и повторите запуск make:

#ifdef DISTUTILS
static char tracePrefix[] = "";
#else
static char tracePrefix[] = "";

Если вы получаете сообщение об ошибке при попытке запуска NanoEngineer-1, в котором упоминается нечто похожее на "невозможно импортировать имя GL_ARRAY_BUFFER_ARB", измените строки в следующих файлах

/usr/local/bin/NanoEngineer1_0.9.2.app/program/graphics/drawing/setup_draw.py
/usr/local/bin/NanoEngineer1_0.9.2.app/program/graphics/drawing/GLPrimitiveBuffer.py
/usr/local/bin/NanoEngineer1_0.9.2.app/program/prototype/test_drawing.py

которые выглядят следующим образом:

from OpenGL.GL import GL_ARRAY_BUFFER_ARB
from OpenGL.GL import GL_ELEMENT_ARRAY_BUFFER_ARB

выглядеть следующим образом:

from OpenGL.GL.ARB.vertex_buffer_object import GL_ARRAY_BUFFER_AR
from OpenGL.GL.ARB.vertex_buffer_object import GL_ELEMENT_ARRAY_BUFFER_ARB

Я также нашел дополнительный текстовый файл для устранения неполадок, который был удален, но вы можете найти его здесь

Ответ 2

вам просто нужно:

sudo apt-get install gcc.

Ответ 3

apt-get install python-dev

... решил проблему для меня.

Ответ 4

sudo apt-get -y install python-software-properties && \
sudo apt-get -y install software-properties-common && \
sudo apt-get -y install gcc make build-essential libssl-dev libffi-dev python-dev

Вам нужны libssl-dev и libffi-dev, если вы особенно пытаетесь установить библиотеки криптографии python или зависящие от него библиотеки python (например, возможно)

Ответ 5

ошибка может быть вызвана одним из нескольких недостающих пакетов. Ниже команда установит несколько пакетов, таких как g++, gcc и т.д.

sudo apt-get install build-essential