-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
When I build tools/class_loader
, the installed class_loader.pc
seems to be broken.
Probably this is a cmake issue. It seems to configure the dependencies as a semicolon-separated string, instead of space-separated string. On Ubuntu 20.04 it additionally writes the cmake target aliases instead of the actual libraries.
Output on Ubuntu 18.04:
prefix=/path/to/ws/install/tools/class_loader
exec_prefix=/path/to/ws/install/tools/class_loader
libdir=${prefix}/lib
includedir=${prefix}/include
Name: class_loader
Description: "Package for loading plugins at runtime"
Version:
Requires: console_bridge
Libs: -L${libdir} -lclass_loader /usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_atomic.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/path/to/ws/install/base/logging/lib/libbase-logging.so;/usr/lib/libPocoFoundation.so;dl
Cflags: -I${includedir}
Output on Ubuntu 20.04:
prefix=/path/to/ws/install/tools/class_loader
exec_prefix=/path/to/ws/install/tools/class_loader
libdir=${prefix}/lib
includedir=${prefix}/include
Name: class_loader
Description: "Package for loading plugins at runtime"
Version:
Requires: console_bridge
Libs: -L${libdir} -lclass_loader Boost::thread;Boost::system;/path/to/ws/install/base/console_bridge/lib/libconsole_bridge.so;/path/to/ws/install/base/logging/lib/libbase-logging.so;/usr/lib/x86_64-linux-gnu/libPocoFoundation.so;dl
Cflags: -I${includedir}
Expected output (or similar):
prefix=/path/to/ws/install/tools/class_loader
exec_prefix=/path/to/ws/install/tools/class_loader
libdir=${prefix}/lib
includedir=${prefix}/include
Name: class_loader
Description: "Package for loading plugins at runtime"
Version:
Requires: console_bridge
Libs: -L${libdir} -lclass_loader /usr/lib/x86_64-linux-gnu/libboost_thread.so /usr/lib/x86_64-linux-gnu/libboost_system.so /usr/lib/x86_64-linux-gnu/libboost_chrono.so /usr/lib/x86_64-linux-gnu/libboost_date_time.so /usr/lib/x86_64-linux-gnu/libboost_atomic.so /usr/lib/x86_64-linux-gnu/libpthread.so /path/to/ws/install/base/console_bridge/lib/libconsole_bridge.so /path/to/ws/install/base/logging/lib/libbase-logging.so /usr/lib/x86_64-linux-gnu/libPocoFoundation.so dl
Cflags: -I${includedir}
For comparison, the version installed by my ROS distribution:
prefix=/opt/ros/melodic
Name: class_loader
Description: Description of class_loader
Version: 0.4.1
Cflags: -I${prefix}/include -I/usr/include
Libs: -L${prefix}/lib -lclass_loader /usr/lib/x86_64-linux-gnu/libboost_thread.so /usr/lib/x86_64-linux-gnu/libboost_system.so /usr/lib/x86_64-linux-gnu/libboost_chrono.so /usr/lib/x86_64-linux-gnu/libboost_date_time.so /usr/lib/x86_64-linux-gnu/libboost_atomic.so /usr/lib/x86_64-linux-gnu/libpthread.so /usr/lib/libPocoFoundation.so -ldl /usr/lib/x86_64-linux-gnu/libconsole_bridge.so.0.4
Requires:
Metadata
Metadata
Assignees
Labels
No labels