Weird cross compiling issue
Hello all, I am cross compiling Boost to an embedded Linux Arm architecture. I reported a problem a week or so ago with failures in some of the libraries which I was unable to solve, and have a bit more information. One of the issues appears with the serialisation library. Although I am compiling for Arm, the serialisation libs end up as Intel X86 binaries, even though all the other successfully compiled libs are ARM. This then leads to problems elsewhere with libraries that appear to need the serialisation libs. I can only think that there is an issue with the make system to do with serialisation area. Anyone have any comments/thoughts? In addition, when I do a build to a particular directory: bjam "-sGCC_ROOT_DIRECTORY=/opt/montavista/mobilinux/devkit/arm/iwmmxt_le" "-sGCC=iwmmxt_le-gcc" "-sGXX=iwmmxt_le-g++" stage the stage folder is created, in which is a lib folder, in which are all the binaries (including the defective Intel ones). However, I would also expect some header files somewhere - should there also be a h (or header) folder next to lib? If not where are the headers I need to include in my apps using Boost? James Info : Boost 1.33.1. gcc : 3.4.3 (iwmmxt_le-gcc)
James Hughes wrote:
Hello all,
I am cross compiling Boost to an embedded Linux Arm architecture. I reported a problem a week or so ago with failures in some of the libraries which I was unable to solve, and have a bit more information.
One of the issues appears with the serialisation library. Although I am compiling for Arm, the serialisation libs end up as Intel X86 binaries, even though all the other successfully compiled libs are ARM. This then leads to problems elsewhere with libraries that appear to need the serialisation libs.
I can only think that there is an issue with the make system to do with serialisation area.
Anyone have any comments/thoughts?
Well I don't see anything that would make it not build with the same compiler as the others. Are you sure it's not just a leftover from some previous build? Could you do a build with the "-d+2" option to see which commands it's invoking to compile? To verify that it's always using the cross compiler.
In addition, when I do a build to a particular directory:
bjam "-sGCC_ROOT_DIRECTORY=/opt/montavista/mobilinux/devkit/arm/iwmmxt_le" "-sGCC=iwmmxt_le-gcc" "-sGXX=iwmmxt_le-g++" stage
the stage folder is created, in which is a lib folder, in which are all the binaries (including the defective Intel ones). However, I would also expect some header files somewhere - should there also be a h (or header) folder next to lib? If not where are the headers I need to include in my apps using Boost?
The includes only show up if you do "install". Since you obviously don't want to obliterate your system Boost install you'll also have to specify the "--prefix" of where to install :-) -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - Grafik/jabber.org
participants (2)
-
James Hughes
-
Rene Rivera