I'm crossbuilding boost-locale 1.71.0 for powerpc-aix target
crosscompiler powerpc-ibm-aix7.1.0.0-g++ (GCC) 4.8.3
Build machine x64-linux
libiconv lib is located at /opt/crossaix/usr/lib/libiconv.a
iconv.h header is located at /opt/crossaix/usr/include/iconv.h
steps, based on this tutorial https://www.boost.org/build/doc/html/bbv2/tasks/crosscompile.html :
./bootstrap.sh --with-libraries=locale
# replace in file project-config.jam the line "using gcc ;" with the line "using gcc : powerpc : /opt/crossaix/bin/powerpc-ibm-aix7.1.0.0-g++ ; "
sed -i 's,using gcc ;,using gcc : powerpc : /opt/crossaix/bin/powerpc-ibm-aix7.1.0.0-g++ ;,' project-config.jam
./b2 toolset=gcc-powerpc target-os=aix -sICONV_PATH=/opt/crossaix/usr/
The result:
Performing configuration checks
- default address-model : 32-bit
- default architecture : power
Building the Boost C++ Libraries.
- iconv (libc) : no
- iconv (separate) : no
- icu : no
- icu (lib64) : no
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
Component configuration:
- atomic : not building
- chrono : not building
- container : not building
- context : not building
- contract : not building
- coroutine : not building
- date_time : not building
- exception : not building
- fiber : not building
- filesystem : not building
- graph : not building
- graph_parallel : not building
- headers : not building
- iostreams : not building
- locale : building
- log : not building
- math : not building
- mpi : not building
- program_options : not building
- python : not building
- random : not building
- regex : not building
- serialization : not building
- stacktrace : not building
- system : not building
- test : not building
- thread : not building
- timer : not building
- type_erasure : not building
- wave : not building
...found 2 targets...
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
/home/ibse/Projects/boost_1_71_0
The following directory should be added to linker library paths:
/home/ibse/Projects/boost_1_71_0/stage/lib
Although it says that the build was successful, in fact the libraries are not built and the folder /home/ibse/Projects/boost_1_71_0/stage/lib is empty.
This is because the icu/iconv were not found:
- iconv (libc) : no
- iconv (separate) : no
- icu : no
- icu (lib64) : no
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
, although I specified the path to iconv (-sICONV_PATH=/opt/crossaix/usr/)
I also tried to specify the full path to the library, but it didn't help: -sICONV_PATH=/opt/crossaix/usr/lib/libiconv.a