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
merge /usr like it's 2012 #805
Conversation
be very, very careful. busybox installs a bunch of symlinks. you may have binaries provided by other packages silently replaced (and failing at runtime), or busybox links replaced... btw. none of the above mentioned "why /usr is broken" arguments applies to LE. EDIT: fyi, I tried this usr merge in my fork (never pushed it..) half an year ago, in a bit different way than yours, and decided it's not worth the trouble, because it fixed nothing for me, anyway.. |
good to know, default shows
both are symlinks
|
Rebased and added a couple commits, I'll build test this again and then we can hopefully get this into @MilhouseVH builds |
I've build and run tested the on RPi2, Odroid_C2 and Generic and it works. @LongChair will this mess you guys up at all? |
89eba2d
to
e6ff5b3
Compare
not sure yet, would need to try. |
@MilhouseVH thoughts? |
Not sure why but after #1004, I now have build faliures on RPi/RPi2/Generic when building Python: http://sprunge.us/gVHj (all clean builds) Maybe there's a conflict with this PR? No idea really, but reverting #1004 (while building with this PR) fixes the issue. |
Not sure how I closed this...! |
Ready to go unless any objections. |
Not sure at all, but is this build failure (on Debian 8.6) related to this commit ? |
@ozolli did you tried a fresh build ? ( |
Yes on a brand new install. For now it compiles fine on tag 7.90.009, although with some warnings where it failed on Master. |
that looks like the error @piotrasd was experiencing |
yes same, i was on ubuntu 14.04.4 LTS after upgrade to 16.04 problem gone, |
Is it possible that the error comes from my compiling machine not being "usr merged" itself? |
@ozolli no, it looks like you need to update your machine's glibc |
i just do it this, even with force update glibc, but i got before and after some segfault in dmesg from glibc, please check your dmesg ;) |
@lrusak libc6 v2.19-18 is the latest available and is installed. Too old? |
@ozolli I would assume so :) |
Debian Testing provides libc6 v2.24-7, is it enough or it is useless to upgrade too ? |
yes i have 16.04 and is fine |
I confirm it compiles fine with Debian Testing. |
I had found a hint. |
make sure LD_LIBRARY_PATH is always unset in LE's buildsystem. you dont need it for anything. also make sure your host tools are always compiled static if possible. hint: https://github.com/LibreELEC/LibreELEC.tv/blob/master/config/path#L203-L205 replace with "unset LD_LIBRARY_PATH" |
i have no LD_LIBRARY_PATH set in my enviroment. The LD_LIBRARY_PATH from LE is problematic, at this point. edit: |
This is more or less for aesthetic purposes for LE however, we should get with the times.
This builds and runs as I have tested on an RPi2, but this isn't till LE9.0 anyway.
reference:
https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
https://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken/
though the cases aren't explictly relevant to us
etc...
There are symlinks for:
These are needed for proper operation of the system, they also are there so we don't have to change every hardcoded
/bin/sh
to/usr/bin/sh
although I have already done that in another branch.Some people may not be in favour of this as they may deem it unnecessary however, I think it is time to conform to modern OS's and shove things around when we get to the LE9.0 merge window.