You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've noticed for a while that the pkg-config files have incorrect references to the boost libraries on homebrew, passing cmake target names to the linking args like -lBoost::thread instead of -lboost_thread. #2751 does some string manipulation to fix this, but it doesn't fix the issue on homebrew because those libraries have an extra -mt (for multithreaded I believe).
$ ls /usr/local/opt/boost/lib | grep thread
libboost_thread-mt.a
libboost_thread-mt.dylib
This causes CI error messages like the following when trying to compile example code based on pkg-config flags:
399: ld: library not found for -lboost_thread
In my previous debugging, I tried to use a generator expression to extract the boost library names from cmake targets. For example, the following patch is able to write the absolute path of the library for each target:
cmake has a different generator expression that seems like it would be perfect for this case: TARGET_LINKER_FILE_BASE_NAME, but it doesn't work for boost and has been reported upstream (boostorg/boost_install#41, and cmake issue 20611).
The text was updated successfully, but these errors were encountered:
Copied from #2751 (review):
I've noticed for a while that the pkg-config files have incorrect references to the boost libraries on homebrew, passing cmake target names to the linking args like
-lBoost::thread
instead of-lboost_thread
. #2751 does some string manipulation to fix this, but it doesn't fix the issue on homebrew because those libraries have an extra-mt
(for multithreaded I believe).This causes CI error messages like the following when trying to compile example code based on pkg-config flags:
In my previous debugging, I tried to use a generator expression to extract the boost library names from cmake targets. For example, the following patch is able to write the absolute path of the library for each target:
cmake has a different generator expression that seems like it would be perfect for this case:
TARGET_LINKER_FILE_BASE_NAME
, but it doesn't work for boost and has been reported upstream (boostorg/boost_install#41, and cmake issue 20611).The text was updated successfully, but these errors were encountered: