https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #9 from Paul Smith ---
Just to note, there are similar needs for empty directories in the GCC
installation itself; for example in a GCC install of a 64bit compiler without
32bit support this directory will be created by the installer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #8 from joseph at codesourcery dot com ---
I expect you'd also see this issue with build-many-glibcs.py (from glibc)
if you remove the workaround code in that script:
# GCC uses paths such as lib/../lib64, so make sure lib
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #7 from Paul Smith ---
Just to be clear when I say "Build GCC with that directory as the sysroot" I
mean something like this:
../gcc-11.3.0/configure --with-sysroot=/sysroot ...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #6 from Paul Smith ---
If it is really required, then the GCC configure script or makefile or
something should detect this situation and fail. There's nothing in the
current build system or documentation that says this is needed and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #5 from Richard Biener ---
When you say "if you set to a sysroot that doesn't contain any 32bit values,
and thus doesn't contain the /sysroot/usr/lib directory at all but only has
/sysroot/usr/lib64, then you can't compile GCC itself
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #4 from Andrew Pinski ---
It is incorrect as that is required. Simple as that.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #3 from Paul Smith ---
There's nothing "incorrect" about a sysroot that doesn't have /usr/lib in it.
If you have a 64bit system and you don't need to run 32bit binaries, then
/usr/lib will be empty and everything will be in /usr/lib
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #2 from Andrew Pinski ---
I don't think there is anything GCC can do here really. If you don't have a
correct sysroot, it is not a GCC bug. Requring usr/lib is because all
directories are relative to that directory.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105487
--- Comment #1 from Paul Smith ---
Ugh, when I wrote "doesn't contain any 32bit values" I meant "doesn't contain
any 32bit files".