Ver la versión completa : Ayuda con Floating Point por sw PLISS!
Estaba intentando instalar el Klimt para ver si podia hacer alguna chapucilla en 3D, pero los ejemplos se niegan a compilarse.
El mensaje de error es el siguiente:
/usr/lib/gcc/arm-elf/3.4.1/../../../../arm-elf/bin/ld: ERROR: /usr/lib/gcc/arm-elf/3.4.1/../../../../arm-elf/lib/libstdc++.a(XxXxXxX.o) uses hardware FP, whereas simple.elf uses software FP
Este mensaje me aparece bastantes veces (cambiando las XxXxXxX en cada caso). Deduzco que libstdc++.a no esta compilada para usar FP por soft. Como puedo arreglar eso? Alguien la tiene ya compilada y me la puede pasar?
Uso gcc 3.4.1 bajo Cygwin. Espero una ayudita pronto porque me apetecia bastante ver de lo que es capaz la GP con Opengl...
PD. Tambien me dan muchos warnings del tipo:
x.o supports interworking, whereas y.elf does not
Alguien sabe que significa eso del interworking y si es muy malo? :confused:
Gracias a todos.
NOP. Posiblemente la libreria esta bien.
Son problemas de las opciones de compilacion.
Te lo digo porque a mi me salian esos mismos errores y sin cambiar nada de las librerias, solo cambiando cosas de las opciones de compilacion consegui que se quitaran y que compilara.
-- Procura que el crt0.o sea lo primero que se linke, es MUY importante.
Lo del interworking, seguro que me equivoco, pero me suena que
es soporte para instrucciones de 16bit y 32bit.
Aiken
Lo primero gracias por contestar, pense que por aqui no podria haber nadie que pudiera echarme una mano :)
Yo decia que podia ser por la libreria porque en las instrucciones para instalar el Klimt dicen muy clarito que compilemos todo con FP por sw. Cito textualmente:
"Para desarrollar con Klimt for GP32, en necesario tener instalado en el sistema un entorno
de compilación cruzada hacia la GP32 basado en en una versión moderna de GCC. Además, es
necesario contar con el SDK de Mr.Mirko para toda la mecánica propia de la consola. Ambos
deben estar compilados soportando operaciones de coma flotante POR SOFTWARE (-msoft-float)."
Las instrucciones completas estan en el readme que viene con el Klimt o en la pagina oficial: http://on.to/maulo
Como ahi dice que necesito el gcc compilado con ese soporte y yo no se como lo compile en su dia (tire de bgcc) pues viendo que me dice que tengo una de sus librerias incompatibles supuse que seria por eso...
De todas maneras adjunto el Makefile que utilizo. Es el que venia con los ejemplos, solo que modificado con mis paths, asi que deberia funcionar.
Gracias de nuevo
Ya se lo he dicho a Locke por correo, pero lo pongo aquí también.
Creo que me colé en el Makefile de los ejemplos. Al parecer las cuatro librerías standard que se linkan (-lstdc++ -lgcc -lc y -lm) no son necesarias y pueden crear problemas de compilación si no se han compilado sin thumb-interworking o FP por software.
Si dan problemas, debería bastar con quitar sus referencias del Makefile.
Saludos
Gracias por contestar aqui Maulo. Pensaba dejar unas instrucciones claras por aqui cuando lo consiguiese, pero asi me ahorras trabajo ñ_ñ
Ya te lo mande al mail, pero por si no lo has leido ahora el problema que tengo es que Mirko no da todos los fuentes de su SDK ya que parece ser que las funciones de acceso a la SMC son propiedad de Samsung y no puede distribuir el codigo, y el binario que trae esta compilado sin FP por sw. Como lo solucionaste tu?
Thx por la atencion
Escrito originalmente por Locke
y el binario que trae esta compilado sin FP por sw.
y como es posible que funcione en la gp32 si la gp32 no tiene FP por hw?? estas seguro que es ese el problema?
Aiken
si quieres intento pasarte la stdc++ que tengo yo para asegurarnos que no es eso
a ver si me acuerdo cuando llegue a casa
Aiken
Funcionara porque no utilizara ninguna operacion FP. Lo de la libstdc++ ya no es problema, eso ya lo arregle, no hace falta que te molestes ;)
Los de Samsung obligaron a Mirko a quitar los fuentes de la librería de smc y, efectivamente, los binarios que trae la versión 0.9 de su sdk no están compilados con soporte FP por software.
Yo lo solucioné cogiendo los fuentes de la librería smc de una versión anterior del sdk (la 0.85) y compilándolos junto con el resto del sdk para sustituir al binario que trae la 0.9 . Hasta ahora me ha funcionado bien, aunque no sé en que situación "legal" con respecto a licencias se encuentra este sdk híbrido.
Tengo que decir que la mayoría del desarrollo de la klimt y los ejemplos lo he hecho con el sdk 0.85 íntegro, sin mezclarlo con ninguna otra versión. Tengo el sdk 0.9 relativamente poco testeado.
Por otro lado, me da la impresión que los de on.to me están perdiendo correos. Voy a ver si lo soluciono . . .
Ya me puse en contacto con Mirko y me paso lo que faltaba. Tengo compilado todo el SDK v0.9 con FP y ya funciona perfectamente! :) Ejemplos compilados y probados, todo esto bajo cygwin.
Asi que ya sabeis, si alguien mas quiere probar y tiene algun problema puede preguntarme, que yo encantao de echar una mano.
En cuanto vuelva de la facul me pongo a hacer algunos ejemplillos y ya los ire posteando, aunque me parece a mi que si la demo de los 4 cubos texturados va tan lenta no se yo que pasara con unos pocos cientos de poligonos en pantalla... xDD
Bueno, muchas gracias a Maulo y a Mirko. A seguir con el buen trabajo!
Me alegro de que ya tengas todo funcionando :) , ¡y encima bajo cygwin!
Es cierto que la primera versión del ejemplo de los cubos queda bastante lenta.
Estoy preparando otra release basada en una versión más moderna de la klimt y con la corrección de color (que es lo que se está comiendo la mayor parte de frames) activable/desactivable en tiempo de ejecución.
Con esta versión, el ejemplo de los cuatro cubos texturados ha pasado a funcionar a unos 15/16 fps constantes y se aprecia mucho más fluido. Lo que ocurre es que todo esto es bastante inestable, y la consola se reseta aleatoriamente. A ver si le puedo dedicar un poco más de tiempo y acabar la release pronto.
Muchas gracias, sigue asi, yo intentare hacer alguna demo para probar estas y futuras versiones, aunque no garantizo nada (hace demasiao que no toco opengl...) :D
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.