[Bug 1180500] New: cross-i386-gcc10 doesn't get proper links to libgcc.so, ld-linux.so.2 and libc.so.6
http://bugzilla.opensuse.org/show_bug.cgi?id=1180500 Bug ID: 1180500 Summary: cross-i386-gcc10 doesn't get proper links to libgcc.so, ld-linux.so.2 and libc.so.6 Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Minor Priority: P5 - None Component: Development Assignee: screening-team-bugs@suse.de Reporter: snguyen@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Hi I was trying to use the cross-i386 toolchain to build a 32-bit kernel and the linking fails with 3 missing dependencies: - libgcc.so - ld-linux.so.2 - libc.so.6 I already had the glibc-32bit rpm installed, so all those libraries we available on my system in /lib, and all I had to do was create the symlinks into /usr/i586-suse-linux/lib and /usr/i586-suse-linux/usr/local/lib. Could this be done automatically? And why are the links also needed in /usr/i586-suse-linux/usr/local/lib when I created them in /usr/i586-suse-linux/lib? This is not a big deal but I'm not sure why that is... My system: uname -a Linux xxxxx 5.10.3-1-default #1 SMP Mon Dec 28 09:29:24 UTC 2020 (73f6c2f) x86_64 x86_64 x86_64 GNU/Linux cat /etc/os-release NAME="openSUSE Tumbleweed" # VERSION="20201231" ID="opensuse-tumbleweed" ID_LIKE="opensuse suse" VERSION_ID="20201231" PRETTY_NAME="openSUSE Tumbleweed" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:tumbleweed:20201231" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/" DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed" LOGO="distributor-logo" zypper se cross-i386 Loading repository data... Reading installed packages... S | Name | Summary | Type ---+-----------------------------------+---------------------------------------------------+----------- i+ | cross-i386-binutils | GNU Binutils | package | cross-i386-binutils | GNU Binutils | srcpackage | cross-i386-binutils-debuginfo | Debug information for package cross-i386-binutils | package | cross-i386-binutils-debugsource | Debug sources for package cross-i386-binutils | package i+ | cross-i386-gcc10 | The GNU Compiler Collection targeting i386 | package | cross-i386-gcc10 | The GNU Compiler Collection targeting i386 | srcpackage | cross-i386-gcc10-debuginfo | Debug information for package cross-i386-gcc10 | package | cross-i386-gcc10-debugsource | Debug sources for package cross-i386-gcc10 | package | cross-i386-gcc10-icecream-backend | Icecream backend for the GNU C Compiler | package | cross-i386-gcc7 | The GNU Compiler Collection targeting i386 | package | cross-i386-gcc7 | The GNU Compiler Collection targeting i386 | srcpackage | cross-i386-gcc7-debuginfo | Debug information for package cross-i386-gcc7 | package | cross-i386-gcc7-debugsource | Debug sources for package cross-i386-gcc7 | package | cross-i386-gcc7-icecream-backend | Icecream backend for the GNU C Compiler | package | cross-i386-gcc9 | The GNU Compiler Collection targeting i386 | package | cross-i386-gcc9 | The GNU Compiler Collection targeting i386 | srcpackage | cross-i386-gcc9-debuginfo | Debug information for package cross-i386-gcc9 | package | cross-i386-gcc9-debugsource | Debug sources for package cross-i386-gcc9 | package | cross-i386-gcc9-icecream-backend | Icecream backend for the GNU C Compiler | package Thanks Stephane -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1180500 http://bugzilla.opensuse.org/show_bug.cgi?id=1180500#c1 Richard Biener <rguenther@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #1 from Richard Biener <rguenther@suse.com> --- cross-i386-gcc are not "proper" cross-compilers and thus no target libraries (libgcc) are built. There's also no cross glibc for this. Why are you not simply using 'gcc -m32 -march=...' to compile the 32bit kernel? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1180500 http://bugzilla.opensuse.org/show_bug.cgi?id=1180500#c2 --- Comment #2 from stephane nguyen <snguyen@suse.com> --- I wanted to test cross compilation for various platforms, hence why I used cross-i386-*. This is not an issue in the sense that I could manually create symlinks into the /lib directory where I had the 32-bit libraries installed. Just out of curiosity, what is the purpose of the cross-* packages if the cross-glibc's are not provided? Is this just a baseline for users to use and it's up to the users to build manually whatever libraries they need? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1180500 http://bugzilla.opensuse.org/show_bug.cgi?id=1180500#c3 --- Comment #3 from Richard Biener <rguenther@suse.com> --- (In reply to stephane nguyen from comment #2)
I wanted to test cross compilation for various platforms, hence why I used cross-i386-*. This is not an issue in the sense that I could manually create symlinks into the /lib directory where I had the 32-bit libraries installed.
Just out of curiosity, what is the purpose of the cross-* packages if the cross-glibc's are not provided? Is this just a baseline for users to use and it's up to the users to build manually whatever libraries they need?
Their purpose is to be able to cross-build kernels only (which do not need any target libraries). In theory you could populate the sysroot with a target filesystem but there's no way to use zypper to populate it from a different architecture repository. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1180500 http://bugzilla.opensuse.org/show_bug.cgi?id=1180500#c4 --- Comment #4 from stephane nguyen <snguyen@suse.com> --- OK cool, thanks. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com