antonilo / vision_locomotion

Project Code for the paper "Learning Visual Locomotion with Cross-Modal Supervision" (ICRA2023)
https://antonilo.github.io/vision_locomotion/
69 stars 10 forks source link

catkin build error #5

Closed boyuandeng closed 1 year ago

boyuandeng commented 1 year ago

hello! antonilo, amazing work for this repo! but when i try to catkin build in my laptop, an error occur... rrors << agile_locomotion:make /home/ubuntu/cms_ws/catkin_cms/logs/agile_locomotion/build.make.013.log /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in functionagile_locomotion::AgileLocomotion::loadParameters()': agile_locomotion.cpp:(.text+0x751): undefined reference to ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x852): undefined reference toros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less, std::allocator<std::pair<std::string const, std::string> > > const&)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x913): undefined reference to ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x9d4): undefined reference toros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less, std::allocator<std::pair<std::string const, std::string> > > const&)' /usr/bin/ld: agile_locomotion.cpp:(.text+0xa95): undefined reference to ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o:agile_locomotion.cpp:(.text+0xb56): more undefined references toros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less, std::allocator<std::pair<std::string const, std::string> > > const&)' follow /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function agile_locomotion::AgileLocomotion::loadParameters()': agile_locomotion.cpp:(.text+0x172a): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x195c): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x19ce): undefined reference to ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x1a76): undefined reference toros::NodeHandle::getParam(std::string const&, std::string&) const' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function agile_locomotion::AgileLocomotion::AgileLocomotion(ros::NodeHandle const&, ros::NodeHandle const&)': agile_locomotion.cpp:(.text+0x37da): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x3863): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x38e8): undefined reference to ros::this_node::getName()' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in functionagile_locomotion::AgileLocomotion::updateState()': agile_locomotion.cpp:(.text+0x4d56): undefined reference to ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in functionagile_locomotion::AgileLocomotion::startWalking()': agile_locomotion.cpp:(.text+0x6377): undefined reference to logging::Logging::createDirectories(std::string, std::string*)' /usr/bin/ld: agile_locomotion.cpp:(.text+0x63bd): undefined reference tologging::Logging::newLog(std::string const&)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function agile_locomotion::AgileLocomotion::startExecutionCallback(boost::shared_ptr<std_msgs::Empty_<std::allocator<void> > const> const&)': agile_locomotion.cpp:(.text+0x6864): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function void ros::Publisher::publish<visualoco_msgs::Proprioception_<std::allocator<void> > >(visualoco_msgs::Proprioception_<std::allocator<void> > const&) const': agile_locomotion.cpp:(.text._ZNK3ros9Publisher7publishIN14visualoco_msgs15Proprioception_ISaIvEEEEEvRKT_[_ZNK3ros9Publisher7publishIN14visualoco_msgs15Proprioception_ISaIvEEEEEvRKT_]+0x2e1): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function bool quadrotor_common::getParam<std::string>(std::string const&, std::string&, ros::NodeHandle const&)': agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE]+0x3e): undefined reference toros::NodeHandle::getParam(std::string const&, std::string&) const' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE]+0x13e): undefined reference to ros::console::print(ros::console::FilterBase*, void*, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE]+0x1f5): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE]+0x265): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamISsEEbRKSsRT_RKN3ros10NodeHandleE]+0x37b): undefined reference to ros::console::print(ros::console::FilterBase*, void*, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in functionbool quadrotor_common::getParam(std::string const&, float&, ros::NodeHandle const&)': agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE]+0x3e): undefined reference to ros::NodeHandle::getParam(std::string const&, float&) const' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE]+0x140): undefined reference toros::console::print(ros::console::FilterBase, void, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits, std::allocator > const&, char const, int, char const)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE]+0x1f5): undefined reference to ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE]+0x265): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIfEEbRKSsRT_RKN3ros10NodeHandleE]+0x37b): undefined reference to `ros::console::print(ros::console::FilterBase, void, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits, std::allocator > const&, char const, int, char const)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function bool quadrotor_common::getParam<double>(std::string const&, double&, double const&, ros::NodeHandle const&)': agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x3d): undefined reference toros::NodeHandle::getParam(std::string const&, double&) const' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x12c): undefined reference to `ros::console::print(ros::console::FilterBase, void, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits, std::allocator > const&, char const, int, char const)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x1e5): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x255): undefined reference to ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIdEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x36e): undefined reference toros::console::print(ros::console::FilterBase, void, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits, std::allocator > const&, char const, int, char const)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function bool quadrotor_common::getParam<int>(std::string const&, int&, int const&, ros::NodeHandle const&)': agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x3d): undefined reference toros::NodeHandle::getParam(std::string const&, int&) const' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x12a): undefined reference to ros::console::print(ros::console::FilterBase*, void*, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x1e5): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x255): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIiEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x36c): undefined reference to ros::console::print(ros::console::FilterBase*, void*, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in functionbool quadrotor_common::getParam(std::string const&, bool&, bool const&, ros::NodeHandle const&)': agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x3d): undefined reference to ros::NodeHandle::getParam(std::string const&, bool&) const' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x12b): undefined reference toros::console::print(ros::console::FilterBase, void, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits, std::allocator > const&, char const, int, char const)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x1e5): undefined reference to ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x255): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE[_ZN16quadrotor_common8getParamIbEEbRKSsRT_RKS3_RKN3ros10NodeHandleE]+0x372): undefined reference to `ros::console::print(ros::console::FilterBase, void, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits, std::allocator > const&, char const, int, char const)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function ros::SubscriptionCallbackHelperT<boost::shared_ptr<std_msgs::Empty_<std::allocator<void> > const> const&, void>::deserialize(ros::SubscriptionCallbackHelperDeserializeParams const&)': agile_locomotion.cpp:(.text._ZN3ros27SubscriptionCallbackHelperTIRKN5boost10shared_ptrIKN8std_msgs6Empty_ISaIvEEEEEvE11deserializeERKNS_43SubscriptionCallbackHelperDeserializeParamsE[_ZN3ros27SubscriptionCallbackHelperTIRKN5boost10shared_ptrIKN8std_msgs6Empty_ISaIvEEEEEvE11deserializeERKNS_43SubscriptionCallbackHelperDeserializeParamsE]+0x1e4): undefined reference toros::console::initializeLogLocation(ros::console::LogLocation, std::string const&, ros::console::levels::Level)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in function agile_locomotion::AgileLocomotion::AgileLocomotion()': agile_locomotion.cpp:(.text._ZN16agile_locomotion15AgileLocomotionC2Ev[_ZN16agile_locomotion15AgileLocomotionC5Ev]+0x84): undefined reference toros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less, std::allocator<std::pair<std::string const, std::string> > > const&)' /usr/bin/ld: agile_locomotion.cpp:(.text._ZN16agile_locomotion15AgileLocomotionC2Ev[_ZN16agile_locomotion15AgileLocomotionC5Ev]+0xd6): undefined reference to ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in functionmain': agile_locomotion.cpp:(.text.startup+0x4f): undefined reference to ros::init(int&, char**, std::string const&, unsigned int)' /usr/bin/ld: CMakeFiles/agile_locomotion.dir/src/agile_locomotion.cpp.o: in functionros::SubscriptionCallbackHelperT<boost::shared_ptr<visualocomsgs::VisuaLatent<std::allocator > const> const&, void>::deserialize(ros::SubscriptionCallbackHelperDeserializeParams const&)': agile_locomotion.cpp:(.text._ZN3ros27SubscriptionCallbackHelperTIRKN5boost10shared_ptrIKN14visualoco_msgs12VisuaLatent_ISaIvEEEEEvE11deserializeERKNS_43SubscriptionCallbackHelperDeserializeParamsE[_ZN3ros27SubscriptionCallbackHelperTIRKN5boost10shared_ptrIKN14visualoco_msgs12VisuaLatent_ISaIvEEEEEvE11deserializeERKNS_43SubscriptionCallbackHelperDeserializeParamsE]+0x44c): undefined reference to ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/agile_locomotion.dir/build.make:423: /home/ubuntu/cms_ws/catkin_cms/devel/lib/agile_locomotion/agile_locomotion] Error 1 make[1]: *** [CMakeFiles/Makefile2:320: CMakeFiles/agile_locomotion.dir/all] Error 2 make: *** [Makefile:141: all] Error 2

i guess it can not find ros package...but i am rookie for use catkin_simple, i just know a little knowledge in catkin_make...

i tried find_package(catkin_simple REQUIRED COMPONENTS roscpp std_msg...) and test add find_package(catkin REQUIRED COMPONENTS roscpp std_msg...) in controller/CMakeLists.txt, but not work, and i also use message("catkin_LIBRARIES: ${catkin_LIBRARIES}") print catkin_LIBRARIES, but $catkin_LIBRARIES is none! so could you help me? thanks a lot!

boyuandeng commented 1 year ago

I solved it. i will pub go1 V-CMS repo after soon, in addition, pub the go1's urdf which match the raisim for train.

xyyl commented 1 year ago

Hi @BoyuanDeng, It's very lucky to see your comments here. I am studying CMS, and encounter the same problem which you have solved. I have tried many times and didn't solve the problem. could you share me with the method? Thank you very much!

boyuandeng commented 1 year ago

@xyyl hello it caused by c-types of touch, you can download c-touch of c11 in torch.com, and delete -DxxxFLAG=1(just for adapt two standrad compile style of c) when you compile.notice that just replace part of c in torch.

xyyl commented 1 year ago

Thank you very much! That's really helpful for me.

antonilo commented 1 year ago

@BoyuanDeng would u mind adding a pull request with your changes for installation?