Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 547012

Summary: dev-libs/boost-build: error: "none" is not a known value of feature <optimization>
Product: Gentoo Linux Reporter: Vadim A. Misbakh-Soloviov (mva) <mva>
Component: [OLD] LibraryAssignee: C++ Team [disbanded] <cpp+disabled>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Vadim A. Misbakh-Soloviov (mva) gentoo-dev 2015-04-18 14:55:37 UTC
Hi! I've found, that Gentoo Boost maintainers patches the boost-build and adds custom site-config.jam, that causes build failures when user crosscompiles boost for non-gentoo environments:

========= Build log cut ===========
make[1]: Entering directory '/home/mva/.vcs_repos/openwrt/ar71xx'
make[2]: Entering directory '/home/mva/.vcs_repos/openwrt/ar71xx/feeds/packages/libs/boost'
Selected Boost API o32 for architecture mips and cpu 34kc 
make[2]: Leaving directory '/home/mva/.vcs_repos/openwrt/ar71xx/feeds/packages/libs/boost'
make[2]: Entering directory '/home/mva/.vcs_repos/openwrt/ar71xx/package/libs/toolchain'
if [ -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libc" >> /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install
if [ -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libgcc" >> /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install
if [ -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libstdcpp" >> /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install
if [ -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libpthread" >> /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install
if [ -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "librt" >> /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install
make[2]: Leaving directory '/home/mva/.vcs_repos/openwrt/ar71xx/package/libs/toolchain'
make[2]: Entering directory '/home/mva/.vcs_repos/openwrt/ar71xx/package/libs/zlib'
if [ -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/zlib.default.install.clean ]; then rm -f /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/zlib.default.install /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/zlib.default.install.clean; fi; echo "zlib" >> /home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/zlib.default.install
make[2]: Leaving directory '/home/mva/.vcs_repos/openwrt/ar71xx/package/libs/zlib'
make[2]: Entering directory '/home/mva/.vcs_repos/openwrt/ar71xx/package/libs/libiconv-full'
make[2]: Leaving directory '/home/mva/.vcs_repos/openwrt/ar71xx/package/libs/libiconv-full'
make[2]: Entering directory '/home/mva/.vcs_repos/openwrt/ar71xx/feeds/packages/libs/boost'
Selected Boost API o32 for architecture mips and cpu 34kc 
( cd /home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0 ; echo "using gcc : mips : mips-openwrt-linux-gcc : <compileflags>\"-Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/libintl-full/include\" <cxxflags>\"-Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -I/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/libintl-full/include\" <linkflags>\"-L/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib -L/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/lib -L/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/usr/lib -L/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/lib -L/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/libiconv-full/lib -L/home/mva/.vcs_repos/openwrt/ar71xx/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/libintl-full/lib -pthread -lrt\" ;" > tools/build/src/user-config.jam ;  bjam '-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' --toolset=gcc-mips --build-type=minimal --layout=system abi=o32 --disable-long-double --target=mips-openwrt-linux --host=mips-openwrt-linux --build=x86_64-pc-linux-gnu --program-prefix="" --program-suffix="" --prefix=/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/ipkg-install --exec-prefix=/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/ipkg-install --bindir=/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/ipkg-install/bin --sbindir=/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/ipkg-install/sbin --libexecdir=/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/ipkg-install/lib --sysconfdir=/etc --datadir=/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/ipkg-install/share --localstatedir=/var --mandir=/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/ipkg-install/man --infodir=/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/ipkg-install/info    --without-mpi --without-test  --without-atomic   --without-chrono   --without-container   --without-context   --without-coroutine         --without-graph   --without-iostreams   --without-locale   --without-log   --without-math      --without-random   --without-python      --without-serialization   --without-signals      --without-thread   --without-timer   --without-wave   boost.locale.iconv=off  install )
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/build/feature.jam:493: in feature.validate-value-string from module feature
error: "none" is not a known value of feature <optimization>
error: legal values: "off" "speed" "space"
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/build/property.jam:273: in validate1 from module property
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/build/property.jam:299: in property.validate from module property
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/tools/builtin.jam:377: in variant from module builtin
/usr/share/boost-build/site-config.jam:9: in modules.load from module site-config
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/build-system.jam:249: in load-config from module build-system
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/build-system.jam:351: in load-configuration-files from module build-system
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/build-system.jam:524: in load from module build-system
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/kernel/modules.jam:289: in import from module modules
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/tools/build/src/kernel/bootstrap.jam:139: in boost-build from module
/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/boost-build.jam:17: in module scope from module

Makefile:273: recipe for target '/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/.built' failed
make[2]: *** [/home/mva/.vcs_repos/openwrt/ar71xx/build_dir/target-mips_34kc_uClibc-0.9.33.2/boost_1_57_0/.built] Error 1
make[2]: Leaving directory '/home/mva/.vcs_repos/openwrt/ar71xx/feeds/packages/libs/boost'
package/Makefile:183: recipe for target 'package/feeds/packages/boost/compile' failed
make[1]: *** [package/feeds/packages/boost/compile] Error 2
make[1]: Leaving directory '/home/mva/.vcs_repos/openwrt/ar71xx'
======================================
Comment 1 Vadim A. Misbakh-Soloviov (mva) gentoo-dev 2015-04-18 15:09:32 UTC
Btw, when I google for the error from build log I found that on SO: http://stackoverflow.com/questions/23013433/how-to-install-modular-boost

And, when I commented out content of site-config.jam, just to check, if I experience same issue as post author on the SO, I successfully built boost for my environment.
Comment 2 Vadim A. Misbakh-Soloviov (mva) gentoo-dev 2015-04-26 17:42:42 UTC
Alex Xu, I disagree about subject type.
Because boost maintainers said (in comments inside site-config.jam) that there will be exactly this error is use it to compile out-of-portage tree boost. SO they can just close this bug as not a bug with current title.

The problem is not in that error message, but in that thing, that boost maintainers shouldn't install such hacks system-wide to do not break boost crossmpilation or whatever.
Comment 3 Sergey Popov gentoo-dev 2015-04-27 08:57:06 UTC
(In reply to Vadim A. Misbakh-Soloviov (mva) from comment #2)
> Alex Xu, I disagree about subject type.
> Because boost maintainers said (in comments inside site-config.jam) that
> there will be exactly this error is use it to compile out-of-portage tree
> boost. SO they can just close this bug as not a bug with current title.
> 
> The problem is not in that error message, but in that thing, that boost
> maintainers shouldn't install such hacks system-wide to do not break boost
> crossmpilation or whatever.

Unfortunately, it's the only way to make boost buildsystem work as we needed. You can add needed targets to /etc/site-config.jam yourself just for cross-compilation.