Boost logo

Boost-Build :

Subject: Re: [Boost-build] cross compiling linux boost libraries
From: Madhukar Sandi (Madhukar.Sandi_at_[hidden])
Date: 2010-07-02 09:17:37


Hi Moritz,

Thanks for your support,

It is taking mipsel linux gcc, but while compiling im getting so many errors.

The following log

    "mipsel-linux-g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -Winvalid-pch -DBOOST_ALL_NO_LIB=1 -DBOOST_BUILD_PCH_ENABLED -DBOOST_MATH_TR1_DYN_LINK=1 -DNDEBUG -I"bin.v2/libs/math/build/gcc-mipsel/release/threading-multi/../src/tr1" -I"." -I"libs/math/src/tr1" -c -o "bin.v2/libs/math/build/gcc-mipsel/release/threading-multi/cyl_bessel_kf.o" "libs/math/build/../src/tr1/cyl_bessel_kf.cpp"

...failed gcc.compile.c++ bin.v2/libs/math/build/gcc-mipsel/release/threading-multi/cyl_bessel_kf.o...
gcc.compile.c++ bin.v2/libs/math/build/gcc-mipsel/release/threading-multi/cyl_neumannf.o
/tmp/ccNNZ5fW.s: Assembler messages:
/tmp/ccNNZ5fW.s:17883: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,4($4)'
/tmp/ccNNZ5fW.s:17885: Error: opcode not supported on this processor: mips1 (mips1) `sc $5,4($4)'
/tmp/ccNNZ5fW.s:17971: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,8($4)'
/tmp/ccNNZ5fW.s:17973: Error: opcode not supported on this processor: mips1 (mips1) `sc $10,8($4)'
/tmp/ccNNZ5fW.s:18013: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,4($4)'
/tmp/ccNNZ5fW.s:18015: Error: opcode not supported on this processor: mips1 (mips1) `sc $2,4($4)'
/tmp/ccNNZ5fW.s:18036: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,8($4)'
/tmp/ccNNZ5fW.s:18038: Error: opcode not supported on this processor: mips1 (mips1) `sc $6,8($4)'
/tmp/ccNNZ5fW.s:18207: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,4($4)'
/tmp/ccNNZ5fW.s:18209: Error: opcode not supported on this processor: mips1 (mips1) `sc $5,4($4)'
/tmp/ccNNZ5fW.s:18290: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,8($4)'
/tmp/ccNNZ5fW.s:18292: Error: opcode not supported on this processor: mips1 (mips1) `sc $10,8($4)'
/tmp/ccNNZ5fW.s:18332: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,4($4)'
/tmp/ccNNZ5fW.s:18334: Error: opcode not supported on this processor: mips1 (mips1) `sc $2,4($4)'
/tmp/ccNNZ5fW.s:18355: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,8($4)'
/tmp/ccNNZ5fW.s:18357: Error: opcode not supported on this processor: mips1 (mips1) `sc $6,8($4)'
/tmp/ccNNZ5fW.s:21132: Error: opcode not supported on this processor: mips1 (mips1) `ll $3,4($4)'
/tmp/ccNNZ5fW.s:21134: Error: opcode not supported on this pr

Thanks
Madhukar
-----Original Message-----
From: boost-build-bounces_at_[hidden] [mailto:boost-build-bounces_at_[hidden]] On Behalf Of Moritz Hassert
Sent: Friday, July 02, 2010 5:26 PM
To: Boost.Build developer's and user's list
Subject: Re: [Boost-build] cross compiling linux boost libraries

Hi,

Madhukar Sandi wrote:
> I am able to cross compile using ./bjam --toolset=gcc-mips. But when im
> seeing in library that was build for intel only
>
> The following log
>
> [root_at_infba01388 lib]# file libboost_math_tr1l.so.1.43.0
> libboost_math_tr1l.so.1.43.0: ELF 32-bit LSB shared object, Intel 80386,
> version 1 (GNU/Linux), dynamically linked, not stripped [root_at_infba01388
> lib]# file libboost_thread.so.1.43.0
> libboost_thread.so.1.43.0: ELF 32-bit LSB shared object, Intel 80386,
> version 1 (GNU/Linux), dynamically linked, not stripped

The odd thing with boost-build is that it sometimes does not bail out with an
error when it can't fullfill your exact request. Instead it tries to something
that it considers 'a good alternative'. At least thats my experience.

In your case the toolset 'gcc-mips' is most likely not known to boost-build.
That is, it does not have a gcc with version 'mips' configured. But instead of
complaining it tries to auto-configure that compiler. And if it cannot find an
executable 'g++-mips' or something like that it will fall back to the default
command for toolset gcc, which is of cause 'g++'.

So what your really did was compiling with your standard host gcc.

To see what compiler tool is actually used run:
./bjam --toolset=gcc-mips -d+2
This lists all commands before executing them.

To see what compiler tools are configured run:
./bjam --toolset=gcc-mips --debug-configuration

My advice would be to specify an explicit version like I wrote in my last
mail.

Greetings
Moritz

Geschaeftsfuehrer: Dipl.-Inform. Christopher Asp
Amtsgericht Mannheim HRB 105845
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

______________________________________________________________________

This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system.

______________________________________________________________________


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk