Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: u135246 en 17 Julio 2017, 19:12 pm



Título: HDF5 con compilaci'on en arm
Publicado por: u135246 en 17 Julio 2017, 19:12 pm
Hola, estoy intentando compilar en ubuntu pero sobre arm-linux uno de los ejemplos de HDF5 y me da un error:

compilo con: arm-linux-gnueabihf-g++ create.cpp -I -lhdf5_serial -lhdf5_cpp -o PRUEBA

y me da el siguiente error:

/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: no se puede encontrar -lhdf5_cpp
collect2: error: ld returned 1 exit status

Alguien podría ayudarme? Muchas gracias


Título: Re: HDF5 con compilaci'on en arm
Publicado por: ivancea96 en 17 Julio 2017, 20:37 pm
Existe un archivo llamado "hdf5_cpp" o "libhdf5_cpp.o" o algo de este estilo en la carpeta en la que estás compilando? Quizás en otra carpeta?


Título: Re: HDF5 con compilaci'on en arm
Publicado por: u135246 en 17 Julio 2017, 21:30 pm
existe archivos HDF5.h , libhdf5_cpp y libhdf5_serial, pero no los que me comentas


Título: Re: HDF5 con compilaci'on en arm
Publicado por: ivancea96 en 18 Julio 2017, 01:15 am
Bien, "libhdf5_cpp". Qué extensión tiene?


Título: Re: HDF5 con compilaci'on en arm
Publicado por: u135246 en 18 Julio 2017, 02:19 am
libhdf5_cpp.so


Título: Re: HDF5 con compilaci'on en arm
Publicado por: ivancea96 en 18 Julio 2017, 02:26 am
Si está en la misma ruta que los otros archivos, no debería dar problema.

Por cierto, por qué ese "-I"?


Título: Re: HDF5 con compilaci'on en arm
Publicado por: u135246 en 18 Julio 2017, 02:52 am
Está en la misma ruta y da problemas. Si quita el -I me da el siguiente los siguientes errores:

/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: no se puede encontrar -lhdf5_serial
/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: no se puede encontrar -lhdf5_cpp
collect2: error: ld returned 1 exit status

Gracias


Título: Re: HDF5 con compilaci'on en arm
Publicado por: ivancea96 en 18 Julio 2017, 11:49 am
El -I espera después una ruta en la cual buscar archivos para los includes. Si no tienes una ruta que agregarle, quítalo. Te quita el error porque interpreta "-l..." como la ruta, cosa que no está bien.

El error real es el último que pusiste, no encuentra ninguno de los 2 archivos.

Haz una prueba. Pon "-L ruta_de_los_archivos". -L es como -I, para poner la ruta, pero -L es para los archivos para el linking (que es lo que está tirando este error)


Título: Re: HDF5 con compilaci'on en arm
Publicado por: u135246 en 18 Julio 2017, 12:51 pm
He metido _L con la ruta de los archivos:

arm-linux-gnueabihf-g++ create.cpp -L/usr/arm-linux-gnueabihf/include -llibhdf5_serial -llibhdf5_cpp -o PRUEBA

y me sigue dando el mismo error:

/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: no se puede encontrar -llibhdf5_serial
/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: no se puede encontrar -llibhdf5_cpp
collect2: error: ld returned 1 exit status


Título: Re: HDF5 con compilaci'on en arm
Publicado por: ivancea96 en 18 Julio 2017, 13:25 pm
Puesta la ruta, prueba a poner: "-llibhdf5_serial" o "-lhdf5_serial" o "-llibhdf5_serial.so"
En priuncipio, debería funcionar con "-lhdf5_serial", sin el lib y sin la extensión, pero vaya


Título: Re: HDF5 con compilaci'on en arm
Publicado por: u135246 en 18 Julio 2017, 13:42 pm
me sigue dando el mismo error en cualquiera de los casos.

Puede ser un problema de las librerías?

Muchas gracias


Título: Re: HDF5 con compilaci'on en arm
Publicado por: ivancea96 en 18 Julio 2017, 14:40 pm
Ese error lo da cuando no encuentra el archivo.

Lo que te puedo decir, es que pruebes a mover los .so a varios lugares. Este error es algo molesto. Además, yo no utilizo Linux, así que no tengo información mucho más detallada del tema.

Por cierto, estoy leyendo ahora que pusiste: "-L/usr/arm-linux-gnueabihf/include". ¿Include? Los .so suelen estar en una carpeta llamada lib. En include suelen estar los headers. Asegúrate de que la ruta es la correcta en la que están los .so.


Título: Re: HDF5 con compilaci'on en arm
Publicado por: u135246 en 19 Julio 2017, 09:54 am
He probado todas las posibilidades y no me funciona. podrías explicarme paso a paso como hacer la compilación cruzada de un programa con HDF5 en arm-linux desde ubuntu? Muchas gracias


Título: Re: HDF5 con compilaci'on en arm
Publicado por: ivancea96 en 19 Julio 2017, 13:41 pm
En primer lugar, estás seguro de que los .so están en "/usr/arm-linux-gnueabihf/include"?

Dicho esto, no voy a tener mucha más información. Yo no trabajo con Linux.