libcoin (HEAD) now supports boost < 1.47 [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2012-02-02T23:27:31+00:00


Summary:

On February 2nd, 2012, Michael Grønager expressed frustration with the Redmond_OS_not_to_be_mentioned as it requires specific declarations for dynamic libraries. He mentioned that enabling dynamic libraries was on his to-do list but not yet supported on Windows. In order to use the dll, class definitions need to be prepended with __declspec(dllexport) during compilation and __declspec(dllimport) when used. Michael mentioned his annoyance with this requirement and explained that he has a framework to automate this using CMake, but it has not been tested for libcoin.The conversation then shifted to the issue of using static libraries, specifically boost. The user had libboost*.so files but was missing libboost*.a files. Michael acknowledged the problem and mentioned that most distributions do not have static libraries installed by default. Luke-Jr patched the code to use shared libraries instead of static libraries, which is considered best practice. CoinQt was also causing problems, but these were fixed in the patch.On February 2, 2012, Michael sent out an email requesting a test and feedback. It was discovered that the issue was caused by using static libraries instead of shared ones, which is best practice except for certain scenarios. Most distributions do not come with static libraries installed by default. CoinQt was also causing issues, but a patch was created to fix them. The patch involved commenting out lines in the CMakeLists.txt files that set Boost_USE_STATIC_LIBS and QT4_FOUND, and replacing them with the # symbol to comment them out.Michael Grønager, Director of Ceptacle, added a simplified fallback class to boost::asio::signal_set for compilation on platforms with older versions of Boost. This update allows compilation on most currently deployed Linux systems that use Boost 1.42. The root CMakeLists.txt file has also been updated to only require version 1.42. Michael acknowledges that there may be hidden errors on committers' machines and encourages testing and feedback regarding the updates. Contact information for Michael and Ceptacle can be found in his signature.


Updated on: 2023-08-01T03:16:36.283930+00:00