pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PLIST issues compiling devel/boost-libs with clang



Trying to build devel/boost-libs with PKGSRC_COMPILER=clang seems to lead 
to PLIST errors:

=> Checking file-check results for boost-libs-1.78.0nb2
ERROR: ************************************************************
ERROR: The following files are in the PLIST but not in /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg:
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_fiber.a
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_fiber.so
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_fiber.so.1.78.0
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_c99.a
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_c99.so
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_c99.so.1.78.0
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_c99f.a
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_c99f.so
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_c99f.so.1.78.0
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_tr1.a
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_tr1.so
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_tr1.so.1.78.0
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_tr1f.a
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_tr1f.so
ERROR:         /var/work/pkgsrc/devel/boost-libs/work/.destdir/usr/pkg/lib/libboost_math_tr1f.so.1.78.0

Some articles seem to suggest that's due to lack of C++17 support, so I added
c++17 to USE_LANGUAGES in meta-pkgs/boost/Makefile.common.
But that leads to an even strager error:

clang-linux.compile.c bin.v2/libs/container/build/clang-linux-13/release/link-static/pch-off/threading-multi/visibility-hidden/alloc_lib.o
error: invalid argument '-std=c++17' not allowed with 'C'

I looked at work.log, and that said:
[*] c++ -c -x c -fPIC -m64 -pthread -O3 -Wall -fvisibility=hidden -Wno-inline -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTAINER_DYN_LINK=1 -DNDEBUG -I. -c -o bin.v2/libs/container/build/clang-linux-13/release/pch-off/threading-multi/visibility-hidden/alloc_lib.o libs/container/src/alloc_lib.c
<.> /usr/pkg/compiler_boot/bin/clang++ -Wl,-zrelro -std=c++17 -c -x c -fPIC -m64 -pthread -O3 -Wall -fvisibility=hidden -Wno-inline -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTAINER_DYN_LINK=1 -DNDEBUG -I. -c -o bin.v2/libs/container/build/clang-linux-13/release/pch-off/threading-multi/visibility-hidden/alloc_lib.o libs/container/src/alloc_lib.c -fPIC -Qunused-arguments -fstack-protector-strong -I/var/work/pkgsrc/devel/boost-libs/work/.buildlink/include

for that specific file (note -std=c++17), but for other files, the invocation 
included both -std=c++11 and -std=c++17:
[*] c++ -c -x c++ -fvisibility-inlines-hidden -m64 -pthread -O3 -w -fvisibility=hidden -Wno-inline -std=c++11 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_USE_LIB=1 -DNDEBUG -I. -o bin.v2/libs/wave/build/clang-linux-13/release/link-static/pch-off/threading-multi/visibility-hidden/cpplexer/re2clex/cpp_re.o libs/wave/src/cpplexer/re2clex/cpp_re.cpp
<.> /usr/pkg/compiler_boot/bin/clang++ -Wl,-zrelro -std=c++17 -c -x c++ -fvisibility-inlines-hidden -m64 -pthread -O3 -fvisibility=hidden -Wno-inline -std=c++11 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_USE_LIB=1 -DNDEBUG -I. -o bin.v2/libs/wave/build/clang-linux-13/release/link-static/pch-off/threading-multi/visibility-hidden/cpplexer/re2clex/cpp_re.o libs/wave/src/cpplexer/re2clex/cpp_re.cpp -fPIC -Qunused-arguments -fstack-protector-strong -I/var/work/pkgsrc/devel/boost-libs/work/.buildlink/include

What's going on here? It looks like an error in the Boost build system to me, 
but I suppose I'm not the only person on earth trying to build boost with i
clang? GCC only emits a warning if given -std=c++nn for a pure C input file.


Home | Main Index | Thread Index | Old Index