[Lazarus-es] Error en compilación cruzada

Jose Antonio. Cuello Principal jcuello en artextrading.com
Vie Jul 26 09:46:43 CEST 2013


Finalmente he encontrado el cuando del fallo aunque no llego a entender el por qué. 


Da el error si utilizo el archivo de configuración .fcp.cfg en el directorio home sacado de la wiki de lazarus 


http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM 


parece ir correctamente sin él por lo que lo he renombrado y ya puedo compilar. Pongo el contenido del archivo por si alguien puede saber que sobra o falta para que no de el error. 


Un saludo. 


------------- .fpc.cfg ------------ 



#INCLUDE /etc/fpc.cfg 
#DEFINE DEMOTEST 
#DEFINE DEMOTEST1 
#DEFINE LAZARUS 


-Fu/usr/lib/fpc/2.6.2/units/$fpctarget/* 
-Fl/usr/lib/fpc/2.6.2/units/$fpctarget/rtl/ 


-a 
-Sd 
-Xd 
-Xs 


-O- 


#IFDEF CPUARM 
-XP/home/josea/lazarus/fpc/binutils/ 
-Xr/usr/lib/fpc/2.6.2/units/arm-linux/rtl/ 
-Xr/home/josea/lazarus/fpc/libcross 
-XR/home/josea/lazarus/fpc/ 
-darm 
-Tlinux 
#ENDIF 

----- Mensaje original -----

De: "Jose Antonio. Cuello Principal" <jcuello en artextrading.com> 
Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> 
Enviados: Jueves, 25 de Julio 2013 15:31:25 
Asunto: Re: [Lazarus-es] Error en compilación cruzada 


Hola, he mirado lo que me comentas, pero no he visto nada significativo 


He vuelto a reinstalar todo de nuevo (Ubuntu 12.04 i386 + Lazarus + FPC 2.6.2 + BinUtils 2.23) 


y sigue dándome el error "Error: Assembler /home/josea/lazarus/fpc/binutils/as not found" cuando ejecuto lazarus con el usuario, mientras que con el usuario root no da error. He probado con "sudo" y también da el error. 


He ejecutado desde consola y comparado los logs. (Muestro la parte diferente de los dos logs) 


USER 



TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler params changed for FCL 1.0.1 
Old=" -MObjFPC -Scghi -O1 -g -gl -vewnhi -Fu/home/josea/lazarus/packager/registration/ -FU/home/josea/lazarus/packager/units/arm-linux/ -l fcllaz.pas" 
Now=" -MObjFPC -Scghi -O1 -Parm -g -gl -vewnhi -Fu/home/josea/lazarus/packager/registration/ -FU/home/josea/lazarus/packager/units/arm-linux/ -l fcllaz.pas" 
State file="/home/josea/lazarus/packager/units/arm-linux/FCL.compiled" 
[TExternalToolList.Run] CmdLine="/usr/bin/fpc -B -MObjFPC -Scghi -O1 -Parm -g -gl -vewnhi -Fu/home/josea/lazarus/packager/registration/ -FU/home/josea/lazarus/packager/units/arm-linux/ -l fcllaz.pas" WorkDir="/home/josea/lazarus/packager/registration/" 






ROOT 



TBuildManager.CheckIfProjectNeedsCompilation SrcFile outdated Project 
TCompiler.Compile WorkingDir="/tmp/" CompilerFilename="/usr/bin/fpc" CompilerParams=" -MObjFPC -Scghi -O1 -Tlinux -Parm -g -gl -vewnhi -Filib/arm-linux -Fl/opt/gnome/lib -Fu/home/josea/lazarus/lcl/units/arm-linux/gtk2 -Fu/home/josea/lazarus/lcl/units/arm-linux -Fu/home/josea/lazarus/components/lazutils/lib/arm-linux -Fu/home/josea/lazarus/packager/units/arm-linux -FUlib/arm-linux/ -l -dLCL -dLCLgtk2 /tmp/project1.lpr" 
[TCompiler.Compile] CmdLine="/usr/bin/fpc -B -MObjFPC -Scghi -O1 -Tlinux -Parm -g -gl -vewnhi -Filib/arm-linux -Fl/opt/gnome/lib -Fu/home/josea/lazarus/lcl/units/arm-linux/gtk2 -Fu/home/josea/lazarus/lcl/units/arm-linux -Fu/home/josea/lazarus/components/lazutils/lib/arm-linux -Fu/home/josea/lazarus/packager/units/arm-linux -FUlib/arm-linux/ -l -dLCL -dLCLgtk2 /tmp/project1.lpr" 




La clase que verifica o lanza el método CheckIfProjectNeedsCompilation es distinta, a demás cuando es root incluye varios parámetros como "-Filib/arm-linux" que no están en el usuario. 
Puede ser el problema? 


Agradezco mucho la ayuda, 


Un cordial saludo. 

----- Mensaje original -----

De: "Rafael Bidegain" <r.bidegain en gmail.com> 
Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> 
Enviados: Martes, 23 de Julio 2013 15:23:10 
Asunto: Re: [Lazarus-es] Error en compilación cruzada 


Hola José Antonio. 





El 23 de julio de 2013 02:37, Jose Antonio. Cuello Principal < jcuello en artextrading.com > escribió: 




Muchas gracias por tu respuesta. 


He probado el "whereis" y "which" y me responde correctamente la ruta al "as". 


Tras muchas pruebas se me ocurrió ejecutar lazarus como root y me compiló correctamente las LCL. 


Creo que realmente da ese error pero debe ser otro el archivo que no encuentra o no puede leer el usuario por temas de permisos. 


Alguna sugerencia sobre que archivos o librerías usa el "as" para poder revisar los permisos 


Muchas gracias de nuevo y un saludo. 




no creo que sea un problema de permisos. me inclino a pensar que es un problema de paths 


logueate como root y mirá el path con el comando env y despues hacé lo mismo con el usuario normal y fijate si el usuario root está accediendo a un directorio que no tiene ese usuario. 

nota: root accede normalmente al directorio sbin, no creo que ese sea el problema debe haber otra diferencia. 

las dependencias del paquete que contiene "as" en debian están acá: 
http://packages.debian.org/wheezy/binutils 

si ejecutas "man as" al final de todo vas a ver otros archivos que trabajan directamente con as. 

si tenés problemas para encontrar las dependencias decinos que distribucion de gnu/linux estás usando para pasarte el comando correcto. 




saludos cordiales -- 
Rafael Bidegain 

Ya que los cuerdos no hablan, hablará el loco. 
(The Fool, Padraic Pearse) 

# yo quiero educación libre. ¡YA! 


_______________________________________________ 
Lazarus-es mailing list 
Lazarus-es en lists.lazarus.freepascal.org 
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es 


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130726/bb9fc89f/attachment-0002.html>


More information about the Lazarus-es mailing list