GNU/Linux >> Tutoriales Linux >  >> Linux

La compilación Gcc no puede calcular el sufijo de los archivos de objetos:no se puede compilar

Este problema es causado por el problema de la ruta de la biblioteca de enlaces dinámicos cuando los programas de prueba intentan vincularse con libmpc/libmpfr/libgmp.

Agregue debajo de la variable de entorno para permitir ld enlace contra el tan correcto archivo:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/mpc/lib/

Luego intente compilar gcc nuevamente.


"Construir GCC no es trivial, pero no es difícil si sigue las instrucciones cuidadosamente. Muchas personas se apresuran a intentar construirlo sin leer correctamente los documentos de instalación y cometen uno o más de estos errores comunes:

  1. no ejecute ./configure desde gcc src dir (esto no es compatible) => debe ejecutar configure desde fuera del directorio fuente de gcc

  2. Nota:si GCC se vincula dinámicamente a las bibliotecas de requisitos previos (GMP/MPFR/MPC), las bibliotecas compartidas deben estar en la ruta del enlazador dinámico (LD_LIBRARY_PATH), tanto al compilar gcc como al usar el compilador instalado".

Ejemplo simple (sin enlace dinámico a GMP/MPFR/MPC):

tar xzf gcc-4.8.0.tar.gz
cd gcc-4.8.0
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.8.0/configure --prefix=/opt/gcc-4.8.0 
make
make install

Fuentes:Advogato Doc -GNU Doc


Linux
  1. No se puede compilar Python.h – Error de instalación de Websockify

  2. Linux:¿diferentes formatos de archivos de objetos en Linux?

  3. vinculando <iostream.h> en Linux usando gcc

  4. enlace simbólico:encuentra todos los archivos que enlazan con este archivo

  5. libaio.so.1:no se puede abrir el archivo de objeto compartido

Ejemplos de comandos Objcopy de Linux para copiar y traducir archivos de objetos

nm :Comando para listar los símbolos en archivos de objetos.

Enlace estático de función de biblioteca compartida en gcc

¿Cómo puedo encontrar los archivos de encabezado del lenguaje de programación C en Linux?

ERROR:ld.so:el objeto LD_PRELOAD no se puede precargar:ignorado

¿Puede Clang compilar código con GCC compilado .a libs?