-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Default libprefix on Debian like distribution seems not good. #1972
Comments
Would be quite helpful if someone could confirm if this issue affects Debian and report their findings here. ...and based on such findings, the subject was renamed from current vague "Debian like distribution" to either "Debian and derived distributions" or "Ubuntu. |
I can confirm this also happens on ubuntu latest release: DISTRIB_ID=Ubuntu |
There's a file in /etc/ld.so.conf.d/x86_64-linux-gnu.conf where it should be added the default route. |
@jonassmedegaard Same "business" with Debian unstable. |
I think the root cause might be in Debian. See that bug & patch (unfortunately still in review after 2 years) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685519 |
so what is the workaround for now? Even if you install in a non default directory, the resulting libraries are still wrapped in an extra folder describing the architecture :( |
According to Debian bug https://bugs.debian.org/685519 referenced above, this issue was fixed since glibc 2.25-4 release December 2017 and included in stable Debian 10 (a.k.a. Buster) released in the spring. @mokafolio which system do you use where this is still an issue? |
I am on ubuntu 19.04 using meson version 0.51.2. When I leave |
The issue tracked here is that default lib path is broken, not that default /usr/local path includes multiarch. The fix done in December 2017 was to have glibc properly resolve multiarch paths below /usr/local. @mokafolio Could you please tell: Do the code work and its paths just look weird to you, or do glibc fail to resolve the "weirdly" placed libraries? Answering that can help clarify it this issue is in fact solved by now, and can be closed. I recommend that, regardless of whether it works or not, if you feel that meson is wrong in using multiarch paths by default you file that as a separate issue to avoid confusing+bloating this one. |
@jonassmedegaard the weird looking paths are not resolved. Sorry for hijacking this thread, that was not my intention. I'll setup a simple test program, create a new issue and link it from here for future reference. Thanks! |
Uhm, I am confused now - or maybe my choice of words was ambiguous: When talking about "paths being resolved" I specifically mean glibc internally making sense of the paths generated by meson instead of failing to make sense of it (I did not mean if all issues related to this topic was fixed). @mokafolio: When you say "the weird looking paths are not resolved" do you then talk about the same as me? What error message do you get when it fails? |
@jonassmedegaard Please check the separate issue. It explains things in more detail including error messages and a demo project to reproduce the issue. Thank you! |
running |
AFAIU |
By default, on 64 bits Debian like distribution, meson will install library in
/usr/local/lib/x86_64-linux-gnu
.However, this directory is not in the library searched path by default (
/usr/local/lib
is), and so, the library cannot be linked.Here a small reproducer using this small test project test_meson.tar.gz :
To be honest, I'm not sure it is a
meson
bug. On Fedora,/usr/local/lib
is even not in the default search paths. Searching a bit about this issue, it seems that it is not a easy case, different distributions will set different multiarch libprefix and default library search paths. (andlib/x86_64-linux-gnu
is the good libprefix if installing in/usr
)However, it seems really surprising, that using the default options, meson is installing something "not working".
The text was updated successfully, but these errors were encountered: