New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Boost.Test 1.65.1, 1.66.0 link problem (Windows) #94
Comments
Just tested - the same problem also exists for boost_test 1.66.0 |
Thank you for testing, we will re-test this after we're done with the 1.66.0 set. we are still working on it. |
I have the same issue with my monolithic package (https://github.com/conan-community/conan-boost/issues/80) Related: microsoft/vcpkg#2444 Apparently, it works removing from the Is ok to remove them from libraries to link with? @grafikrobot Please give me some light 💡 |
For what I can understand about the *exec_monitor library, probably I should add an option to the package |
Same problem for me. |
Very interesting... great find! Although.. seems pretty annoying from user perspective. So is this a workaround, or just a nuance in the usage of the library that the user needs to be aware of? Trying to figure out if we should change our package or not. |
Actually this workaround allows to use boost test without linking any library. But boost docs say that "static library usage variant" still can be used, it's not deprecated. As for *exec_monitor libs, they indeed look obsolete and completely replaced by boost_unit_test_framework lib; boost 1.66 docs don't even mention them. Test execution monitor was documented for the last time in http://www.boost.org/doc/libs/1_33_1/libs/test/doc/index.html, program execution monitor - in http://www.boost.org/doc/libs/1_58_0/libs/test/doc/html/index.html. And if BOOST_TEST_NO_LIB is not defined, only boost_unit_test_framework lib is auto-linked on <boost/test/unit_test.hpp> inclusion, not everything else. So personally I think that excluding *exec_monitor libs from the package would be OK. |
@db4 thanks. I will exclude it in the monocytic recipe and if someone thinks that it is wrong I will be glad to listen. |
Without knowing too much details: Vcpkg uses a "manual link" directory. Libs in this folder are not linked by the package manager but still available for manual linking (or boost auto linking?). This is useful for optional libraries that may lead to linker errors. I guess you can do something similar with conan? |
Yes, I'm not removing the library, just not including it in the |
How would one have the path to such a lib with which to link manually/optionally (if it's not in the libs list)? Would this require some extra variable to be captured in the |
That is a good question, but until no one tell me that need that unknown exec_monitor library I will just remove it from the list. Otherwise I could add an option (excluded from package_id) to add it. |
With cmake it is CONAN_LIB_DIRS_BOOST.TEST |
I'm saying that if we explicitly remove the |
I think it can be nicely modeled with a new option (excluded from the sha). It's not needed a new cpp_info property. You could choose the option if include the "optionals" or not. But as I said, I'm removing it from the list until I get more feedback |
Hrmn, If we're not going to include it in the SHA, then I don't think i would use an option. If the binary is going to be in the package either way, then the question is only whether or not the user wants to link with it. And, in that case, a new extra/optional generated variable (like a user variable) seems to make the most sense to me. I guess it comes down to whether or not the user makes their choice upon |
I personally don't think we need option here. it's the same package, library is always exported, it's just not automatically linked as it's not exposed into |
I'm with @SSE4 .. We just need to remove it and just document that it's there if someone really has a need for it. |
Ok, so we do need to modify our library, and remove it. Got it, thanks. Let's keep this ticket open until thats done. |
Any progress with this? The fix looks simple enough, why not to commit it? |
@db4 Sorry.. I've been "distracted" trying to fix the boost_python failures. I'll reprioritize and get to this later today. |
@db4 fixed in testing/1.66.0, please try it and tell me if it works. If it works, I'll push to the other branches. |
@grafikrobot It works for me, thank you. |
Consider the following test example:
conanfile.txt
CMakeLists.txt
main.cpp
Trying to build it:
The last command fails with:
If I edit .vcxproj file to remove
libboost_prg_exec_monitor.lib
from link libraries, or reorder them to makelibboost_test_exec_monitor.lib
coming first, it links OK.The text was updated successfully, but these errors were encountered: