id summary reporter owner description type status milestone component version severity resolution keywords cc 12616 Cannot build boost 1.62 for x32 ABI ross@… "To build boost for the X32 ABI (which is x86-64 but with 32-bit pointers) we set CFLAGS to -mx32. However boost then decides that it knows best and also passes in -march=i686 -m32. For example: {{{ | ""x86_64-poky-linux-gnux32-g++"" ""-mx32"" ""-Wl,-O1"" ""-Wl,--hash-style=gnu"" ""-Wl,--as-needed"" ""--sysroot=/data/poky-master/tmp-glibc/sysroots/intel-corei7-64"" -ftemplate-depth-128 -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/poky-master/tmp-glibc/work/x86_64_x32-poky-linux-gnux32/boost/1.62.0-r1=/usr/src/debug/boost/1.62.0-r1 -fdebug-prefix-map=/data/poky-master/tmp-glibc/sysroots/x86_64-linux= -fdebug-prefix-map=/data/poky-master/tmp-glibc/sysroots/intel-corei7-64= -fvisibility-inlines-hidden -O3 -finline-functions -Wno-inline -Wall -march=i686 -pthread -fPIC -m32 -DBOOST_ALL_NO_LIB=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DNDEBUG -I""."" -c -o ""/data/poky-master/tmp-glibc/work/x86_64_x32-poky-linux-gnux32/boost/1.62.0-r1/boost_1_62_0/x86_64-poky-linux-gnux32/boost/bin.v2/libs/filesystem/build/aca09349fdb84d131321425f6c3a38ed/windows_file_codecvt.o"" ""libs/filesystem/src/windows_file_codecvt.cpp"" | | In file included from /data/poky-master/tmp-glibc/sysroots/intel-corei7-64/usr/include/features.h:392:0, | from /data/poky-master/tmp-glibc/sysroots/intel-corei7-64/usr/include/c++/6.2.0/x86_64-poky-linux-gnux32/bits/os_defines.h:39, | from /data/poky-master/tmp-glibc/sysroots/intel-corei7-64/usr/include/c++/6.2.0/x86_64-poky-linux-gnux32/bits/c++config.h:495, | from /data/poky-master/tmp-glibc/sysroots/intel-corei7-64/usr/include/c++/6.2.0/cstddef:49, | from ./boost/config/compiler/gcc.hpp:165, | from ./boost/config.hpp:39, | from ./boost/filesystem/config.hpp:28, | from libs/filesystem/src/windows_file_codecvt.cpp:20: | /data/poky-master/tmp-glibc/sysroots/intel-corei7-64/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory | # include }}} The -mx32 is our CFLAGS. -m32 -march=i686 is from boost/tools/build. The compiler ends up thinking that its doing a i686 build and tries to open stubs-32.h which doesn't exist as this sysroot is x32 so only stubs-x32.h is present." Bugs new To Be Determined Building Boost Boost 1.62.0 Problem