-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix conan.tools.files.collect_libs() not handling files with multiple file extensions. #17816
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
base: develop2
Are you sure you want to change the base?
Conversation
… file extensions. Libraries on Linux often have a version number behind their file extension. E.g. `libnode.so.108`.
Hi @JulianGro Thanks for your contribution! Some quick feedback:
|
Thank you for your feedback @memsharded. I am a newbie when it comes to Conan, so it is highly appreciated.
Problem with that approach is that Is Personally, I feel like finding |
That is unexpected. You can check in
I am not fully sure, I think CMake |
As far as I can tell, both directories are correctly defined.
Not by libnode's build system at least. I looked at how Debian packages it, and they create the symlink in their own code later; Not sure if that matters though. |
That makes sense, as it conforms more to standard practices, it looks like the build system is lacking the creation of such symlinks, which are expected by other parts of the ecosystem. I think it would make sense that the Conan |
Sounds reasonable to me. |
Hi @JulianGro Sorry for not following up earlier
I think this might be breaking behavior, there might be users using
I am fine with adding a warning, would you like to re-purpose this same PR to print that warning instead? Thanks again for your contribution. |
Libraries on Linux often have a version number behind their file extension. E.g.
libnode.so.108
. In our case, we are building libnode downstream and it automatically gets its version appended by its build system. I felt like changing the behaviour of collect_libs() to include files like that can save someone else some headache, since people might expect collect_libs() to just find the libraries regardless of them having weird names. In our case, it took us an entire week to figure this out, since it only caused visible errors at the end of our entire build process.Changelog: (Fix): Fix conan.tools.files.collect_libs() not handling .so files with multiple file extensions, such as libnode.so.108.
Docs: https://github.com/conan-io/docs/pull/XXXX Todo
develop
branch, documenting this one.