[srsran-users] srsRAN Project Installation Failed

SOME Anoyan Evariste anoyan_evariste at yahoo.com
Tue Feb 4 23:25:00 UTC 2025


After multiple attempts, I need help to troubleshoot srsRAN 5G installation on Ubuntu 20.04.6 LTS. All recommended dependencies have been updated. But it seems like something is still not right. During the make execution, below is the error message:
Scanning dependencies of target ul_pucch_pdu_validator_test[ 37%] Building CXX object tests/unittests/fapi/validators/CMakeFiles/ul_pucch_pdu_validator_test.dir/ul_pucch_pdu_test.cpp.oIn file included from /home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:26,                 from /home/tcp/srsRAN_Project/include/srsran/adt/byte_buffer_view.h:25,                 from /home/tcp/srsRAN_Project/include/srsran/adt/byte_buffer.h:25,                 from /home/tcp/srsRAN_Project/tests/unittests/adt/byte_buffer_test.cpp:23:/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h: In instantiation of ‘srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = std::vector<unsigned char>]::<lambda(auto:1&&)> [with auto:1 = std::vector<unsigned char>; decltype (obj.size()) = long unsigned int]’:/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:31:71:   required by substitution of ‘template<class T, class F> constexpr decltype ((f(declval<T>()), true)) srsran::detail::has_member_impl(F&&) [with T = std::vector<unsigned char>; F = srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = std::vector<unsigned char>]::<lambda(auto:1&&)>]’/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17:   required from ‘bool srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = std::vector<unsigned char>]’/home/tcp/srsRAN_Project/include/srsran/adt/byte_buffer.h:290:45:   required from ‘bool srsran::operator==(const srsran::byte_buffer&, const R&) [with R = std::vector<unsigned char>]’/home/tcp/srsRAN_Project/tests/unittests/adt/byte_buffer_test.cpp:754:3:   required from here/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:45:56: error: no return statement in function returning non-void [-Werror=return-type]   45 | #define has_member(T, EXPR) detail::has_member_impl<T>([](auto&& obj) -> decltype(obj.EXPR) {})      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17: note: in expansion of macro ‘has_member’  103 |   if constexpr (has_member(RhsContainer, size())) {      |                 ^~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h: In instantiation of ‘srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer_view; RhsContainer = std::vector<unsigned char>]::<lambda(auto:1&&)> [with auto:1 = std::vector<unsigned char>; decltype (obj.size()) = long unsigned int]’:/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:31:71:   required by substitution of ‘template<class T, class F> constexpr decltype ((f(declval<T>()), true)) srsran::detail::has_member_impl(F&&) [with T = std::vector<unsigned char>; F = srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer_view; RhsContainer = std::vector<unsigned char>]::<lambda(auto:1&&)>]’/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17:   required from ‘bool srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer_view; RhsContainer = std::vector<unsigned char>]’/home/tcp/srsRAN_Project/include/srsran/adt/byte_buffer_view.h:106:45:   required from ‘bool srsran::operator==(const srsran::byte_buffer_view&, const T&) [with T = std::vector<unsigned char>]’/home/tcp/srsRAN_Project/tests/unittests/adt/byte_buffer_test.cpp:755:3:   required from here/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:45:56: error: no return statement in function returning non-void [-Werror=return-type]   45 | #define has_member(T, EXPR) detail::has_member_impl<T>([](auto&& obj) -> decltype(obj.EXPR) {})      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17: note: in expansion of macro ‘has_member’  103 |   if constexpr (has_member(RhsContainer, size())) {      |                 ^~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h: In instantiation of ‘srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = std::__cxx11::list<unsigned char>]::<lambda(auto:1&&)> [with auto:1 = std::__cxx11::list<unsigned char>; decltype (obj.size()) = long unsigned int]’:/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:31:71:   required by substitution of ‘template<class T, class F> constexpr decltype ((f(declval<T>()), true)) srsran::detail::has_member_impl(F&&) [with T = std::__cxx11::list<unsigned char>; F = srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = std::__cxx11::list<unsigned char>]::<lambda(auto:1&&)>]’/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17:   required from ‘bool srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = std::__cxx11::list<unsigned char>]’/home/tcp/srsRAN_Project/include/srsran/adt/byte_buffer.h:290:45:   required from ‘bool srsran::operator==(const srsran::byte_buffer&, const R&) [with R = std::__cxx11::list<unsigned char>]’/usr/include/gtest/gtest.h:1527:11:   required from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = srsran::byte_buffer; T2 = std::__cxx11::list<unsigned char>]’/usr/include/gtest/gtest.h:1554:23:   required from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = srsran::byte_buffer; T2 = std::__cxx11::list<unsigned char>; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]’/home/tcp/srsRAN_Project/tests/unittests/adt/byte_buffer_test.cpp:181:3:   required from here/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:45:56: error: no return statement in function returning non-void [-Werror=return-type]   45 | #define has_member(T, EXPR) detail::has_member_impl<T>([](auto&& obj) -> decltype(obj.EXPR) {})      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17: note: in expansion of macro ‘has_member’  103 |   if constexpr (has_member(RhsContainer, size())) {      |                 ^~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h: In instantiation of ‘srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = srsran::span<const unsigned char>]::<lambda(auto:1&&)> [with auto:1 = srsran::span<const unsigned char>; decltype (obj.size()) = long unsigned int]’:/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:31:71:   required by substitution of ‘template<class T, class F> constexpr decltype ((f(declval<T>()), true)) srsran::detail::has_member_impl(F&&) [with T = srsran::span<const unsigned char>; F = srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = srsran::span<const unsigned char>]::<lambda(auto:1&&)>]’/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17:   required from ‘bool srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = srsran::span<const unsigned char>]’/home/tcp/srsRAN_Project/include/srsran/adt/byte_buffer.h:290:45:   required from ‘bool srsran::operator==(const srsran::byte_buffer&, const R&) [with R = srsran::span<const unsigned char>]’/usr/include/gtest/gtest.h:1527:11:   required from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = srsran::byte_buffer; T2 = srsran::span<const unsigned char>]’/usr/include/gtest/gtest.h:1554:23:   required from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = srsran::byte_buffer; T2 = srsran::span<const unsigned char>; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]’/home/tcp/srsRAN_Project/tests/unittests/adt/byte_buffer_test.cpp:456:3:   required from here/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:45:56: error: no return statement in function returning non-void [-Werror=return-type]   45 | #define has_member(T, EXPR) detail::has_member_impl<T>([](auto&& obj) -> decltype(obj.EXPR) {})      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17: note: in expansion of macro ‘has_member’  103 |   if constexpr (has_member(RhsContainer, size())) {      |                 ^~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h: In instantiation of ‘srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = srsran::span<unsigned char>]::<lambda(auto:1&&)> [with auto:1 = srsran::span<unsigned char>; decltype (obj.size()) = long unsigned int]’:/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:31:71:   required by substitution of ‘template<class T, class F> constexpr decltype ((f(declval<T>()), true)) srsran::detail::has_member_impl(F&&) [with T = srsran::span<unsigned char>; F = srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = srsran::span<unsigned char>]::<lambda(auto:1&&)>]’/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17:   required from ‘bool srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer; RhsContainer = srsran::span<unsigned char>]’/home/tcp/srsRAN_Project/include/srsran/adt/byte_buffer.h:290:45:   required from ‘bool srsran::operator==(const srsran::byte_buffer&, const R&) [with R = srsran::span<unsigned char>]’/usr/include/gtest/gtest.h:1527:11:   required from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = srsran::byte_buffer; T2 = srsran::span<unsigned char>]’/usr/include/gtest/gtest.h:1554:23:   required from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = srsran::byte_buffer; T2 = srsran::span<unsigned char>; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]’/home/tcp/srsRAN_Project/tests/unittests/adt/byte_buffer_test.cpp:577:3:   required from here/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:45:56: error: no return statement in function returning non-void [-Werror=return-type]   45 | #define has_member(T, EXPR) detail::has_member_impl<T>([](auto&& obj) -> decltype(obj.EXPR) {})      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17: note: in expansion of macro ‘has_member’  103 |   if constexpr (has_member(RhsContainer, size())) {      |                 ^~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h: In instantiation of ‘srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer_slice; RhsContainer = std::vector<unsigned char>]::<lambda(auto:1&&)> [with auto:1 = std::vector<unsigned char>; decltype (obj.size()) = long unsigned int]’:/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:31:71:   required by substitution of ‘template<class T, class F> constexpr decltype ((f(declval<T>()), true)) srsran::detail::has_member_impl(F&&) [with T = std::vector<unsigned char>; F = srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer_slice; RhsContainer = std::vector<unsigned char>]::<lambda(auto:1&&)>]’/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17:   required from ‘bool srsran::detail::compare_byte_buffer_range(const LhsContainer&, const RhsContainer&) [with LhsContainer = srsran::byte_buffer_slice; RhsContainer = std::vector<unsigned char>]’/home/tcp/srsRAN_Project/include/srsran/adt/byte_buffer.h:452:45:   required from ‘bool srsran::operator==(const srsran::byte_buffer_slice&, const T&) [with T = std::vector<unsigned char>]’/usr/include/gtest/gtest.h:1527:11:   required from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = srsran::byte_buffer_slice; T2 = std::vector<unsigned char>]’/usr/include/gtest/gtest.h:1554:23:   required from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = srsran::byte_buffer_slice; T2 = std::vector<unsigned char>; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]’/home/tcp/srsRAN_Project/tests/unittests/adt/byte_buffer_test.cpp:1002:3:   required from here/home/tcp/srsRAN_Project/include/srsran/adt/detail/has_member.h:45:56: error: no return statement in function returning non-void [-Werror=return-type]   45 | #define has_member(T, EXPR) detail::has_member_impl<T>([](auto&& obj) -> decltype(obj.EXPR) {})      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/home/tcp/srsRAN_Project/include/srsran/adt/detail/byte_buffer_range_helpers.h:103:17: note: in expansion of macro ‘has_member’  103 |   if constexpr (has_member(RhsContainer, size())) {      |                 ^~~~~~~~~~cc1plus: all warnings being treated as errorsmake[2]: *** [tests/unittests/adt/CMakeFiles/byte_buffer_test.dir/build.make:76: tests/unittests/adt/CMakeFiles/byte_buffer_test.dir/byte_buffer_test.cpp.o] Error 1make[1]: *** [CMakeFiles/Makefile2:16364: tests/unittests/adt/CMakeFiles/byte_buffer_test.dir/all] Error 2make[1]: *** Waiting for unfinished jobs....[ 37%] Linking CXX executable ul_srs_pdu_validator_test[ 37%] Built target ul_srs_pdu_validator_test[ 37%] Linking CXX executable ul_pusch_pdu_validator_test[ 37%] Built target ul_pusch_pdu_validator_test[ 37%] Linking CXX executable ul_pucch_pdu_validator_test[ 37%] Built target ul_pucch_pdu_validator_testmake: *** [Makefile:141: all] Error 2

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.srsran.com/pipermail/srsran-users/attachments/20250204/0d93998e/attachment-0001.htm>


More information about the srsran-users mailing list