LinuxQuestions.org
Review your favorite Linux distribution.
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 01-11-2006, 08:07 AM   #1
MS3FGX
Guru
 
Registered: Jan 2004
Location: NJ, USA
Distribution: Slackware, Debian
Posts: 5,852

Rep: Reputation: 351Reputation: 351Reputation: 351Reputation: 351
Wrong optimizations for Slackware current?


I had a very odd experience this evening, and I am starting to wonder if there may have been a mistake made in Slackware current.

I was installing Slackware 10.2 on an AMD K6 laptop I have (I have had Slackware installed on this machine a few times in the past), and got it installed without a problem. I went ahead and compiled 2.6.10 (yes, there is a reason I am using this specific version) and got that installed without any complications.

At this point, I got ready to sync up to Slackware current, something I have done on all of my machines. I followed the protocol to the letter, switching to runlevel 1, and installing glibc before anything else.

Which is where the problem started. After I installed the glibc packages, I went back into runlevel 3 and began the downloads to sync up with current. Unfortunately, as soon as I attempted to install the first package, I realized something went terribly wrong. Using installpkg came back with "Illegal Instruction". I then tried all of the other pkgtool programs, with the same result for all. Throwing a few random commands at the system, I also found a few other programs came back at me with the same error.

Now, I am running the exact same version of the glibc packages on my desktop as I type this. The only thing different between these setups is the CPU. The "Illegal Instruction" error would also seem to indicate a problem with running the glibc library on my CPU.

The bottom line is that the glibc packages should be compiled for i486, but would appear to be optimized for something higher than a K6. I was wondering if anyone else has attempted installing the glibc packages from current on a relatively old CPU and if they had any problems?
 
Old 01-11-2006, 08:45 AM   #2
ugenn
Member
 
Registered: Apr 2002
Posts: 549

Rep: Reputation: 30
I'm not familiar with Slack so someone who is feel free to correct me, but most distros tend to arch optimise glibc as it's one of those packages which do benefit from the optimisation. Make sure you are indeed running the 486 build of glibc.
 
Old 01-11-2006, 08:51 AM   #3
MS3FGX
Guru
 
Registered: Jan 2004
Location: NJ, USA
Distribution: Slackware, Debian
Posts: 5,852

Original Poster
Rep: Reputation: 351Reputation: 351Reputation: 351Reputation: 351
It is definately the i486 version. That is sort of the problem here, all of the Slackware packages are supposed to be i486 or i386 to keep the system requirements as low as possible.
 
Old 01-11-2006, 08:53 AM   #4
MS3FGX
Guru
 
Registered: Jan 2004
Location: NJ, USA
Distribution: Slackware, Debian
Posts: 5,852

Original Poster
Rep: Reputation: 351Reputation: 351Reputation: 351Reputation: 351
Also, the 10.2 versions of the glibc packages are compiled for i486 as well, which makes the whole situation more confusing.
 
Old 01-11-2006, 04:00 PM   #5
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,775

Rep: Reputation: 481Reputation: 481Reputation: 481Reputation: 481Reputation: 481
This won't help the original poster, but thought I would point out:
'supposed to be i486 or i386 to keep the system requirements as low as possible'

LFSH standards require i486 compatibilty.
 
Old 01-12-2006, 03:04 PM   #6
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 5,379

Rep: Reputation: Disabled
The AMD K6 is supposed to be i686 compatible. Slackware builds for the i486 architecture, and the compiler flags that Slackware uses for ARCH=i486 have always (?) been
Code:
"-O2 -march=i486 -mcpu=i686"
... until december.

Now, the newest glibc package in slackware-current, the one you upgraded to, uses
Code:
"-O3 -march=i486 -mtune=i686"
as compiler flags, which is explained in the ChangeLog entry of "Sat Dec 10 23:28:42 CST 2005" for the "d/gcc-3.4.4-i486-2.tgz" package.

This could be the cause of your problems with the K6, but as I am not a compiler guy I can only point out the difference in package builds and not provide you with the answer.
Hopefully others who read this can comment further on my observation.

Eric
 
Old 01-12-2006, 03:36 PM   #7
Woodsman
Senior Member
 
Registered: Oct 2005
Distribution: Slackware 14.1
Posts: 3,482

Rep: Reputation: 534Reputation: 534Reputation: 534Reputation: 534Reputation: 534Reputation: 534
I don't know if my experience is related, but I have a 400 MHz K6-III+ installed in my first box, having replaced the original Pentium-MMX. I have not tried this since my first failures, but about a year ago I tried compiling the 2.4 kernel specifically for the K6. I wasn't trying to tweak the gnat's ass, just experimenting to learn, but the compile with the K6 option never took. I ended up compiling for a generic i586. I shrugged and went on with life.
 
Old 01-12-2006, 09:23 PM   #8
MS3FGX
Guru
 
Registered: Jan 2004
Location: NJ, USA
Distribution: Slackware, Debian
Posts: 5,852

Original Poster
Rep: Reputation: 351Reputation: 351Reputation: 351Reputation: 351
Thanks for everyone's response on this. I have since found that my assumption about the build optimization was correct, I was just wrong about the package in question.

The current glibc packages are indeed optimized for i486 as they should be. The package that was giving me the problem was actually bash. I figured this out after booting into a LiveCD and manually replacing the latest glibc packages with their 10.2 counterparts to no avail, and then noticing that you could not login to the machine after the reboot because bash could not be started to give me a prompt.

Now, as for bash being compiled with too high of optimizations, that is embarrassingly enough my own fault. I had compiled the package on my desktop and rync'd the resulting package to my other machines as I have a tendency to do, and simply forgot about the CPU issue. The K6 is supposed to be i686 compatible, but this is not the first i686 compiled binary it has choked on for me.

So, syncing up to Slackware -current did not break the machine, my own package did. That's what I get for foolishly trying to improve on Pat's work.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
Where to get Slackware Current? mjjzf Slackware 3 07-09-2005 11:03 AM
slackware-current how to salahuddin_66 Slackware 9 02-17-2005 08:42 AM
Slackware-current milkycow Slackware 7 03-21-2004 01:21 PM
slackware 8.1 iso vs slackware current illtbagu Slackware 9 02-26-2003 08:10 PM
New slackware-current... taz.devil Linux - General 7 12-03-2001 06:31 PM


All times are GMT -5. The time now is 05:51 AM.

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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration