Skip to content
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

merging two lfs build. #2

Closed
SR-dude opened this issue Jun 11, 2016 · 2 comments
Closed

merging two lfs build. #2

SR-dude opened this issue Jun 11, 2016 · 2 comments

Comments

@SR-dude
Copy link

SR-dude commented Jun 11, 2016

I gave up on the CBLS wiki. That didn't work too well. The earlier CLFS
book seemed to work rather well. Shame. I did save my work, however.

Now
I have built two identical lfs distro's. The same. The same version of packages.
The difference is one is 32-bit and the other is 64-bit. I went all of the way and
installed X and my desktop environment in both.

What are my chances in borrowing the 32-bit libs, for multilib support?

@elkrejzi
Copy link
Owner

Well, since LFS uses /usr/lib for both 32 and 64 bit libraries, it might be problematic.

My scripts install everything that's 32 bit in /usr/lib32, and if there's a program that's required too (gtk+{2,3}, glib, gdk-pixbuf, llvm, etc), it's installed in /usr/bin with -32 as a suffix. Also, some programs need header hacks, while other put their arch specific includes in /usr/lib* (llvm comes to my mind).

However, to answer your question: It might not be just that easily. If you don't plan on compiling anything, then it will be okay - just take care not to overwrite something from 64bit OS with 32 bit libraries, or you're going to have a bad time (hint: 32 bit dynamic linker should be in /lib, you can create a symlink to the one in /lib32, if you choose to move your libs there).

@SR-dude
Copy link
Author

SR-dude commented Jun 13, 2016

I did it. Over the weekend I tried different setups. Your hint about the dynamic linker was correct.
For some unknown reason, the 32-bit variety of ld-linux.so.2 had to come first in /lib. I tried it
vice versa with the 64-bit version and it didn't work. I wasn't able to run any 32-bit binaries. That
meant 64-bit dynamic linker got pushed into /lib64. So, in /lib I just have the kernel modules, some
udev rules and the two recreated sym links to the linker and libc.so6. The links point to /lib32.

In /usr it was the other way around. /usr/lib is now a sym link to /usr/lib64. Vice Versa, I found that
my xserver couldn't find the 64-bit xorg drivers which were hard-coded to /usr/lib when I compiled
the server.

Things mostly work. Steam. Playing 32-bit games. Playing 64-bits.
There are some quirks with work arounds..

On Sat, Jun 11, 2016 at 11:05 AM, elkrejzi notifications@github.com wrote:

Well, since LFS uses /usr/lib for both 32 and 64 bit libraries, it might
be problematic.

My scripts install everything that's 32 bit in /usr/lib32, and if there's
a program that's required too (gtk+{2,3}, glib, gdk-pixbuf, llvm, etc),
it's installed in /usr/bin with -32 as a suffix. Also, some programs need
header hacks, while other put their arch specific includes in /usr/lib*
(llvm comes to my mind).

However, to answer your question: It might not be just that easily. If you
don't plan on compiling anything, then it will be okay - just take care not
to overwrite something from 64bit OS with 32 bit libraries, or you're going
to have a bad time (hint: 32 bit dynamic linker should be in /lib, you can
create a symlink to the one in /lib32, if you choose to move your libs
there).


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#2 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AA5Gz33UaAsjVPMFQ8f4zPuE14Iz6ZYpks5qKs64gaJpZM4IzkY_
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants