Отладка ошибки " gcc: ошибка: 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 предполагается выполнять.

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

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

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

5 ответов


после изрядного количества работы я смог заставить его строить на 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 вы получите сообщение об ошибке, о котором упоминалось в cant pants. Кажется, в сценариях automake есть проблема. x86_64-linux-gnu-gcc вставить в CFLAGS и gcc будет интерпретировать это как имя одного из исходных файлов. В качестве обходного пути, давайте создайте пустой файл с таким именем. Пусто, чтобы он не изменил программу и само это имя, чтобы компилятор взял его. Из клонированного каталога nanoengineer запустите эту команду, чтобы сделать gcc счастливым (это хак да, но он работает) ...

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

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

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

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

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

если появляется сообщение об ошибке, подобное "TRACE_PREFIX undeclared", измените файл 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

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


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

sudo apt-get install gcc.

apt-get install python-dev

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


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

sudo apt-get install build-essential

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 (например, ansible)