How can I Compile and install Glibc on GoboLinux?

After many failed attempts to Compile Glibc 2.30 and 2.34, I start to wonder what is the proper way to Compile and install Glibc on GoboLinux.

On GoboLinux Live CD there is a preinstalled Glibc 2.30

root@LiveCD /Programs/Glibc]ls
2.30  Current  Settings

Did anyone compiled Glibc sucessfully?

I have just succeeded on building it. Admittedly, it didn’t work flawlessly out of the box – it failed when building with the sandbox. Which makes me wonder if this bug is related to the sandbox (i.e., overlayfs). Could you try this?

cd /Data/Compile/Sources/glibc-2.34/_build
mkdir -p install_dir
make install DESTDIR=$PWD/install_dir

Let me know if this works. If it does, then it confirms we have a bug in the unionfs implementation.

Alternatively, you could try to edit /System/Settings/Scripts/Directories.conf and move unionfs-fuse to the top of the unionImplementations array:

unionImplementations=(
    "unionfs-fuse"
    "overlayfs"
    "unionfs"
    "funionfs"
)

Afterwards, run Compile Glibc again and see if things go different this time.

1 Like

This make Seems to not produce any errors and completes well.

Same things. Same Illegal Instruction error.

make[4]: Entering directory '/Data/Compile/Sources/glibc-2.34/time'
make[4]: Leaving directory '/Data/Compile/Sources/glibc-2.34/time'
make[3]: Leaving directory '/Data/Compile/Sources/glibc-2.34/elf'
make[2]: Leaving directory '/Data/Compile/Sources/glibc-2.34/elf'
/usr/bin/install -c -m 644 /Data/Compile/Sources/glibc-2.34/_build/libc.a /usr/lib/libc.a
/usr/bin/install -c -m 644 /Data/Compile/Sources/glibc-2.34/_build/libc_nonshared.a /usr/lib/libc_nonshared.a
/usr/bin/install -c /Data/Compile/Sources/glibc-2.34/_build/libc.so /lib/libc.so.6.new
mv -f /lib/libc.so.6.new /lib/libc.so.6
gcc   -shared -nostdlib -nostartfiles \
	  -x assembler /dev/null -o /Data/Compile/Sources/glibc-2.34/_build/format.lds.so
make[1]: *** [Makerules:1043: /Data/Compile/Sources/glibc-2.34/_build/format.lds] Illegal instruction
make[1]: Leaving directory '/Data/Compile/Sources/glibc-2.34'
make: *** [Makefile:12: install] Error 2
UnionSandbox: Cleaning up.
UnionSandbox: Moving entries to: /Programs/Glibcnew/2.34/.SandboxInstall_Root
Compile: Restoring safe copy *
Compile: Glibcnew 2.34 - Installation step failed.
root@LiveCD /Data/Compile/Sources/glibc-2.34/_build]

Interesting, thanks for testing.

It may be useful to upgrade the version of UnionFS-Fuse to their most recent version (Compile UnionFS-Fuse 2.1) and see if that fixes the crash. If it doesn’t, then one would need to file a bug report to the unionfs-fuse project with enough information to allow the problem to be reproduced.

1 Like