Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to compile on ubuntu 20 using clang and cmake on VSCode terminal. #7

Closed
risaldar opened this issue Sep 9, 2021 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@risaldar
Copy link

risaldar commented Sep 9, 2021

Unable to compile on ubuntu 20 using clang and cmake on VSCode terminal. Can you please check and let me know what is wrong... and BTW will i eventually see any communication on Ethernet running DDS?

hasan@dhasan-VirtualBox:~/Desktop/work/Adaptive-AUTOSAR$ cmake --build .
Scanning dependencies of target gtest
[ 2%] Building CXX object _deps/googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 4%] Linking CXX static library ../../../lib/libgtest.a
[ 4%] Built target gtest
Scanning dependencies of target gtest_main
[ 6%] Building CXX object _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[ 8%] Linking CXX static library ../../../lib/libgtest_main.a
[ 8%] Built target gtest_main
Scanning dependencies of target ara_sm
[ 11%] Linking CXX static library libara_sm.a
[ 11%] Built target ara_sm
Scanning dependencies of target ara_com
[ 13%] Building CXX object CMakeFiles/ara_com.dir/src/ara/com/helper/payload_helper.cpp.o
[ 15%] Building CXX object CMakeFiles/ara_com.dir/src/ara/com/helper/ipv4_address.cpp.o
In file included from /home/dhasan/Desktop/work/Adaptive-AUTOSAR/src/ara/com/helper/ipv4_address.cpp:1:
/home/dhasan/Desktop/work/Adaptive-AUTOSAR/src/ara/com/helper/./ipv4_address.h: In function ‘constexpr bool ara::com::helper::operator==(ara::com::helper::Ipv4Address, ara::com::helper::Ipv4Address)’:
/home/dhasan/Desktop/work/Adaptive-AUTOSAR/src/ara/com/helper/./ipv4_address.h:52:39: error: call to non-‘constexpr’ function ‘std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator[](std::array<_Tp, _Nm>::size_type) [with _Tp = unsigned char; long unsigned int _Nm = 4; std::array<_Tp, _Nm>::reference = unsigned char&; std::array<_Tp, _Nm>::value_type = unsigned char; std::array<_Tp, _Nm>::size_type = long unsigned int]’
52 | (address1.Octets[0] == address2.Octets[0]) &&
| ^
make[2]: *** [CMakeFiles/ara_com.dir/build.make:76: CMakeFiles/ara_com.dir/src/ara/com/helper/ipv4_address.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:205: CMakeFiles/ara_com.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

@risaldar risaldar added the bug Something isn't working label Sep 9, 2021
@langroodi
Copy link
Owner

It is a bit weird that the project can be built successfully both locally and also in the build server. The compiler is complaining about the [] operator of the std::array as a non-constexpr function within a constexpr function (in ipv4_address class) which is correct because that operator becomes constexpr from C++ 17. However, the project needs to be compiled on C++ 14.

First I need to be sure that why the build server is not complaining about that. To find that out, I need to know which Clang and CMake version you are using?

Regarding your second question about Ethernet communication and DDS, currently there is no communication over TCP/IP and I am still working on a library as a wrapper around BSD sockets to enable that communication. Additionally, the network abstraction is going to only support SOME/IP. Even though supporting DDS is also required by the standard, I have no plan yet to implement that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants