Tumbleweed x86_64 64-bit architecture only possible?
Hello, I found x86_64 gcc13 requires glibc-32bit and glibc-devel-32bit, which are imported from i586 arch, to build. May I ask is it possible to have pure 64-bit x86_64 only Tumbleweed? If we still need i586 together with x86_64 arch in Tumbleweed to work, what is the differences between openSUSE:Factory i586 arch and openSUSE:Factory:LegacyX86 i586 arch, are they the same in most parts? Thank you. Best Regards
On 22/01/2024 05.50, Obs Geeko via openSUSE Factory wrote:
Hello,
I found x86_64 gcc13 requires glibc-32bit and glibc-devel-32bit, which are imported from i586 arch, to build. May I ask is it possible to have pure 64-bit x86_64 only Tumbleweed?
If we still need i586 together with x86_64 arch in Tumbleweed to work, what is the differences between openSUSE:Factory i586 arch and openSUSE:Factory:LegacyX86 i586 arch, are they the same in most parts?
When you look at https://build.opensuse.org/project/show/openSUSE:Factory you notice on the right (under Build Results => standard) that x86_64 has 15962 packages built, but i586 only has 1572 - so just 10%. They might be the same as LegacyX86, but they are not enough for a working distribution. https://build.opensuse.org/project/show/openSUSE:Factory:LegacyX86 OTOH has 14952 - including Firefox and Thunderbird Ciao Bernhard M.
On 22. 01. 24, 8:09, Jiri Slaby wrote:
On 22. 01. 24, 5:50, Obs Geeko via openSUSE Factory wrote:
I found x86_64 gcc13 requires glibc-32bit and glibc-devel-32bit Where did you find that?
$ rpm -q gcc13 --requires |grep glibc glibc-devel
Just to illustrate, my vm is "pure" 64bit while having: # rpm -q gcc13 gcc13-13.2.1+git8205-1.1.x86_64 # rpmqpack |grep 32bit <nothing>
regards, -- js suse labs
Hello, Thanks for everyone. https://build.opensuse.org/package/view_file/openSUSE:Factory/gcc13/gcc13.sp... at line 225: ------------------------------------ Name: gcc13 BuildRequires: xz .... BuildRequires: glibc-devel-32bit .... ------------------------------------ It needs glibc-devel-32bit for build gcc13. And then look at here: https://build.opensuse.org/projects/openSUSE:Factory/packages/glibc:i686/rep... "glibc-devel-32bit" is imported from i586. Is it possible to build gcc with out "glibc-devel-32bit"? Or without importing from i586, how can man build "glibc-devel-32bit" on x86_64? Thank you.
On Monday 2024-01-22 10:55, Obs Geeko via openSUSE Factory wrote:
Thanks for everyone.
https://build.opensuse.org/package/view_file/openSUSE:Factory/gcc13/gcc13.sp...
at line 225: ------------------------------------ Name: gcc13 BuildRequires: xz .... BuildRequires: glibc-devel-32bit .... ------------------------------------
it's possible to drop that from the specfile, along with the --cpu-32= option (or whatever it was called) that's used in the %configure call. Just put the work into it.
On Mon, Jan 22, 2024 at 2:31 PM Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2024-01-22 10:55, Obs Geeko via openSUSE Factory wrote:
Thanks for everyone.
https://build.opensuse.org/package/view_file/openSUSE:Factory/gcc13/gcc13.sp...
at line 225: ------------------------------------ Name: gcc13 BuildRequires: xz .... BuildRequires: glibc-devel-32bit .... ------------------------------------
it's possible to drop that from the specfile, along with the --cpu-32= option (or whatever it was called) that's used in the %configure call. Just put the work into it.
Does it mean the compiler will not be able to produce 32 bit binaries anymore?
On Monday 2024-01-22 12:46, Andrei Borzenkov wrote:
On Monday 2024-01-22 10:55, Obs Geeko via openSUSE Factory wrote:
Thanks for everyone.
https://build.opensuse.org/package/view_file/openSUSE:Factory/gcc13/gcc13.sp...
at line 225: ------------------------------------ Name: gcc13 BuildRequires: xz .... BuildRequires: glibc-devel-32bit .... ------------------------------------
it's possible to drop that from the specfile, along with the --cpu-32= option (or whatever it was called) that's used in the %configure call. Just put the work into it.
Does it mean the compiler will not be able to produce 32 bit binaries anymore?
Without glibc-devel, the build cannot produce some component libraries (I guess libobjc.so.4), which means you could compile ObjC sources, but not produce a final ObjC program unless you find a suitable libobjc (replacement) somewhere. Ideally, cross-i386-gcc13 will address your concern. (The build just isn't enabled currently. Strange...)
On Mon, 22 Jan 2024, Andrei Borzenkov wrote:
On Mon, Jan 22, 2024 at 2:31?PM Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2024-01-22 10:55, Obs Geeko via openSUSE Factory wrote:
Thanks for everyone.
https://build.opensuse.org/package/view_file/openSUSE:Factory/gcc13/gcc13.sp...
at line 225: ------------------------------------ Name: gcc13 BuildRequires: xz .... BuildRequires: glibc-devel-32bit .... ------------------------------------
it's possible to drop that from the specfile, along with the --cpu-32= option (or whatever it was called) that's used in the %configure call. Just put the work into it.
You can also simply define 'disable_32bit' in the project config (or at the start of gcc13.spec).
Does it mean the compiler will not be able to produce 32 bit binaries anymore?
Yes. GCC can't build 32bit target libraries without 32bit glibc. But the compiler can still produce 32bit assembly with -m32, just almost every link it emits will fail. Richard.
participants (6)
-
Andrei Borzenkov
-
Bernhard M. Wiedemann
-
Jan Engelhardt
-
Jiri Slaby
-
Obs Geeko
-
Richard Biener