script make how example create python gcc makefile autotools

python - how - makefile linux c



Depurando el error "gcc: error: x86_64-linux-gnu-gcc: No existe tal archivo o directorio" (5)

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

Si no, déjame saber dónde te quedas 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 Numérico 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 Nanoengineer

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

Solución de problemas

En Debian Jessie, recibirás el mensaje de error que no puedo mencionar. Parece que hay un problema en los scripts automake. x86_64-linux-gnu-gcc se inserta en CFLAGS y gcc lo interpretará como el nombre de uno de los archivos de origen. 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 recoja. Desde el directorio de 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 en la línea de: "error: la llamada a ''__open_missing_mode'' se declaró con un error de atributo: abra con O_CREAT en el segundo argumento necesita 3 argumentos", luego modifique el archivo perform / zip_perf.c, línea 548 para parecerse a lo siguiente y luego ejecutar de nuevo ...

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

Si recibe un mensaje de error que indica que no se encontró Numeric / arrayobject.h al compilar Nanoengineer, 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 no declarado", modifique el archivo sim / src / simhelp.c líneas 38 a 41 para que se vea así y vuelva a ejecutar make:

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

Si recibe un mensaje de error al intentar iniciar NanoEngineer-1 que menciona algo similar a "no se puede importar el nombre GL_ARRAY_BUFFER_ARB", modifique las líneas en los siguientes archivos

/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 parecen a esto:

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

para parecerse a esto:

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 puede encontrarlo here

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

Pero parece que hay errores 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 también existe. 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 cumplir x86_64-linux-gnu-gcc .

Finalmente, este makefile fue generado por la configuración, así que una vez que reduzcamos la causa del error, tendré que averiguar qué archivos modificar para corregir esto. (Soy un tipo de persona CMake, pero por supuesto que no elegí el sistema de compilación para este proyecto). Mi sistema operativo es Debian.

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

Si puedes intentar que esto se construya en tu sistema, ¡te lo agradecería mucho! ¡Gracias!


Solo necesitas:

sudo apt-get install gcc.


el error puede ser debido a uno de varios paquetes faltantes. El siguiente comando instalará varios paquetes como g ++, gcc, etc.

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

Necesitará libssl-dev y libffi-dev si está intentando instalar bibliotecas de criptografía de Python o librerías de Python que dependen de él (por ejemplo, ansible)


apt-get install python-dev

... resuelto el problema para mi