ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The ordering of link flags to the compiler is important. See https://stackoverflow.com/questions/45135/why-does-the-order-in-which-libraries-are-linked-sometimes-cause-errors-in-gcc for a reasonable explanation.
Try changing the order that your libraries are listed, so that ${ZED_LIBRARIES}
is listed first, and ${X11_LIBRARIES}
is listed after it.
P.S. - Given that zedlabs is officially providing ROS drivers and an official SDK for the TK1, those should work together. Did you report your previous troubles to them, when you first found that you needed additional libraries when building on the TK1?
2 | No.2 Revision |
The ordering of link flags to the compiler is important. See https://stackoverflow.com/questions/45135/why-does-the-order-in-which-libraries-are-linked-sometimes-cause-errors-in-gcc for a reasonable explanation.
Try changing the order that your libraries are listed, so that ${ZED_LIBRARIES}
is listed first, and ${X11_LIBRARIES}
is listed after it.
P.S. UPDATE 1
Since changing the link order doesn't help, you should confirm that the XInitThreads
symbol is actually present in your version of the X11 library. You can do this with nm: nm -D libX11.so | grep XInitThreads
. The resulting symbol type should be T
, indicating that the function is present in the "text" section of the library. (read the man page for nm for more details). On my desktop system, libX11.so is in /usr/lib/x86_64-linux-gnu , but since you're on the TK1 your copy of libX11.so will probably be somewhere different.
P.S. - Given that zedlabs is officially providing ROS drivers and an official SDK for the TK1, those should work together. Did you report your previous troubles to them, when you first found that you needed additional libraries when building on the TK1?