Bug #1439
pkgconfig is anvalid
Status: | Resolved | Start date: | 02/27/2013 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | S. Wrede | % Done: | 100% | |
Category: | Build System | |||
Target version: | rsb-0.9 |
Description
The library name in the rsb0.9 pc file is invalid, resulting in:
/usr/bin/ld: cannot find -lrsb.0.9
when using pkgconfig instead of cmake. Additionally, linking boost-system is missing, resulting in
/usr/bin/ld: /tmp/ccIbmlCs.o: undefined reference to symbol 'boost::system::system_category()'
/usr/bin/ld: note: 'boost::system::system_category()' is defined in DSO /usr/lib/libboost_system.so.1.46.1 so try adding it to the linker command line
/usr/lib/libboost_system.so.1.46.1: could not read symbols: Invalid operation
A valid Libs:
line in the pc file would look like this:
Libs: /usr/lib/librsb.so.0.9 -lboost_system
(tested on precise 64bit)
Related issues
Associated revisions
Export boost dependency to pkg-config file by default
- Fixed rsb library link in pkg-config file
- Introduced cmake user option EXPORT_BOOST_DEPENDENCY_TO_PKGCONFIG ("On" by deault)
- If set, boost include pathes and libraries will be includes in the pkg-config file
fixes #1439
added boost system to library dependencies, fixes #1439, fixed package config for mac
History
#1 Updated by J. Wienke over 11 years ago
I think adding boost conflicts with #1292.
#2 Updated by Anonymous over 11 years ago
I don't really get #1292 and its relation to this issue. So is the external problem in this case, that boost doesn`t provide a pc file?
But anyhow, I think not-working-pkgconfig beats useful-when-cross-compiling. ;)
#3 Updated by J. Wienke over 11 years ago
Sure, but in the end we need to find out what to do with dependencies, which do not have a pc file. I think Alexandre requested the same things about the external dependencies.
#4 Updated by Anonymous over 11 years ago
- Status changed from New to In Progress
- Assignee set to Anonymous
I will fix this issue for now by including the boost lib, and opened an issue for better handling of the boost dependency (or in general dependencies without pc file) in the pkgconfig file, see #1441.
#5 Updated by Anonymous over 11 years ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
Applied in changeset rsb-cpp|commit:18832f4070afd4ab69d6adb6eb69bb10bf88d634.
#6 Updated by S. Wrede about 11 years ago
- Status changed from Resolved to In Progress
- Assignee changed from Anonymous to S. Wrede
The current layout of the pkg-config file is (again) broken, in particular with boost_system. pkg-config gives the following information:
Sebastians-MacBook-Air:build swrede$ pkg-config --libs rsb0.9 -L/usr/local/lib /usr/local/Cellar/rsb/HEAD/lib/librsb.dylib.0.9 -lboost_system /usr/local/lib/libboost_regex-mt.dylib /usr/local/lib/libboost_date_time-mt.dylib /usr/local/lib/libboost_program_options-mt.dylib -Wl,--rpath -Wl,/usr/local/Cellar/rsc/HEAD/lib /usr/local/Cellar/rsc/HEAD/lib/librsc.0.9.dylib
This is the same on MacOS and Linux. Maybe that this is no problem on Linux, but it is on MacOS.
Is there any reason not to handle the boost_system dependency in the way the other boost deps are represented?
#7 Updated by S. Wrede about 11 years ago
- Status changed from In Progress to Resolved
Applied in changeset rsb-cpp|commit:8a80d4726a833937557526ae9eb0707233df411d.