Bienvenido: Ingresar
location: Diferencias para "WebHome/HerramientasProgramacion/ErroresFrecuentes"
Diferencias entre las revisiones 1 y 12 (abarca 11 versiones)
Versión 1 con fecha 2010-09-08 20:58:48
Tamaño: 1525
Comentario:
Versión 12 con fecha 2011-03-15 14:41:20
Tamaño: 4089
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 1: Línea 1:
## page was renamed from HerramientasProgramacion/ErroresFrecuentes
## page was renamed from ErroresFrecuentes
Línea 5: Línea 7:
===Problema===
Al realizar un make en una aplicación tenemos el siguiente error
{{{
teknikas@td03005:~/prueba$ make
arm-elf-as -mcpu=arm7tdmi -mapcs-32 -g head.s -o head.o
arm-elf-gcc -Wall -O0 -g -mcpu=arm7tdmi -c main.c
arm-elf-gcc: error trying to exec 'cc1': execvp: No existe el fichero ó directorio
}}}
===Solución===
=== Error 1 ===
'''arm-elf-gcc: error trying to exec 'cc1': execvp: No existe el fichero ó directorio'''

==== Solución ====
Línea 18: Línea 15:
#cd /opt/gnu-arm/bin
#ln -s /opt/gnu-arm/libexec/gcc/arm-elf/4.3.2/cc1 ./cc1
#ls -l
root@td03005:/# cd /opt/gnu-arm/bin
root@td03005:/opt/gnu-arm/bin# ln -s /opt/gnu-arm/libexec/gcc/arm-elf/4.3.2/cc1 ./cc1
root@td03005:/opt/gnu-arm/bin# ls -l
Línea 33: Línea 29:

root@td03005:/opt/gnu-arm/libexec/gcc/arm-elf/4.3.2# ls
cc1 cc1plus collect2 install-tools
Línea 45: Línea 38:
=== Error 2 ===
'''/opt/gnu-arm/bin/../libexec/gcc/arm-elf/4.3.2/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object'''
Línea 46: Línea 41:
==== Solución ====
Instalar la librería correspondiente
{{{
# aptitude install libmpfr1ldbl
}}}
Dependiendo de la versión de linux, pueden no encontrar esta librería, en cuyo caso, prueben con
{{{
# aptitude install libmpfr-dev
}}}
=== Error 3 ===
'''El simulador (arm-elf-insight) no funciona'''
Línea 47: Línea 53:
El problema se produce en el momento de correr el programa, al intentar hacerlo el programa no corre y queda el simulador apuntando a la primer linea del programa.
Línea 48: Línea 55:
==== Solución ====
La posible solución, es verificar que la ruta donde se encuentra la aplicación (los fuentes y el archivo .elf que simulamos) no posea espacios en blanco en sus nombres, si esto es así, renombrar esos directorios o cambiar de lugar el proyecto y volver a intentarlo.
Línea 49: Línea 58:
=== Error 4 ===
'''Las funciones matemáticas y trigonométricas (cos, sqrt, etc.) no funcionan o devuelve error el compilador al tratar de utilizarlas en el código'''
Línea 50: Línea 61:
El problema es producido por no incluir la librería matemática en el momento de enlace (linker) del proyecto y/o sus correspondientes archivos de cabecera

==== Solución ====
   1) se debe incorporar la librería al proyecto, esto se realiza desde el makefile modificando la linea donde se realiza el enlace
Se busca algo como
{{{
$(ELF): $(OBJS)
      $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
}}}

y se agrega -lm al final de la linea indicando la utilización de la librería matemática.

{{{
$(ELF): $(OBJS)
      $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lm
}}}

   2) se debe agregar
    {{{ #include <math.h> }}} en el o los ficheros donde se utilizarán funciones matemáticas

   3) las funcione matemática deben incorporar una f al final para indicar resultado de tipo float
      (sqrt(x) es sqrtf(x) , cos(x) es cosf(x), etc)

=== Error 5 ===
'''Al instalar la versión de 64 bits, el botón "Comenzar Instalación" permanece deshabilitado'''

==== Solución ====
Se debe a un problema en el la parte gráfica de la instalación, para evitarla, abra una consola de texto (esto se logra con <Alt>F2 por ejemplo) dentro de esta consola entre con su nombre y password de usuario, diríjase al directorio donde tiene el instalable y pruebe correr el programa como lo venia intentando.

Ahora las opciones de instalación estarán en modo texto, evitando la parte gráfica
 
=== Error 6 ===
'''El instalador devuelve un error de dependencia que no encuentra la librería libmpfr'''

==== Solución ====
Proceda como la solución del Error 2
 

Instalación de Herramientas GNU-ARM

Problemas frecuentes enla instalación y/o ejecución de las herramientas ARM

Error 1

arm-elf-gcc: error trying to exec 'cc1': execvp: No existe el fichero ó directorio

Solución

Se debe realizar un enlace simbólico del cc1 a la carpeta de los binarios.

como root

root@td03005:/# cd /opt/gnu-arm/bin
root@td03005:/opt/gnu-arm/bin# ln -s /opt/gnu-arm/libexec/gcc/arm-elf/4.3.2/cc1 ./cc1
root@td03005:/opt/gnu-arm/bin# ls -l
.....
-rwxr-xr-x 1 root root  2814764 2010-06-10 18:47 arm-elf-strip
lrwxrwxrwx 1 root root       42 2010-09-08 17:29 cc1 -> /opt/gnu-arm/libexec/gcc/arm-elf/4.3.2/cc1
.....

verificar que cc1 tenga permiso de ejecución

root@td03005:/opt/gnu-arm/bin# cd /opt/gnu-arm/libexec/gcc/arm-elf/4.3.2/
root@td03005:/opt/gnu-arm/libexec/gcc/arm-elf/4.3.2# chmod +x cc1
root@td03005:/opt/gnu-arm/libexec/gcc/arm-elf/4.3.2# chmod +x cc1plus
root@td03005:/opt/gnu-arm/libexec/gcc/arm-elf/4.3.2# ls -l
total 50968
-rwxr-xr-x 1 root root 24760130 2010-06-10 18:47 cc1
-rwxr-xr-x 1 root root 27062393 2010-06-10 18:47 cc1plus
-rw-r--r-- 1 root root   292766 2010-06-10 18:47 collect2
drwxr-xr-x 2 root root     4096 2010-06-10 18:47 install-tools

Error 2

/opt/gnu-arm/bin/../libexec/gcc/arm-elf/4.3.2/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object

Solución

Instalar la librería correspondiente

# aptitude install libmpfr1ldbl

Dependiendo de la versión de linux, pueden no encontrar esta librería, en cuyo caso, prueben con

# aptitude install libmpfr-dev

Error 3

El simulador (arm-elf-insight) no funciona

El problema se produce en el momento de correr el programa, al intentar hacerlo el programa no corre y queda el simulador apuntando a la primer linea del programa.

Solución

La posible solución, es verificar que la ruta donde se encuentra la aplicación (los fuentes y el archivo .elf que simulamos) no posea espacios en blanco en sus nombres, si esto es así, renombrar esos directorios o cambiar de lugar el proyecto y volver a intentarlo.

Error 4

Las funciones matemáticas y trigonométricas (cos, sqrt, etc.) no funcionan o devuelve error el compilador al tratar de utilizarlas en el código

El problema es producido por no incluir la librería matemática en el momento de enlace (linker) del proyecto y/o sus correspondientes archivos de cabecera

Solución

  • 1) se debe incorporar la librería al proyecto, esto se realiza desde el makefile modificando la linea donde se realiza el enlace

Se busca algo como

$(ELF): $(OBJS)
      $(CC) $(CFLAGS) $(LDFLAGS)   $^ -o $@

y se agrega -lm al final de la linea indicando la utilización de la librería matemática.

$(ELF): $(OBJS)
      $(CC) $(CFLAGS) $(LDFLAGS)   $^ -o $@ -lm
  • 2) se debe agregar
    •  #include <math.h>  en el o los ficheros donde se utilizarán funciones matemáticas

    3) las funcione matemática deben incorporar una f al final para indicar resultado de tipo float
    • (sqrt(x) es sqrtf(x) , cos(x) es cosf(x), etc)

Error 5

Al instalar la versión de 64 bits, el botón "Comenzar Instalación" permanece deshabilitado

Solución

Se debe a un problema en el la parte gráfica de la instalación, para evitarla, abra una consola de texto (esto se logra con <Alt>F2 por ejemplo) dentro de esta consola entre con su nombre y password de usuario, diríjase al directorio donde tiene el instalable y pruebe correr el programa como lo venia intentando.

Ahora las opciones de instalación estarán en modo texto, evitando la parte gráfica

Error 6

El instalador devuelve un error de dependencia que no encuentra la librería libmpfr

Solución

Proceda como la solución del Error 2

UntitledWiki: WebHome/HerramientasProgramacion/ErroresFrecuentes (última edición 2011-03-15 14:41:20 efectuada por GuillermoSteiner)