Compile boost for arm-eabi

Hi How I could compile boost for another arquitecture? I thougth I have done it right, but when compiling my program with a static link to a boost library I'm getting this message: /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /usr/local/boost_1_42_0/lib/libboost_system.a: could not read symbols: File in wrong format collect2: ld returned 1 exit status I'm getting around this problem and I found that it might be because I don't compile boost in the right way. Any ideias how I do that?

Hi How I could compile boost for another arquitecture? I thougth I have done it right, but when compiling my program with a static link to a boost library I'm getting this message: /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /usr/local/boost_1_42_0/lib/libboost_system.a: could not read symbols: File in wrong format collect2: ld returned 1 exit status I'm getting around this problem and I found that it might be because I don't compile boost in the right way. Any ideias how I do that?

Hi How I could compile boost for another arquitecture? I thougth I have done it right, but when compiling my program with a static link to a boost library I'm getting this message: /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /home/carlos/Arm/arm-2009q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: /usr/local/boost_1_42_0/lib/libboost_system.a(error_code.o): Relocations in generic ELF (EM: 3) /usr/local/boost_1_42_0/lib/libboost_system.a: could not read symbols: File in wrong format collect2: ld returned 1 exit status I'm getting around this problem and I found that it might be because I don't compile boost in the right way. Any ideias how I do that?

On Sun, Feb 28, 2010 at 08:31:10AM +0000, Carlos wrote:
This is your third post with the _exact_ same contents. If you did not get any reply the first time, it tends to be because either no-one knows, no-one cares, or (most likely), you did not provide enough information and no-one can be bothered to try to extract the information from you. Try providing - the bjam command you used, - any modifications to user-config.jam you use, - maybe the top of the output of bjam --debug-configuration, - maybe talk a bit about what tools (ar, ld, etc.) one normally uses for your target platform, - and more. -- Lars Viklund | zao@acc.umu.se

Lars Viklund wrote:
In addition to that, try running: arm-none-linux-gnueabi-ranlib /usr/local/boost_1_42_0/lib/libboost_system.a and see if that improves that. But Lars is absolutely right -- you need to provide enough information to enable at least some approach except for telepathy. Also, I STRONGLY suggest you do NOT install ARM builds of Boost to a directory named /usr/local/. This is a very reliably way to confuse native and arm builds, with the obvious havoc as result. You seem to be using Sourcery G++ Lite? Then please take a look at /home/carlos/Arm/arm-2009q3/arm-none-linux-gnueabi/libc This is so called 'sysroot'. Please copy it to a different place, e.g.: cp -r /home/carlos/Arm/arm-2009q3/arm-none-linux-gnueabi/libc /home/carlos/Arm/sysroot and use /home/carlos/Arm/sysroot as --prefix parameter to EVERYTHING you built. - Volodya

Hi This was getting an error when I send the message, and because I didn't see my post so I do it again...wasn't my intention to spam or something similiar. In the user-config.jam I add this line: *using gcc : arm : /home/carlos/arm/arm-2009q3/bin/arm-none-linux-gnueabi-g++ ;* then I use this command for compiling: *sudo bjam install --prefix=/usr/local/boost_1_42_0 --layout=system toolset=gcc-arm link=static runtime-link=static -a * I was getting the error because it was use gcc compiler instead of arm compiler. The --debug-configuration was a big help in finding the problem. To prevent any further problems I will copy it to my home directory.
participants (3)
-
Carlos
-
Lars Viklund
-
Vladimir Prus