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

Comments

  • benoit
    benoit Rennes, France
    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.
  • benoit
    benoit Rennes, France
    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.
  • 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
    Adam
  • I got it all to compile on the raspberry pi and ran a test program.

    here is how i did it.

    Download mcpp
    wget 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-E
    wget 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