missing libraries, libstdc++-libc6.2-2.so.3

Asked by viktor133

Dear all,

I'm running ubuntu maverick meerkat.
i've downloaded a program from my bank which i need for banking over internet. they have a .deb package but i doesn't work.

So far the problems are that it doesn't find a library which is an older version of one that i do have.

example:
HBSecGUI: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory

These things i've been able to solve by making links in command-line. The last one i haven't been able to solve:

HBSecGUI: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory

I've used ls (in the lib-folders), find and locate with "libstdc*" but can't find anything like it. I found these: libstdc++.so.6 libstdc++.so.6.0.14
In package manager i also find some package like libstdc++* but nothing with "lib" or "-" behind that in the title.

Lastly, i'd like to mention that i'm inexperienced in command-line. So srry for inclarities.

Thanks in advance for any advice

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu gcc-2.95 Edit question
Assignee:
No assignee Edit question
Solved by:
Eliah Kagan
Solved:
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

Can you give the output of:

sudo find / -iname "libstdc++* | grep so

Thanks

Revision history for this message
mycae (mycae) said :
#2

libstdc++ is the C++ standard libraries. These are at a fixed version in any given installation. You are coming up against something known as "dependency hell", which package managers were designed to resolve. Your solution by "linking" might solve the immediate error, but it will probably make the program unstable, due to something called "ABI" compatibility.
https://secure.wikimedia.org/wikipedia/en/wiki/Dependency_hell

By distributing their program outside of a package management system, this going to be a bit painful. The easiest solution is to install a virtual machine which matches the version of ubuntu this was compiled against.... which is 6.06 LTS:dapper -- their software is VERY old -- dapper went end of life in 2009. You could install the server version, and then install a gui from there. Its supported for another few months.

Finally, I note HBSecGUI appears to be a banking program, so take care here -- this is a lucrative attack vector*.

* -- be careful installing these from random locations -- the download links I found for it were not secure (http rather than https), so there is absolutely no way of verifying the contents of the package (it could be modified whilst in transit between the sever and you, or your communications could be redirected) without some external means (eg manually walking into your bank, finding an employee who knows what an SHA1 is (not MD5, not secure against attackers), then confirming the SHA1 on the spot.

Revision history for this message
mycae (mycae) said :
#3

Sorry, the link to the library match I found was this:
http://packages.ubuntu.com/dapper/libstdc++2.10-glibc2.2

this contains the file libstdc++-libc6.2-2.so.3. This is the "additional" C++ runtime.

Revision history for this message
viktor133 (viktor133) said :
#4

thnks everybody for the replies.

@actionparsnip: i gave in the command and just got a new line with ">" to typ something. didn't know what it was meant for so i aborted. did i miss anything?

@mycae: firstly, thnks for the link, so i learn again a little more. about installing dapper (gonna pass for the server version until i'm a bit more experienced with ubuntu) on a VM. if i'm gonna virtually install an outdated OS, i might as well evoke the devil and just install win XP virtually (i have one). The OS might be worse but the specific program might work better?

As for security, you mentioned external means. (I doubt i'd find a bank employee who knows what SHA1 is (not that i know myself), the guy from the helpdesk didn't know the basic command-line that i learned afterwards by 5min of reading.) I do have a confirmation code, does that offer adequate security?

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#5

Yeah kinda hoped it wouldn't

Try:

sudo find / -iname "libstdc++*" | grep so

I missed the quote, my bad

Thanks

Revision history for this message
Manfred Hampl (m-hampl) said :
#6

In line with what is written on http://ubuntuforums.org/archive/index.php/t-803722.html you might try to just manually install the Dapper libstdc++2.10-glibc2.2 package on top of your current ubuntu.

You should check first which files get installed by that package, to make sure that they do not interfere with files that are already installed by other packages!

Revision history for this message
viktor133 (viktor133) said :
#7

thnks again for replies.

@ manfred hampl: thnks for the link, it's almost exactly the same problem. as for your other remark. how do i check wether any files in the package interfere with other existing files?

Revision history for this message
Best Eliah Kagan (degeneracypressure) said :
#8

For a secure download of the libstdc++2.10-glibc2.2 package from Dapper, you can use:
https://launchpad.net/ubuntu/+archive/primary/+files/libstdc%2B%2B2.10-glibc2.2_2.95.4-24_i386.deb

Launchpad is, generally speaking, the best place to get official .deb packages for older releases (or generally, if you have to download them manually).

"how do i check wether any files in the package interfere with other existing files?"

You could open a Terminal window (Applications > Accessories > Terminal) and run these three commands:

cd ~/Desktop
wget https://launchpad.net/ubuntu/+archive/primary/+files/libstdc%2B%2B2.10-glibc2.2_2.95.4-24_i386.deb
dpkg --simulate -i libstdc++2.10-glibc2.2_2.95.4-24_i386.deb

That downloads the file from Launchpad to your Desktop (where it is conveniently available for you to double-click on to install, should you decide to do so), and then performs a dry run, to show you what operations are performed by installing it. If it "removes" any currently installed packages, then it probably installs files that conflict with files you currently have. If you're unsure how to interpret its output, you can paste it here.

Note that if your architecture is amd64 rather than i386 (that is, if you have a 64-bit PC running the 64-bit version of Ubuntu) then you're out of luck, since you cannot install the 32-bit packages on the 64-bit version. In this case, you could still manually build and install it, though doing so would be burdensome and time-consuming. If it comes to this, and you want help doing that, I'll try to provide the help.

If there is a Windows version of this program and you end up deciding to try and run that, then rather than running it in a Windows virtual machine, you might try running it on Ubuntu, with Wine (http://winehq.org; in Ubuntu, Wine is provided by the package called "wine").

Revision history for this message
viktor133 (viktor133) said :
#9

it worked, thnks everybody

when loading the GUI-version i got a non-working program in french (??) but loading the command-line version opened a working GUI-version in dutch. and so far, no instabilities

Revision history for this message
viktor133 (viktor133) said :
#10

Thanks Eliah Kagan, that solved my question.