Archived

This forum has been archived. Please start a new discussion on GitHub.

Ice-E translators on NSLU2 compile problem

Hi,
I am trying to compile IceE translators on my Cisco NSLU2 where I have a debian running.
the cpu is an XScale-IXP42x with 5TE Architecture.
gcc 4.1.2

make goes until:
make: Warning: File `config/Make.rules.Linux' has modification time 2.3e+08 s in the future
making all in src
make[1]: Entering directory `/opt/IceE-trans-1.2.0/IceE-trans-1.2.0/src'
make[1]: Warning: File `../config/Make.rules.Linux' has modification time 2.3e+08 s in the future
making all in IceUtil
make[2]: Entering directory `/opt/IceE-trans-1.2.0/IceE-trans-1.2.0/src/IceUtil'
make[2]: Warning: File `.depend' has modification time 2.3e+08 s in the future
c++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -O2 -DNDEBUG ArgVector.cpp
In file included from ../../include/IceUtil/ArgVector.h:13,
from ArgVector.cpp:10:
../../include/IceUtil/Config.h:28:5: error: #error "Unknown architecture"


And I don't know how to define the architecture

Does someone know where I can change a definiton or what I could do?
Thank you,
Rodolfo

Comments

  • bernard
    bernard Jupiter, FL
    Hi Rodolfo,

    You should build (and later run) the Ice-E translators on your development system, typically a Linux or Windows box.

    It's only Ice-E itself that needs to be built for your target.

    Cheers,
    Bernard
  • bernard
    bernard Jupiter, FL
    If you want to develop directly on your target system, you should be able to port the Ice-E translators to that system. It's probably quite easy.

    The first step is to edit IceUtil/Config.h and specify your endianness:
    //
    // Endianness
    //
    // Most CPUs support only one endianness, with the notable exceptions
    // of Itanium (IA64) and MIPS.
    //
    #if defined(__i386)     || defined(_M_IX86) || defined(__x86_64)  || \
        defined(_M_X64)     || defined(_M_IA64) || defined(__alpha__) || \
        defined(__MIPSEL__)
    #   define ICE_LITTLE_ENDIAN
    #elif defined(__sparc) || defined(__sparc__) || defined(__hppa)      || \
          defined(__ppc__) || defined(__powerpc) || defined(_ARCH_COM) || \
          defined(__MIPSEB__)
    #   define ICE_BIG_ENDIAN
    #else
    #   error "Unknown architecture"
    #endif
    

    It's likely you'll need to add a few more ifdefs for this port.

    Cheers,
    Bernard
  • Hi Bernard,
    the reason why I was compiling on my target is that I didn't had the time to setup a cross-toolchain on my host. I just have debian running from an NFS share at my host.
    I specified the endianness at config.h (little endian), but after a long compile run my target crashed with no error. I suspect it could be a gcc problem.
    Anyways, I will try to setup a cross-developement environment for my next compilations.
    For now, I just installed IceE 1.1 from the Debian package repository
    Thank you for help,

    Kind regards,
    Rodolfo
  • Corrected: Thank you for your help :-)