Depuración del error " gcc: error: x86 64-linux-gnu-gcc: No hay tal archivo o directorio"


Estoy tratando de construir: https://github.com/kanzure/nanoengineer

Pero parece que se equivoca en:

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 definitivamente existe en /usr/bin (Es un enlace simbólico) y el objetivo definitivamente existe también. Me parece que el Makefile no se generó correctamente, tal vez hay una bandera que se debe pasar antes de especificar x86_64-linux-gnu-gcc? Tampoco estoy seguro de lo que se supone que debe lograr especificar x86_64-linux-gnu-gcc.

Finalmente, esto makefile fue generado por configure, así que una vez que acotemos la causa del error, tendré que averiguar qué archivos modificar para solucionar esto. (Yo mismo soy un tipo de CMake, pero por supuesto no elegí el sistema de construcción para este proyecto.) Mi sistema operativo es Debian.

He intentado construir esta rama también: https://github.com/kanzure/nanoengineer/branches/kirka-updates

Si puede intentar hacer que esto se base en su sistema, ¡lo agradecería mucho! ¡Gracias!

Author: cat pants, 2014-03-22

5 answers

Después de una buena cantidad de trabajo, pude conseguir que se construyera en Ubuntu 12.04 x86 y Debian 7.4 x86_64. Escribí una guía a continuación. ¿Puede intentar seguirlo para ver si resuelve el problema?

Si no, por favor, hágame saber dónde se queda atascado.

Instalar Dependencias comunes

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

Instalar 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

Instalar Numeric 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

Instalar 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

Instalar Nanoingenier

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

Solución de problemas

En Debian Jessie, recibirá el mensaje de error que cant pants mencionó. Parece haber un problema en los scripts de automake. x86_64-linux-gnu-gcc se inserta en CFLAGS y gcc interpretará eso como el nombre de uno de los archivos fuente. Como solución alternativa, vamos a crear un archivo vacío con ese nombre. Vacío para que no cambie el programa y ese mismo nombre para que el compilador lo recoge. Desde el directorio nanoengineer clonado, ejecute este comando para hacer feliz a gcc (es un hack sí, pero funciona)...

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

Si recibe un mensaje de error al intentar compilar HDF5 de la siguiente manera: "error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments", entonces modifique el archivo perform/zip_perf.c, línea 548 para parecerse a la siguiente y luego volver a ejecutar make...

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

Si recibe un mensaje de error sobre Numeric / arrayobject.h no se encuentra al construir Nanoingenier, intente ejecutar

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

Si recibe un mensaje de error similar a "TRACE_PREFIX undeclared", modifique el archivo sim/src/simhelp.c líneas 38 a 41 para tener este aspecto y volver a ejecutar make:

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

Si recibe un mensaje de error al intentar lanzar NanoEngineer-1 que menciona algo similar a "no se puede importar el nombre GL_ARRAY_BUFFER_ARB", modifique las líneas de la siguiente manera files

/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

Que se ven así:

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

Para tener este aspecto:

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

También encontré un archivo de texto de solución de problemas adicional que se ha eliminado, pero lo puedes encontrar aquí

 73
Author: mdadm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-31 09:02:42

Solo necesitas:

sudo apt-get install gcc.
 22
Author: Liao Zhuodi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-22 02:52:05
apt-get install python-dev

...resuelto el problema para mí.

 17
Author: nottinhill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-11 17:55:43

El error puede deberse a uno de varios paquetes que faltan. El siguiente comando instalará varios paquetes como g++, gcc, etc.

sudo apt-get install build-essential
 16
Author: StackUP,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-05 02:50:42

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

Necesita el libssl-dev y libffi-dev si especialmente está tratando de instalar bibliotecas de criptografía de python o bibliotecas de python que dependen de él(por ejemplo, ansible)

 7
Author: Komu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-12 09:37:09