Archived
This forum has been archived. Please start a new discussion on GitHub.
Compile Ice-E on raspberry pi
I am trying to compile Ice-E on a raspberry pi. I successfully compiled mcpp, but when I try and compile slice2cpp I get an #error "Unknown architecture". Has anyone successfully done this before? Or does anyone have any ideas on how to fix the Unknown architecture error?
Thanks
Adam
Thanks
Adam
0
Comments
-
Hi,
Ice-E doesn't support the ARM architecture, you will need to modify cpp/include/IceUtil/Config.h to add support for it. We heard some successfull reports of ARM builds for Ice so it should also work for Ice-E. I suggest that you search for "ARM" on the forum for these reports.
Cheers,
Benoit.0 -
Sorry, what I wrote above isn't totally correct. Ice-E supports the ARM architecture. However, the Slice to C++ translator slice2cpp doesn't support being built for ARM. Typically, slice2cpp runs on the development platform (Linux x86 or x86_64) where ARM programs are built with a cross-compiler toolchain (such as the one for Gumstix, see the instructions in the INSTALL.LINUX file from your Ice-E distribution).
Don't you use such a toolchain to build binaries for your raspberry pi?
Cheers,
Benoit.0 -
I am currently using Qt creator on the raspberry pi itself to create and compile projects. However it would not be a big deal to use slice2cpp on my desktop then just move the output files to the raspberry pi. I will try and compile just the Ice-E library.
Thanks
Adam0 -
I got it all to compile on the raspberry pi and ran a test program.
here is how i did it.
Download mcppwget http://prdownloads.sourceforge.net/mcpp/mcpp-2.7.2.tar.gz?download tar xvfz mcpp-2.7.2.tar.gz cd mcpp-2.7.2/ ./configure CFLAGS=-fPIC --enable-mcpplib --disable-shared make make install
Download and build Ice-Ewget http://www.zeroc.com/download/IceE/1.3/IceE-1.3.0-linux.tar.gz tar xvfz IceE-1.3.0-linux.tar.gz cd IceE-1.3.0/ Modify /IceE-1.3.0/cppe/config/Make.rules set GUMSTIC=yes Modify /IceE-1.3.0/cppe/include/Time.h add #include<sys/time.h> after #include <IceE/Config.h> Modify /IceE-1.3.0/cpp/include/Config.h delete the if elseif else statement at the top and just #define ICE_LITTLE_ENDIAN make configure make cpp make cppe make install
0