-
Notifications
You must be signed in to change notification settings - Fork 726
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
Use version-script with cmake builds #776
Conversation
We're going to need a check for the existence of version-script I think - there are some examples out there like https://github.com/jrl-umi3218/jrl-cmakemodules/blob/master/version-script.cmake |
I am also seeing failures in our internal jenkins for our statically linked DEB and RPM builds with this failure:
I'm not sure why. |
We have limited time left before the 1.0.0 stable release. We're aiming to publish it one week from today and so are hoping to have everything wrapped up and ready to go by end of business on Wednesday, to account for the american thanksgiving holiday weekend. To resolve your concern about the ABI/namespace change in time for the 1.0.0 release, I have placed a PR to bump the SO version: #778 |
906952f
to
e82e98a
Compare
I just rebased this PR with the upstream |
This PR is also missing using the libclamunrar.map as seen in #816. I have a commit in a personal/internal branch that i'm testing and if testing goes well, I'll push it here along with pushing a commit that resolves the linking issue I observed with the check_clamav unit test program when linking a static libxml2.a library. |
Only use version-script on UNIX, except APPLE
c426a0b
to
c3b6720
Compare
libclamav.map: Add missing symbol and correct symbol version. libclamunrar.map: Use symbol version-script for libclamunrar, too. Thank you to Sebastian Andrzej Siewior for the help. Also fix a unittest linker issue... Adding libclamav.map causes libclamav to no longer export zlib when zlib is statically linked. What was weird is that libxml2 depends on zlib and the check_clamav unit test program was using those symbols from libclamav. Introducing libclamav.map broke that even though we were explicitly trying to link check_clamav with ZLIB::ZLIB as well. For reasons I can't explain, linking check_clamav with the ClamAV::common library managed to properly link it with ZLIB::ZLIB and so the undefined references go away. Also in this commit, I've removed the `.map` files from .gitignore I'm not sure why they were ignored before.
This is an attempt to resurrect symbol versioning and fix #775 . One problem is the new unit tests that link to libclamav and test internal functions do not have access to the symbols. I started adding them to the symbol map, but I don't think this is the proper solution. I think instead there perhaps be a static library that is used for the unit tests?