LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 02-05-2024, 11:01 AM   #46
Petri Kaukasoina
Senior Member
 
Registered: Mar 2007
Posts: 1,787

Rep: Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468

Quote:
Originally Posted by af7567 View Post
I will do, I am just building another glibc-2.39 using binutils-2.42 with arch configure options which I expect to end up bad so I can use that for your test.
Never mind. Forget my test. I just noticed that Alien Bob's /lib/libdl-2.38.so and /lib/libdl-2.39.so have exactly the same md5sum even though they are from different glibc versions, built using different binutils versions!

But maybe you see changes in md5sum between a working and broken libc-2.39.so ?
 
Old 02-05-2024, 11:21 AM   #47
garpu
Senior Member
 
Registered: Oct 2009
Distribution: Slackware
Posts: 1,537

Rep: Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899
I don't think there's ever been a gcc rebuild before/after glibc? There was a giant mass rebuild a couple years ago, though.
 
Old 02-05-2024, 11:26 AM   #48
af7567
Member
 
Registered: Nov 2012
Posts: 293

Original Poster
Rep: Reputation: 106Reputation: 106
Quote:
Originally Posted by Petri Kaukasoina View Post
Never mind. Forget my test. I just noticed that Alien Bob's /lib/libdl-2.38.so and /lib/libdl-2.39.so have exactly the same md5sum even though they are from different glibc versions, built using different binutils versions!

But maybe you see changes in md5sum between a working and broken libc-2.39.so ?
The new broken glibc is built now and crashes with:
Code:
#0  0xf7f872b3 in _dl_open () from /lib/ld-linux.so.2
#1  0xf7894e0b in dlopen_doit () from /lib/libc.so.6
#2  0xf7f7a5bb in _dl_catch_exception () from /lib/ld-linux.so.2
#3  0xf7f7a6ef in _dl_catch_error () from /lib/ld-linux.so.2
#4  0xf7894852 in _dlerror_run () from /lib/libc.so.6
#5  0xf7894eee in dlopen@GLIBC_2.1 () from /lib/libc.so.6
#6  0xf7b14073 in ?? () from /usr/lib/libGLX.so.0
#7  0xf7b155e8 in ?? () from /usr/lib/libGLX.so.0
#8  0xf7b0e6a6 in glXChooseVisual () from /usr/lib/libGLX.so.0
#9  0x08049409 in ?? ()
The md5sums are the same for my bad installed one, and my working one
Code:
266ebd09c97e73790a2f8b4004fbcac5  /lib/libdl-2.39.so
266ebd09c97e73790a2f8b4004fbcac5  ./libdl-2.39.so
I did your test anyway by copying the "good" libdl over the bad one, and glxinfo still crashed in exactly the same way - which is a good thing otherwise I would have been more confused

I think I should try installing my binutils-2.41 glibc again, then build binutils-2.42 with all the Slackware patches, and then rebuild gcc _before_ building glibc again.
I haven't compiled gcc since about 1999 on a Pentium 166Mhz, hopefully it doesn't take as long as it did back then
 
Old 02-05-2024, 11:38 AM   #49
Petri Kaukasoina
Senior Member
 
Registered: Mar 2007
Posts: 1,787

Rep: Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468
Quote:
Originally Posted by af7567 View Post
The new broken glibc is built now and crashes with:
Code:
#0  0xf7f872b3 in _dl_open () from /lib/ld-linux.so.2
#1  0xf7894e0b in dlopen_doit () from /lib/libc.so.6
How about /lib/ld-2.39.so? Is its md5sum the same for the good and bad one? Or /lib/libc-2.39.so?

Last edited by Petri Kaukasoina; 02-05-2024 at 11:50 AM.
 
Old 02-05-2024, 11:51 AM   #50
af7567
Member
 
Registered: Nov 2012
Posts: 293

Original Poster
Rep: Reputation: 106Reputation: 106
Quote:
Originally Posted by Petri Kaukasoina View Post
How about /lib/ld-2.39.so? Is its md5sum the same for the good and bad one?
No, the md5sum for those a different. The sizes are the same though
Code:
-rwxr-xr-x 1 root root 244836 Feb  5 16:54 ./ld-2.39.so*         (bad)
-rwxr-xr-x 1 root root 244836 Feb  5 14:51 /lib/ld-2.39.so*      (good)
421a075f67cd763289915a666a8700ba  ./ld-2.39.so                   (bad)
d5c13936dc1728d04ae7540235d50edb  /lib/ld-2.39.so                (good)

-rwxr-xr-x 1 root root 2384584 Feb  5 16:54 ./libc-2.39.so*      (bad)
-rwxr-xr-x 1 root root 2384584 Feb  5 14:51 /lib/libc-2.39.so*   (good)
27baf3e472fbd8ab71b9323e3d0b0ed0  ./libc-2.39.so                 (bad)
05339bd9ff5dcdb0ab4bfd8acc4c2635  /lib/libc-2.39.so              (good)
It is currently building gcc-multilib so I can't test overwriting a broken ld-2.39 with a good one at the moment. But maybe the GCC->glibc build will also fail and then I can

edit: the libc sizes are also the same, but md5sums different
edit2: I did objdump -D on them and diff and there are a lot of changes to the instructions, so the difference isn't just some version string

Last edited by af7567; 02-05-2024 at 12:03 PM.
 
Old 02-05-2024, 12:30 PM   #51
Petri Kaukasoina
Senior Member
 
Registered: Mar 2007
Posts: 1,787

Rep: Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468
Quote:
Originally Posted by af7567 View Post
Code:
# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc
So now I am also wondering if gcc needs to be rebuilt after building a new binutils, and use that to create the new glibc. Since gcc hasn't been rebuilt since the binutils upgrade on Slackware that might be why using binutils-2.41 is working for me since the current gcc was built with binutils-2.41.
Quote:
Originally Posted by af7567 View Post
I think I should try installing my binutils-2.41 glibc again, then build binutils-2.42 with all the Slackware patches, and then rebuild gcc _before_ building glibc again.
Let's hope it helps.

The problem is now in the 32-bit glibc while the 64-bit glibc should be ok (?). On a multilib system gcc and binutils are 64-bit binaries even when they emit 32-bit code. It's hard for me to understand how that repeating glibc->binutils->gcc->glibc->binutils->gcc cycle helps producing a better 32-bit glibc libraries because nowhere in that cycle 32-bit code is run.

Quote:
Originally Posted by af7567 View Post
It is currently building gcc-multilib so I can't test overwriting a broken ld-2.39 with a good one at the moment.
It will be interesting to see if overwriting ld-2.39.so or libc-2.39.so helps.
 
Old 02-05-2024, 12:43 PM   #52
af7567
Member
 
Registered: Nov 2012
Posts: 293

Original Poster
Rep: Reputation: 106Reputation: 106
Quote:
Originally Posted by Petri Kaukasoina View Post
Let's hope it helps.
It's hard for me to understand how that repeating glibc->binutils->gcc->glibc->binutils->gcc cycle helps producing a better 32-bit glibc libraries because nowhere in that cycle 32-bit code is run.
I am testing building gcc-multilib (64bit binary) using the new binutils (64bit binary) and then will use the new gcc-multilib + new binutils together to create the 32bit/64bit libc.

My previous tests have been to use OLD gcc-multilib(linked by old binutils) + new binutils to create libc and that has been failing (but only for nvidia - everything else is fine)
 
Old 02-05-2024, 01:04 PM   #53
Petri Kaukasoina
Senior Member
 
Registered: Mar 2007
Posts: 1,787

Rep: Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468
Quote:
Originally Posted by af7567 View Post
I am testing building gcc-multilib (64bit binary) using the new binutils (64bit binary) and then will use the new gcc-multilib + new binutils together to create the 32bit/64bit libc.
It's interesting to see the result.

It would also be interesting to see if nvidia GLX works on the real 32-bit Slackware current instead of 64-bit+multilib. Probably not. Does anyone have a 32-bit current installed on another partition?
 
Old 02-05-2024, 01:07 PM   #54
garpu
Senior Member
 
Registered: Oct 2009
Distribution: Slackware
Posts: 1,537

Rep: Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899
Quote:
Originally Posted by Petri Kaukasoina View Post
It's interesting to see the result.

It would also be interesting to see if nvidia GLX works on the real 32-bit Slackware current instead of 64-bit+multilib. Probably not. Does anyone have a 32-bit current installed on another partition?
I think Nvidia discontinued 32-bit OS support awhile ago?
 
Old 02-05-2024, 01:19 PM   #55
Petri Kaukasoina
Senior Member
 
Registered: Mar 2007
Posts: 1,787

Rep: Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468Reputation: 1468
Quote:
Originally Posted by garpu View Post
I think Nvidia discontinued 32-bit OS support awhile ago?
OK. Using the 32-bit Slackware except the kernel from slackware64 + 64-bit nvidia-kernel + the 32-bit nvidia compat32 userspace would probably still work, but what's the point...
 
Old 02-05-2024, 02:03 PM   #56
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-15.0
Posts: 2,683

Rep: Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375Reputation: 1375
FWIW I just updated my system at work that has an AMD GPU and everything is working. Perhaps this is an NVIDIA driver issue that only they can fix?
 
Old 02-05-2024, 02:09 PM   #57
af7567
Member
 
Registered: Nov 2012
Posts: 293

Original Poster
Rep: Reputation: 106Reputation: 106
Quote:
Originally Posted by Daedra View Post
FWIW I just updated my system at work that has an AMD GPU and everything is working. Perhaps this is an NVIDIA driver issue that only they can fix?
Since mesa GLX also works fine for 32 bit programs using libglvnd, I suspect that nvidia just need to compile their 32-bit libs with a newer gcc/glibc.
The real problem I have been trying to work out is why does it work on Arch but not Slackware
 
Old 02-05-2024, 02:12 PM   #58
garpu
Senior Member
 
Registered: Oct 2009
Distribution: Slackware
Posts: 1,537

Rep: Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899
Would it be worthwhile creating a thread on the Arch forums for ideas? Or is that like Miyagi-do invading Cobra Kai?

Alien Bob's been really sick. Could he have spaced on something?
 
Old 02-05-2024, 02:28 PM   #59
af7567
Member
 
Registered: Nov 2012
Posts: 293

Original Poster
Rep: Reputation: 106Reputation: 106
Quote:
Originally Posted by garpu View Post
Alien Bob's been really sick. Could he have spaced on something?
I don't think he missed anything, or we would see other things having problems.
 
Old 02-05-2024, 03:25 PM   #60
af7567
Member
 
Registered: Nov 2012
Posts: 293

Original Poster
Rep: Reputation: 106Reputation: 106
Well I have now compiled binutils-2.42 -> gcc -> glibc -> binutils-2.42 -> gcc -> glibc -> libglvnd.. So now every one of the tools is built using the same version as each other (if that makes sense), but 32-bit glxinfo still doesn't work.
So the only way I have been able to get it to work is to use binutils-2.41 when compiling glibc (2.38 or 2.39).

Since it's broken I tested copying over the working 2.39 files one at a time and found that ld-2.39.so is the only thing that needs copying from the good glibc for glxinfo to work.
 
2 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Suse Tumbleweed: After update Chromium/ various games not working. GLX issue? spamhippy SUSE / openSUSE 4 06-28-2020 07:54 PM
64 bit JVM crash on RHEL 5.5 64 bit ( JRE 1.6 update 23 ) - strace attached bangarrajuv Red Hat 1 07-14-2011 10:00 AM
Can't load the nvidia glx (may be lacking \etc\rc.d\init.d\nvidia-glx) Starchild Fedora 1 07-27-2007 06:44 AM
nvidia-glx-legacy & GLX errors Codegen Ubuntu 5 03-11-2007 03:18 PM
(II) [GLX]: Initializing GLX extension - X wont go hydro Linux - Software 3 02-20-2003 06:12 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 03:00 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration