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

ethercat_hardware package doesn't build currently #62

Closed
toliver opened this issue Jan 9, 2014 · 5 comments
Closed

ethercat_hardware package doesn't build currently #62

toliver opened this issue Jan 9, 2014 · 5 comments
Assignees

Comments

@toliver
Copy link

toliver commented Jan 9, 2014

When building ros from source (I'm doing it in a Raspberry Pi, but the same thing happens if you build it in an AMD64 PC) motorconf.cpp won't compile. The error is probably due to recent changes in the rosconsole package.

/code/hydro/test_catkin_ws/src/pr2_ethercat_drivers/ethercat_hardware/src/motorconf.cpp: In function ‘int main(int, char**)’:
/code/hydro/test_catkin_ws/src/pr2_ethercat_drivers/ethercat_hardware/src/motorconf.cpp:642:3: error: ‘log4cxx’ has not been declared
/code/hydro/test_catkin_ws/src/pr2_ethercat_drivers/ethercat_hardware/src/motorconf.cpp:642:22: error: expected ‘;’ before ‘logger’
/code/hydro/test_catkin_ws/src/pr2_ethercat_drivers/ethercat_hardware/src/motorconf.cpp:643:3: error: ‘logger’ was not declared in this scope
/code/hydro/test_catkin_ws/src/pr2_ethercat_drivers/ethercat_hardware/src/motorconf.cpp:643:20: error: ‘g_level_lookup’ is not a member of ‘ros::console’
make[2]: *** [pr2_ethercat_drivers/ethercat_hardware/CMakeFiles/motorconf.dir/src/motorconf.cpp.o] Error 1
@ahendrix
Copy link
Member

ahendrix commented Jan 9, 2014

Thanks for the heads-up!

You are correct; this is due to a recent change in the ros_comm and roscpp_core stacks to remove a dependency on log4cxx. I'm going to reach out to the core ROS team to see if they have a recommendation on how to resolve this.

@ahendrix
Copy link
Member

ahendrix commented Jan 9, 2014

I've asked for a general recommendation about this on ROS answers: http://answers.ros.org/question/116436/missing-log4cxx-on-latest-ros_comm/

@dirk-thomas
Copy link

The code should depend and include log4cxx explicitly when using it itself. Relying on transitive dependencies is not stable and by no means guaranteed.

You might also consider the function used by the get/set logger level RPC: ros::console::set_logger_level(...) But you have to explicitly invoke ros::console::notifyLoggerLevelsChanged() when logger levels have been successfully set in order for them to be applied.

@trainman419
Copy link
Contributor

I may have to revert this fix, pending discussion on http://answers.ros.org/question/116436/missing-log4cxx-on-latest-ros_comm/

@trainman419 trainman419 reopened this Jan 10, 2014
@dirk-thomas
Copy link

Please address the missing explicit dependency on log4cxx to unbreak the build on the farm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants