-
Notifications
You must be signed in to change notification settings - Fork 149
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
Add support support for musl libc on linux #1632
Conversation
@BenJarg do you have suggestions on additions that need to be made to the build chain? It would be helpful if you could both:
|
Hello, here is a workflow building on musl Void: https://github.com/Chocimier/xrootd/commits/musl |
@BenJarg Do you want to take @Chocimier's CI contributions and commit those to this PR with a co-author note in the commit? e.g.
(@Chocimier that's what shows up as your name associated with commits at least according to https://github.com/Chocimier/xrootd/commit/be6e4dae6b617672ff11062d8e5a6d8fa9b97ddb.patch — if that's supposed to just be |
378e195
to
21809d4
Compare
Rebased and added @Chocimier 's contributions. I see them listed as the author and me the committer; let me know if there's something else to do to make that more clear. |
Fine for me. |
OK, it seems no one really wants to take ownership of this. So, here is the problem. The patch here depends on inference (i.e. we have Linux and not something else). That is not a good approach. This patch will only be accepted if actual availability has been prescreened and a specific cmake variable has been set for applicability. That is, there needs to be a test to determine that must is indeed available and would set a specific cmake variable (i.e. have_muscl) this would then determine what is actually compiled. I am sorry to say that the current way of doing this is way to problematic. |
@abh3 Yeah, this patch was originally an ad hoc solution to get xrootd to compile on musl for Void Linux, where glibc and musl are the two possible libcs. I went ahead and added some checks in cmake to see if all the relevent musl things are available given it's not glibc, then defines |
@BenJarg : are those tests:
unique for musl? In general it looks good, all the tests passed including the one you added for voidlinux. Maybe just to be on the safe side let's ask @amadio for his opinion ;-) |
@simonmichal As far as I can tell, |
I am taking a look at merging this for 5.6. I think some of the changes can be simplified, though, like including |
Based on work from pull request xrootd#1632. Co-authored-by: Guilherme Amadio <amadio@cern.ch>
Based on work from pull request xrootd#1632. Co-authored-by: Guilherme Amadio <amadio@cern.ch>
Based on work from pull request xrootd#1632. Co-authored-by: Guilherme Amadio <amadio@cern.ch>
This has been superceded by #1908, which I just merged into the master branch. Thanks for the initial work on this! |
Based on work from pull request xrootd#1632. Co-authored-by: Guilherme Amadio <amadio@cern.ch>
These changes are to make it possible to compile xrootd on musl libc, which is a standards conforming C standard library for linux. I put this together while packaging xrootd for void linux, which supports both glibc and musl ( void-linux/void-packages#34647 ).