[omniORB] Crosscompiling

Robert Schwebel r.schwebel at pengutronix.de
Thu Jun 9 09:35:30 BST 2005


Hi, 

Crosscompiling omniORB currently does not work: 

----------8<----------8<----------8<----------8<----------
rsc at europa:~/tmp/omniORB-4.0.6> ./configure --build=i686-unknown-linux-gnu --host=arm-softfloat-linux-gnu
[...]
rsc at europa:~/tmp/omniORB-4.0.6> make 
[...]
make[3]: Entering directory `/home/rsc/tmp/omniORB-4.0.6/src/lib/omnithread'
../../../bin/omkdepend -D__cplusplus -D__GNUG__ -D__GNUC__ -D_REENTRANT -DNoNanoSleep -DPthreadDraftVersion=10 -I. -I. -I../../../include -I../../../include -D__OSVERSION__=2 -D__linux__ -D__arm__ posix.cc
/bin/sh: ../../../bin/omkdepend: cannot execute binary file
+ ../../../bin/scripts/omkdirhier static
arm-softfloat-linux-gnu-g++ -c -O2 -Wall -Wno-unused -fexceptions  -D_REENTRANT -DNoNanoSleep -DPthreadDraftVersion=10 -I. -I. -I../../../include -I../../../include -D__OSVERSION__=2 -D__linux__ -D__arm__ -o static/posix.o posix.cc
+ rm -f static/libomnithread.a
+ ar cq static/libomnithread.a static/posix.o
+ arm-softfloat-linux-gnu-ranlib static/libomnithread.a
+ ../../../bin/scripts/omkdirhier shared
arm-softfloat-linux-gnu-g++ -c -fPIC -O2 -Wall -Wno-unused -fexceptions  -D_REENTRANT -DNoNanoSleep -DPthreadDraftVersion=10 -I. -I. -I../../../include -I../../../include -D__OSVERSION__=2 -D__linux__ -D__arm__  -o shared/posix.o posix.cc
+ rm -f shared/libomnithread.so.3.1
+ arm-softfloat-linux-gnu-g++ -shared -Wl,-soname,libomnithread.so.3 -o shared/libomnithread.so.3.1 -L../../../lib -L../../../lib shared/posix.o -lpthread
+ /usr/bin/install -c -m 0644 static/libomnithread.a ../../../lib
+ /usr/bin/install -c -m 0644 shared/libomnithread.so.3.1 ../../../lib
+ cd ../../../lib
+ rm -f libomnithread.so.3
+ ln -s libomnithread.so.3.1 libomnithread.so.3
+ rm -f libomnithread.so
+ ln -s libomnithread.so.3 libomnithread.so
make[3]: Leaving directory `/home/rsc/tmp/omniORB-4.0.6/src/lib/omnithread'
making export in src/lib/omniORB...
make[3]: Entering directory `/home/rsc/tmp/omniORB-4.0.6/src/lib/omniORB'
+ ../../../bin/scripts/omkdirhier omniORB4
/usr/bin/python ../../../bin/scripts/distdate.py <../../../update.log >omniORB4/distdate.hh
../../../bin/omniidl -bcxx -Wba -p../../../src/lib/omniORB -Wbdebug -v -ComniORB4 ../../../idl/Naming.idl


omniidl: ERROR!

omniidl: Could not open IDL compiler module _omniidlmodule.so
omniidl: Please make sure it is in directory /home/rsc/tmp/omniORB-4.0.6/lib
omniidl: (or set the PYTHONPATH environment variable)

omniidl: (The error was '/home/rsc/tmp/omniORB-4.0.6/lib/_omniidlmodule.so: ELF file OS ABI invalid')


make[3]: *** [omniORB4/Naming.hh] Error 1
make[3]: Leaving directory `/home/rsc/tmp/omniORB-4.0.6/src/lib/omniORB'
make[2]: *** [export] Error 1
make[2]: Leaving directory `/home/rsc/tmp/omniORB-4.0.6/src/lib'
make[1]: *** [export] Error 1
make[1]: Leaving directory `/home/rsc/tmp/omniORB-4.0.6/src'
make: *** [all] Error 1
rsc at europa:~/tmp/omniORB-4.0.6>
----------8<----------8<----------8<----------8<----------

So the makefiles try to run cross-compiled binaries on the build
machine, which is wrong. Automake would use CC_FOR_BUILD & friends for
that kind of problem, but I've no idea at the moment how to fix that
with the current makefiles. 

Does anyone with more intimate knowledge of the omniorb makefiles have
an idea how to fix this? 

Robert
-- 
 Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry
   Handelsregister:  Amtsgericht Hildesheim, HRA 2686
     Hannoversche Str. 2, 31134 Hildesheim, Germany
   Phone: +49-5121-206917-0 |  Fax: +49-5121-206917-9




More information about the omniORB-list mailing list