LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Blackbox 0.70.1 on Slackware 7.1 throws libstdc++ error (https://www.linuxquestions.org/questions/linux-newbie-8/blackbox-0-70-1-on-slackware-7-1-throws-libstdc-error-546085/)

theedisoneffect 04-14-2007 06:41 PM

Blackbox 0.70.1 on Slackware 7.1 throws libstdc++ error
 
Like the title says... I figured out how to install the Blackbox package and set it as default window manager, but now I get an error that libstdc++.so.6 couldn't be found, and X won't start.

I did some reading of the documentation, but all the libraries, compiler version compatibility and symbolic link stuff is a bit over my head at this point...

I've pretty much deduced, though, that it has to be one of three problems:

>Either the version of Blackbox I installed requires some newer software component than came with Slackware 7.1

or

>I'm stupid and didn't install some critical component Blackbox needs

or

>Something about a symbolic link being bad... I think that's what the articles about it said? I dunno...

The first or second option seem pretty likely... I did a pretty minimal installation, and while I did install glibc and gcc and all that, I very well could've missed something. Or, it might just be that the new software doesn't like the old system.

But either way, I don't know what to do about it... what exactly I should install/upgrade, or how I should fix the symbolic link, should that be the case. So, any recommendations on what I should be looking for here?

And *please* don't tell me to RTFM... I'm working on it but can't get my head around some of the concepts yet... On a related note, are there any good references that give simpler explanations on what the libraries do, and why there are compatibility issues between different gcc versions, and all that? Everything I've read so far seems to assume I already know all that...

Tinkster 04-14-2007 07:32 PM

Do a 'grep libstc++ /var/log/packages/*' ... chances are indeed that
they don't match; why on earth did you install a version of Slack
that old, anyway? :}


Cheers,
Tink

theedisoneffect 04-15-2007 11:06 AM

I had to install such an old version because the computer is a P75 Dell Latitude XPi with no CD-Rom and no network card... 7.1 was the only one I found that would both recognize my HD controller and install [relatively] easily from floppies and Zip disks.

And to answer the next logical question: I was bored.

So, that command turns up libstdc++.so.2, and Blackbox wants .so.6. I'm gonna go out on a limb here and say that '2' is a bit older than '6'.

So what exactly should I upgrade to fix that? I gather that libstdc++ is related to gcc and/or glibc... is it just a matter of installing newer package versions of those, or does it require more involved compiling and configuration?

The lazy option would be to just install an older version of Blackbox, but I get the feeling I'd just run into this problem again once I start installing other software.

Oh, and thanks for the help, btw.

Tinkster 04-15-2007 01:21 PM

In newer versions of Slack libstdc++ is part of the
both cxxlib and gcc-g++ package. If you want to go
down that route of updating those I'd highly recommend
that you check all the executables in your system to
be able to assess what might get broken in the process.
Code:

find /bin /sbin /usr/bin /usr/X11/bin /usr/sbin -type f -printf "\n" -print -exec ldd {} \;|awk 'BEGIN{FS="\n"; RS="\n\n"} /libstdc++/ {print $1}'
With a version jump that big chances are that the down-
ward compatibility has suffered. If everything goes OK
all you'd need to do is install the newer version (compile
it yourself using the slackware build scripts) and then
provide a symlink with the older version number for the
pre-existing packages.

Even though all of this would be a great learning experience
I'd recommend that you try to find a cheap network card and do
a net installation of a newer version ;}

Best of luck!



Cheers,
Tink

theedisoneffect 04-15-2007 02:17 PM

Well, I am doing this in part for the learning experience, so I'll do some checking. As far, I only have the basic system [A, D, and part of the X packagegroups] installed, so there's not a whole bunch there to upgrade.

Honestly, it'd prolly be harder to install a newer system version than it would be to work with the one I have... Anything above the 2.2 kernel family doesn't seem to like the hardware in that laptop, and it'd require an unbelievable amount of tweaking to get even the basics working. I mean, that computer doesn't even have PCI... I think it's working off EISA. I even have about 2 dozen PC-card NICs around, but none of them will work since they're all 32-bit cardbus and the laptop only has 16-bit PCMCIA support. You getting an idea what I'm dealing with here? :D

Now, I do suppose I could split the difference, upgrade the libs and gcc and such to a newer version, but not the most recent, and then go for a slightly older version of Blackbox, like maybe .65 or something. The idea being that, while it might have problems with the newest stuff, I'd only have to hunt down, say, 3 year old versions of software, rather than 7 year old versions. Does that make sense? Would that be reasonable to do?

Also, is there a good simplified tutorial on the basics of this kinda thing? I still don't even know really what a C library does, and why different library and compiler versions have compatibility problems... Maybe if I can get a basic understanding of the concepts involved, I'd have an easier time solving these sorts of problems...

Edit: OK, I ran that command, long list of stuff that says "is not a.out or ELF" with some "exited with signal 11" and some couldn't read headers. I gather that I was only looking for files that *were* a.out tor ELF format, so all those are ok.

mkdosfs and dosfsck showed libstdc++.so.6 not found, but it scrolled too fast for me to read exactly what it said... (the |more switch didn't work, is there any way to make that output scrollable or send it to a file so I can see exactly what it said?) Those were the only two that showed such a message.


All times are GMT -5. The time now is 11:57 AM.