Cross compile Ice-E to ARM architecture
I am currently trying to cross compile Ice-E for an ARM architecture, but I think I am doing this in a bad way.
I downloaded Ice-E by doing :
git clone -b 3.6 https://github.com/zeroc-ice/icee.git --recursive
So, firstly I tried to compile Ice-E on my Ubuntu 14.04. For that, I compiled Ice in the "ice" directory by doing a simple
make. It worked.
Then, I returned in the Ice-E root directory, and I edited the Makefile like that :
- prefix = /my/directory/.......
- OPTIMIZE = yes
- ICEE_TARGET_OS = debian
- HOST = x86_64-linux-gnu
Finally, I did
make CC=gcc CXX=g++ AR=ar STRIP=strip. (If I don't add CC=.. CXX=.., I get an error like "x86_64-linux-gnu-g++ does not exist, and I think I understand why").
It worked. Then
make install, and I obtained in my install directory the bin, include, lib, python, share and slice directories. Ok, everything seemed fine (except that for example, in the lib directory, I don't have any lib like "libIceE.so", but only libs like "libIce.so", is it normal ?).
Now, I would like to cross compile Ice-E using arm-linux-gnueabi. So, for that, in the Makefile :
- HOST = arm-linux-gnueabihf
I use :
make CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabi-g++ AR=arm-linux-gnueabi-ar STRIP=arm-linux-gnueabi-strip CPPFLAGS+=-I/home/***/arm_third_parties/bzip2-1.0.6_arm/install/include LDFLAGS+="-L/home/***/arm_third_parties/bzip2-1.0.6_arm/install/lib -L/home/***/arm_third_parties/openssl-arm/install/lib"
These paths leads to cross-compiled third parties (bzip2 and openssl).
During compilation, at the step "Creating library: libIceUtil.so.3.6.3", I get this error :
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: failed to merge target specific data of file cpp/src/IceUtil/arm-linux-gnueabihf/pic/Timer.o /usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: error: cpp/src/IceUtil/arm-linux-gnueabihf/pic/Unicode.o uses VFP register arguments, cpp/lib/arm-linux-gnueabihf/libIceUtil.so.3.6.3 does not
It is only an example, there are a lot of similar errors.
What can I do ?
Note that when I use arm-linux-gnueabihf instead of arm-linux-gnueabi I get the same error.
Thank you, and sorry for my bad english.