-
-
Notifications
You must be signed in to change notification settings - Fork 49
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
Adding knowledge of libc-variant to alire #1713
Comments
It sounds sensible, although my experience outside of the standard situation is limited. I'd like to hear more from people that have to deal with these solutions. One thought is: do we risk an exponential growth of combinations? I mean, are there other variables besides libc that we are now also implicitly assuming? |
My thoughts is that we probably wouldn't more than this. My goal with this was to emulate something similar to target triples, which is what I've seen being done in both zig and rust. It looks like this is a standard that started in GCC but LLVM is using it too. In this case,, It is possible for some platforms to use 4 entries in their "triple", Rust does this, but it almost always says either "-pc-" or "-unkown-" so it didn't seem relevant for us. |
I see, thanks for the further info. Next question, what would be a reliable way of detecting which libc a system uses? Preferably without introducing new dependencies. |
Do we need special handling for libc when we already have distributions? The use case here is compatibility with Alpine distrib.
This doesn't look like a solution to me, but rather a slippery slope :) |
@mosteo I'm slowly looking into this.
@Fabien-Chouteau I played around with the idea of breaking it out by distribution in the other bug report, something like
While I'm not against doing this for every distribution that we bring support into that uses musl (there's a growing number), I dropped the idea because you have distros (e.g. Gentoo or Void Linux) that can be either musl or glibc. Target triples seemed like a sane way of handling this sort of thing in other toolchains; it's nomenclature is used in several examples listed above, and I saw it again used in the void linux link I provided, which is I guess how I was trying to resolve this problem. I know that |
This is a continuation of my thoughts on #792 (comment)
Alire has knowledge of getting
os
(linux
,windows
,macos
,freebsd
, etc),distribution
(though I don't seealpine
yet as an option), evenhost-arch
(e.g.x86-64
) but while Alire is able to be built with musl (such as on alpine) there's no easy way of detecting that from what I can see.While most distros use glibc, it looks like quite a few are using musl now. I think it's worth adding a
libc-variant
(or even justlibc
) parameter (that defaults to beingglibc
?) or similar that's passed to alire or detected on build. Maybe then gprbuild's toml will look something like:What do you think? As a bonus, a
libc-variant
could someday bemsvc
or something on windows.The text was updated successfully, but these errors were encountered: