LEDE 17.01-rc2 SDK requires a too new libstdc++ version, fails on Ubuntu 14.04
Username: Carl-Daniel Hailfinger
Origin: https://bugs.openwrt.org/index.php?do=details&task_id=526
The LEDE 17.01-rc2
SDK
wants the symbol GLIBCXX_3.4.20 in libstdc++6, but Ubuntu 14.04 x86_64 only has GLIBCXX_3.4.19.
compiler@host:~$ dpkg -l libstdc++6
ii libstdc++6:amd64 4.8.4-2ubuntu1~14.04.3 amd64 GNU Standard C++ Library v3
compiler@host:~/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64$ make -j1 V=s
[...]
(cd /home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/build_dir/target-mips_24kc_musl-1.1.16/libubox-2016-11-29-77a62937; CFLAGS=”-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap /home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/build_dir/target-mips_24kc_musl-1.1.16/libubox-2016-11-29-77a62937:libubox-2016-11-29-77a62937 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/usr/include " CXXFLAGS=”-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap /home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/build_dir/target-mips_24kc_musl-1.1.16/libubox-2016-11-29-77a62937:libubox-2016-11-29-77a62937 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/usr/include " LDFLAGS=”-L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/usr/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/usr/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/lib -znow -zrelro " cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_SYSTEM_PROCESSOR=mips -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE=”-DNDEBUG” -DCMAKE_CXX_FLAGS_RELEASE=”-DNDEBUG” -DCMAKE_C_COMPILER=”/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/host/bin/ccache” -DCMAKE_C_COMPILER_ARG1=”mips-openwrt-linux-musl-gcc” -DCMAKE_CXX_COMPILER=”/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/host/bin/ccache” -DCMAKE_CXX_COMPILER_ARG1=”mips-openwrt-linux-musl-g++” -DCMAKE_ASM_COMPILER=”/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/host/bin/ccache” -DCMAKE_ASM_COMPILER_ARG1=”mips-openwrt-linux-musl-gcc” -DCMAKE_EXE_LINKER_FLAGS:STRING=”-L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/usr/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/usr/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/lib -znow -zrelro” -DCMAKE_MODULE_LINKER_FLAGS:STRING=”-L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/usr/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/usr/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/lib -znow -zrelro -Wl,-Bsymbolic-functions” -DCMAKE_SHARED_LINKER_FLAGS:STRING=”-L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/usr/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/usr/lib -L/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/lib -znow -zrelro -Wl,-Bsymbolic-functions” -DCMAKE_AR=”/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/bin/mips-openwrt-linux-musl-gcc-ar” -DCMAKE_NM=”/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/bin/mips-openwrt-linux-musl-gcc-nm” -DCMAKE_RANLIB=”/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/bin/mips-openwrt-linux-musl-gcc-ranlib” -DCMAKE_FIND_ROOT_PATH=”/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/usr;/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16” -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_STRIP=: -DCMAKE_INSTALL_PREFIX=/usr -DDL_LIBRARY=/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16 -DCMAKE_PREFIX_PATH=/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16 -DCMAKE_SKIP_RPATH=TRUE -DLUAPATH=/usr/lib/lua /home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/build_dir/target-mips_24kc_musl-1.1.16/libubox-2016-11-29-77a62937 )
/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/host/bin/cmake: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by /home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/host/bin/cmake)
make[3]:
- [/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/build_dir/target-mips_24kc_musl-1.1.16/libubox-2016-11-29-77a62937/.configured_yynnyy] Error 1
make[3]: Leaving directory `/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/feeds/base/package/libs/libubox’ make[2]:
- [package/feeds/base/libubox/compile] Error 2
make[2]: Leaving directory `/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64’ make[1]:
- [/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/target-mips_24kc_musl-1.1.16/stamp/.package_compile] Error 2
make[1]: Leaving directory `/home/compiler/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64’ make:
- [world] Error 2
Further diagnostics:
compiler@host:~/lede-sdk-17.01.0-rc2-lantiq-xrx200_gcc-5.4.0_musl-1.1.16.Linux-x86_64$ for a in staging_dir/host/bin/.*bin; do ldd $a |grep “not found”; done
staging_dir/host/bin/.ccmake.bin: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by staging_dir/host/bin/.ccmake.bin)
staging_dir/host/bin/.ccmake.bin: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8’ not found (required by staging_dir/host/bin/.ccmake.bin)
staging_dir/host/bin/.cmake.bin: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by staging_dir/host/bin/.cmake.bin)
staging_dir/host/bin/.cpack.bin: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by staging_dir/host/bin/.cpack.bin)
staging_dir/host/bin/.cpack.bin: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8’ not found (required by staging_dir/host/bin/.cpack.bin)
staging_dir/host/bin/.ctest.bin: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by staging_dir/host/bin/.ctest.bin)
staging_dir/host/bin/.gengetopt.bin: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by staging_dir/host/bin/.gengetopt.bin)
staging_dir/host/bin/.mklibs-readelf.bin: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by staging_dir/host/bin/.mklibs-readelf.bin)