error on inclusion of ../boost/math/special_functions/next.hpp
In reviewing the test matrix: https://www.boost.org/development/tests/develop/developer/serialization.html I'm getting the following error message when on a couple of my tests:
Test output: teeks99-dkr-dc6-17 - serialization - test_complex_text_archive / clang-linux-6.0~c++17 Rev 1c12b5c15fc82f0cb6d4bd931a057fc050df8a34 / Sun, 29 Oct 2023 21:39:02 +0000 Compile [2023-10-29 23:34:25 UTC]: fail
"clang++-6.0" -fvisibility-inlines-hidden -Wno-c99-extensions -std=c++17 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden --target=x86_64-pc-linux -ftemplate-depth-255 -DBOOST_ALL_NO_LIB=1 -DBOOST_ARCHIVE_TEST=text_archive.hpp -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_BEAST_ALLOW_DEPRECATED -DBOOST_BEAST_SEPARATE_COMPILATION -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DBOOST_WSERIALIZATION_DYN_LINK=1 -I".." -c -o "/var/boost/run/results/boost/bin.v2/libs/serialization/test/test_complex_text_archive.test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/test_complex.o" "../libs/serialization/test/test_complex.cpp"
In file included from ../libs/serialization/test/test_complex.cpp:19: In file included from ../boost/math/special_functions/next.hpp:17: In file included from ../boost/math/special_functions/trunc.hpp:21: In file included from ../boost/math/ccmath/ldexp.hpp:15: In file included from ../boost/math/ccmath/abs.hpp:16: ../boost/math/ccmath/isnan.hpp:35:29: error: no template named 'is_integral_v' in namespace 'std'; did you mean 'is_integral'? if constexpr (!std::is_integral_v<T>) ~~~~~^~~~~~~~~~~~~ is_integral /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/type_traits:289:12: note: 'is_integral' declared here struct is_integral ^
Looks like a minor snafu in ../boost/math/ccmath/isnan.hpp ... or not. Could someone who understands math/special functions took a look into this? On a totally separate note: I'm getting another failure on the same matrix: Test output: teeks99-dkr-dc6-17 - serialization - test_dll_simple / clang-linux-6.0~c++17 Rev 1c12b5c15fc82f0cb6d4bd931a057fc050df8a34 / Sun, 29 Oct 2023 21:39:02 +0000 Lib [2023-10-29 23:34:28 UTC]: fail See boost/bin.v2/libs/serialization/test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden where the links points to a file containing:
Test output: boost/bin.v2/libs/serialization/test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden Rev 1c12b5c15fc82f0cb6d4bd931a057fc050df8a34 / Sun, 29 Oct 2023 21:39:02 +0000 Compile [2023-10-29 23:34:25 UTC]: succeed
"clang++-6.0" -fvisibility-inlines-hidden -Wno-c99-extensions -std=c++17 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden --target=x86_64-pc-linux -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_BEAST_ALLOW_DEPRECATED -DBOOST_BEAST_SEPARATE_COMPILATION -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -I".." -c -o "/var/boost/run/results/boost/bin.v2/libs/serialization/test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/dll_polymorphic_derived2.o" "../libs/serialization/test/dll_polymorphic_derived2.cpp"
In file included from ../libs/serialization/test/dll_polymorphic_derived2.cpp:13: In file included from ../libs/serialization/test/polymorphic_derived2.cpp:15: ../libs/serialization/test/polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages] #pragma message ("polymorphic_base imported") ^ In file included from ../libs/serialization/test/dll_polymorphic_derived2.cpp:13: In file included from ../libs/serialization/test/polymorphic_derived2.cpp:16: ../libs/serialization/test/polymorphic_derived2.hpp:32:13: warning: polymorphic_derived2 exported [-W#pragma-messages] #pragma message ("polymorphic_derived2 exported") ^ 2 warnings generated.
Link [2023-10-29 23:34:25 UTC]: succeed
"clang++-6.0" -o "/var/boost/run/results/boost/bin.v2/libs/serialization/test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/libdll_polymorphic_derived2.so.1.84.0" -Wl,-soname -Wl,"libdll_polymorphic_derived2.so.1.84.0" -shared -Wl,--start-group "/var/boost/run/results/boost/bin.v2/libs/serialization/test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/dll_polymorphic_derived2.o" "/var/boost/run/results/boost/bin.v2/libs/serialization/test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/libdll_polymorphic_base.so.1.84.0" "/var/boost/run/results/boost/bin.v2/libs/serialization/build/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/libboost_serialization.so.1.84.0" "/var/boost/run/results/boost/bin.v2/libs/filesystem/build/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/libboost_filesystem.so.1.84.0" -Wl,-Bstatic -Wl,-Bdynamic -lrt -Wl,--end-group -fPIC -m64 -pthread -fvisibility=hidden -fvisibility-inlines-hidden --target=x86_64-pc-linux
So .... This parts builds a dll/shared library which is used in the test. There doesn't seem to be anything wrong with this. Does anyone have any ideas? Robert Ramey
On Nov 3, 2023, at 4:42 AM, Robert Ramey via Boost
wrote: In reviewing the test matrix:
https://www.boost.org/development/tests/develop/developer/serialization.html
I'm getting the following error message when on a couple of my tests:
Test output: teeks99-dkr-dc6-17 - serialization - test_complex_text_archive / clang-linux-6.0~c++17 Rev 1c12b5c15fc82f0cb6d4bd931a057fc050df8a34 / Sun, 29 Oct 2023 21:39:02 +0000 Compile [2023-10-29 23:34:25 UTC]: fail
"clang++-6.0" -fvisibility-inlines-hidden -Wno-c99-extensions -std=c++17 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden --target=x86_64-pc-linux -ftemplate-depth-255 -DBOOST_ALL_NO_LIB=1 -DBOOST_ARCHIVE_TEST=text_archive.hpp -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_BEAST_ALLOW_DEPRECATED -DBOOST_BEAST_SEPARATE_COMPILATION -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DBOOST_WSERIALIZATION_DYN_LINK=1 -I".." -c -o "/var/boost/run/results/boost/bin.v2/libs/serialization/test/test_complex_text_archive.test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/test_complex.o" "../libs/serialization/test/test_complex.cpp"
In file included from ../libs/serialization/test/test_complex.cpp:19: In file included from ../boost/math/special_functions/next.hpp:17: In file included from ../boost/math/special_functions/trunc.hpp:21: In file included from ../boost/math/ccmath/ldexp.hpp:15: In file included from ../boost/math/ccmath/abs.hpp:16: ../boost/math/ccmath/isnan.hpp:35:29: error: no template named 'is_integral_v' in namespace 'std'; did you mean 'is_integral'? if constexpr (!std::is_integral_v<T>) ~~~~~^~~~~~~~~~~~~ is_integral /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/type_traits:289:12: note: 'is_integral' declared here struct is_integral ^
Looks like a minor snafu in ../boost/math/ccmath/isnan.hpp ... or not. Could someone who understands math/special functions took a look into this?
I will take a look at this today. Matt
Test output: teeks99-dkr-dc6-17 - serialization - test_complex_text_archive / clang-linux-6.0~c++17 Rev 1c12b5c15fc82f0cb6d4bd931a057fc050df8a34 / Sun, 29 Oct 2023 21:39:02 +0000 Compile [2023-10-29 23:34:25 UTC]: fail
"clang++-6.0" -fvisibility-inlines-hidden -Wno-c99-extensions -std=c++17 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden --target=x86_64-pc-linux -ftemplate-depth-255 -DBOOST_ALL_NO_LIB=1 -DBOOST_ARCHIVE_TEST=text_archive.hpp -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_BEAST_ALLOW_DEPRECATED -DBOOST_BEAST_SEPARATE_COMPILATION -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DBOOST_WSERIALIZATION_DYN_LINK=1 -I".." -c -o "/var/boost/run/results/boost/bin.v2/libs/serialization/test/test_complex_text_archive.test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/test_complex.o" "../libs/serialization/test/test_complex.cpp"
In file included from ../libs/serialization/test/test_complex.cpp:19: In file included from ../boost/math/special_functions/next.hpp:17: In file included from ../boost/math/special_functions/trunc.hpp:21: In file included from ../boost/math/ccmath/ldexp.hpp:15: In file included from ../boost/math/ccmath/abs.hpp:16: ../boost/math/ccmath/isnan.hpp:35:29: error: no template named 'is_integral_v' in namespace 'std'; did you mean 'is_integral'? if constexpr (!std::is_integral_v<T>) ~~~~~^~~~~~~~~~~~~ is_integral /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/type_traits:289:12: note: 'is_integral' declared here struct is_integral ^
Looks like using clang-6 with libstdc++ 5. Do we really support such configurations (or this in particular)? Although the fix is easy (replace the `*_v` inline variables by `::value` variants) it is additional effort. Alex
On Nov 3, 2023, at 8:55 AM, Alexander Grund via Boost
wrote: Test output: teeks99-dkr-dc6-17 - serialization - test_complex_text_archive / clang-linux-6.0~c++17 Rev 1c12b5c15fc82f0cb6d4bd931a057fc050df8a34 / Sun, 29 Oct 2023 21:39:02 +0000 Compile [2023-10-29 23:34:25 UTC]: fail
"clang++-6.0" -fvisibility-inlines-hidden -Wno-c99-extensions -std=c++17 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden --target=x86_64-pc-linux -ftemplate-depth-255 -DBOOST_ALL_NO_LIB=1 -DBOOST_ARCHIVE_TEST=text_archive.hpp -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_BEAST_ALLOW_DEPRECATED -DBOOST_BEAST_SEPARATE_COMPILATION -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LIB_DIAGNOSTIC=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DBOOST_WSERIALIZATION_DYN_LINK=1 -I".." -c -o "/var/boost/run/results/boost/bin.v2/libs/serialization/test/test_complex_text_archive.test/clang-linux-6.0~c++17/debug/debug-symbols-off/threading-multi/visibility-hidden/test_complex.o" "../libs/serialization/test/test_complex.cpp"
In file included from ../libs/serialization/test/test_complex.cpp:19: In file included from ../boost/math/special_functions/next.hpp:17: In file included from ../boost/math/special_functions/trunc.hpp:21: In file included from ../boost/math/ccmath/ldexp.hpp:15: In file included from ../boost/math/ccmath/abs.hpp:16: ../boost/math/ccmath/isnan.hpp:35:29: error: no template named 'is_integral_v' in namespace 'std'; did you mean 'is_integral'? if constexpr (!std::is_integral_v<T>) ~~~~~^~~~~~~~~~~~~ is_integral /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/type_traits:289:12: note: 'is_integral' declared here struct is_integral ^
Looks like using clang-6 with libstdc++ 5. Do we really support such configurations (or this in particular)? Although the fix is easy (replace the `*_v` inline variables by `::value` variants) it is additional effort.
Alex _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Even if we replaced _v with ::value there would be more sinister errors since this function relies on having __builtin_is_constant_evaluated support (which to a sufficient degree was added in GCC-6 as __builtin_constant_p). The drone image has clang-6 with libstdc++6 so we missed it in our CI matrix. Matt
participants (3)
-
Alexander Grund
-
Matt Borland
-
Robert Ramey