Closed ghost closed 1 year ago
From the given input, it is hard to reproduce your issue. @xeonz1 Could you provide a way to reproduce it?
I could not reproduce this issue locally on my machine with Boost 1.78 and Eigen 3.4.0. @xeonz1 I suggest you provide a docker image that reproduces your issue.
Finally, I've been able to reproduce your issues. @xeonz1 a fix is being now tested in #2000.
Finally, I've been able to reproduce your issues. @xeonz1 a fix is being now tested in #2000.
Great! I have tested the fix and it worked on mine as well. All cppad / codegen tests were able to be successfully compiled except for example-cpp-codegen-crba
it seems to have an issue which I am not sure whether or not it is a pinocchio problem @jcarpent .
/usr/bin/ld: CMakeFiles/example-cpp-codegen-crba.dir/codegen-crba.cpp.o: in function `void CppAD::put_check_for_nan<CppAD::cg::CG
>(CppAD::vector<CppAD::cg::CG > const&, std::cxx11::basic_string<char, std::char_traits , std::allocator cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x74): undefined reference to CppAD::local::temp_file[abi:cxx11]()>&)': codegen-crba.cpp:(.text._ZN5CppAD17put_check_for_nanINS_2cg2CGIdEEEEvRKNS_6vectorIT_EERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN5CppAD17put_check_for_nanINS_2cg2CGIdEEEEvRKNS_6vectorIT_EERNSt7
P.S. it looks like this example does not explicitly link to the cppad lib in the compile commands:
[ 97%] Linking CXX executable example-cpp-codegen-crba cd /home/harper/Apps/pinocchio/build/examples/codegen && /home/harper/Apps/cmake-3.23.1/bin/cmake -E cmake_link_script CMakeFiles/example-cpp-codegen-crba.dir/link.txt --verbose=1 /usr/bin/c++ -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion -rdynamic "CMakeFiles/example-cpp-codegen-crba.dir/codegen-crba.cpp.o" -o example-cpp-codegen-crba -Wl,-rpath,/home/harper/Apps/pinocchio/build/src:/home/harper/miniconda3/envs/my_env/lib ../../src/libpinocchio.so.2.6.19 -ldl /home/harper/miniconda3/envs/my_env/lib/libboost_filesystem.so /home/harper/miniconda3/envs/my_env/lib/libboost_system.so /home/harper/miniconda3/envs/my_env/lib/libboost_serialization.so /home/harper/miniconda3/envs/my_env/lib/liburdfdom_sensor.so.3.0 /home/harper/miniconda3/envs/my_env/lib/liburdfdom_model.so.3.0 /home/harper/miniconda3/envs/my_env/lib/liburdfdom_world.so.3.0 /home/harper/miniconda3/envs/my_env/lib/libconsole_bridge.so.1.0 /home/harper/miniconda3/envs/my_env/lib/libtinyxml.so
An example is test-cpp-cppadcg-joint-configurations
[ 97%] Linking CXX executable test-cpp-cppadcg-joint-configurations cd /home/harper/Apps/pinocchio/build/unittest && /home/harper/Apps/cmake-3.23.1/bin/cmake -E cmake_link_script CMakeFiles/test-cpp-cppadcg-joint-configurations.dir/link.txt --verbose=1 /usr/bin/c++ -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion -rdynamic "CMakeFiles/test-cpp-cppadcg-joint-configurations.dir/cppadcg-joint-configurations.cpp.o" -o test-cpp-cppadcg-joint-configurations -Wl,-rpath,/home/harper/Apps/pinocchio/build/src:/home/harper/miniconda3/envs/my_env/lib:/usr/local/lib ../src/libpinocchio.so.2.6.19 /home/harper/miniconda3/envs/my_env/lib/libboost_unit_test_framework.so /usr/local/lib/libcppad_lib.so -ldl /home/harper/miniconda3/envs/my_env/lib/libboost_filesystem.so /home/harper/miniconda3/envs/my_env/lib/libboost_system.so /home/harper/miniconda3/envs/my_env/lib/libboost_serialization.so /home/harper/miniconda3/envs/my_env/lib/liburdfdom_sensor.so.3.0 /home/harper/miniconda3/envs/my_env/lib/liburdfdom_model.so.3.0 /home/harper/miniconda3/envs/my_env/lib/liburdfdom_world.so.3.0 /home/harper/miniconda3/envs/my_env/lib/libconsole_bridge.so.1.0 /home/harper/miniconda3/envs/my_env/lib/libtinyxml.so
Therefore, I changed line 9 in CMakeLists.txt
in examples/codegen
to
TARGET_LINK_LIBRARIES(example-cpp-codegen-crba PUBLIC ${CMAKE_DL_LIBS} ${cppad_LIBRARY})
and the example-cpp-codegen-crba
example is compiled successfully.
Problem now solved and I will close this issue. Thank you.
Pinocchio: 2.6.19 Boost: 1.78 Eigen: 3.3.7 same log for codegen test Log: