After I have properly built B2 and run it with my toolset (embedded arm)
arm-oe-linux-gnueabi-g++ (GCC) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
I've got the following error:
...
- type_erasure : building
- wave : building
...patience...
...patience...
...patience...
...patience...
...patience...
...found 12065 targets...
...updating 902 targets...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-arm/release/threading-multi/visibility-hidden/basic_archive.o
In file included from ./boost/config.hpp:39:0,
from ./boost/serialization/config.hpp:18,
from libs/serialization/src/basic_archive.cpp:35:
./boost/config/compiler/gcc.hpp:165:19: fatal error: cstddef: No such file or directory
#include <cstddef>
^
compilation terminated.
Apparently my version arm-oe-linux-gnueabi-g++ (GCC) 4.9.2 doesn't contain cstddef.hpp header file (this version has been installed as a part of gnu radio)
I may try install a newer version (6.x.x), but I don't know where I can get it?
Any idea?
Thank you,
-----Original Message-----
From: Sergei Nikulov
Thank you for your explanation. BTW, I am editing user-config.jam, is it right way to edit project-build.jam?
I see no problem with it. Ref to https://boostorg.github.io/build/manual/master/index.html#bbv2.overview.conf... to understand more about those files.
I have already embedded Linux install on my target, so I am not building the whole system.
It just a matter of handling dependencies. If it required for target, Boost libraries can be included in SDK. Another option - drop Boost and replace it with something more lightweight. If it's not possible, then go ahead with cross-compiling and static linking.
I may need to build an application (cross-compile) and move it to the target (maybe with some library, is it will be difficult to link statically)
Thanks, Leonid ________________________________ From: Sergei Nikulov
Sent: Wednesday, May 20, 2020 7:28 AM To: Leonid Meyerovich Cc: boost-users@lists.boost.org Subject: Re: [Boost-users] boost build from source code On Tue, May 19, 2020 at 11:02 PM Leonid Meyerovich
wrote: You are right, I do have arm cross-compiler installed. But I though that 'b2' executable is a part of the package that I downloaded from BOOST site and this executable is built for x86 machine. Running 'bootstrap.sh' copy this file to boost_root folder, am I wrong?
Thanks, ________________________________
No. You've downloaded the source code package.
So have following options 1. Build b2 for the host, then edit project-build.jam to build boost libs for the target. (for ex: https://www.cnx-software.com/2011/10/03/cross-compiling-boost-c-librar ies-for-arm/) 2. Since you've used OE SDK (it's Yocto project I think), enable boost recipe in OE bitbake to build your SDK with boost libs. Then you'll be able to use it from SDK sysroot.
The latter option is preferred and more natural for your embedded target unless you need a bleeding-edge boost version.
-- Best Regards, Sergei Nikulov
________________________________ This message and all attachments are PRIVATE, and contain information that is PROPRIETARY to Intelligent Automation, Inc. You are not authorized to transmit or otherwise disclose this message or any attachments to any third party whatsoever without the express written consent of Intelligent Automation, Inc. If you received this message in error or you are not willing to view this message or any attachments on a confidential basis, please immediately delete this email and any attachments and notify Intelligent Automation, Inc.
-- Best Regards, Sergei Nikulov ________________________________ This message and all attachments are PRIVATE, and contain information that is PROPRIETARY to Intelligent Automation, Inc. You are not authorized to transmit or otherwise disclose this message or any attachments to any third party whatsoever without the express written consent of Intelligent Automation, Inc. If you received this message in error or you are not willing to view this message or any attachments on a confidential basis, please immediately delete this email and any attachments and notify Intelligent Automation, Inc.