I am trying to install the Linux x64 BOINC command-line interface client on a CloudLinux machine with x86_64 Architecture. When I try to run the executable I get an error:

./boinc: error while loading shared libraries: libstdc++.so.3: cannot open shared object file: No such file or directory

When I do ldd of the boinc executable I find:

    libstdc++.so.3 => not found

When I do yum install compat-libstdc++-33 I get

CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/yum.conf

I don't have access to any form of superuser permissions, My account is very likely to be in a chroot.

How can I get my client running?

  • 1
    You really should specify your distro, as I could give you the command that is applicable. If you don't know it run lsb_release -a. If that doesn't work do this instead cat /etc/*release – J. M. Becker Jan 22 '12 at 2:49
  • Yeah I didn't put it b/c I didn't know, thanks for telling me how to find out. Unfortunately this is a webserver from greengeeks.com and when you lsb you get: LSB Version: Distributor ID: n/a Description: (none) Release: n/a Codename: n/a And nothing for the cat. When I ran 'yum install compat...' you suggested below I got: "CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/yum.conf" the only thing in /etc is my ftpquota folder – Gabriel Fair Jan 22 '12 at 3:36
  • 1
    No it's not a 'don't mind' thing, it's a last resort method. YUM is nice and easy, but can only install new packages with root permissions. Doing it locally is much more difficult, which is a concern for someone not that experienced with linux. I can try and walk you through it anyway, but I don't know just how limited your account really is. Is it a chroot, with little or no standard utilities, or is it just a normal account on a server . – J. M. Becker Jan 22 '12 at 3:55
  • 1
    OK, i updated my answer. run those commands, I'll actually go back and comment them a little better. But they will work as is, comments would just be for you to know whats doing what. – J. M. Becker Jan 22 '12 at 4:35
  • 1
    OK i commented the commands for you, this should do the job... BTW you only have 100 some points so it cool on the bounty. You could always check out my other question answers. Not saying to up them no matter what, But if you think I gave the best answer on them them vote up. respond when you finished steps, and test it out. If you get another error update your question with it, we can get it working. – J. M. Becker Jan 22 '12 at 5:00

libstdc++ 3 is not the default libstdc++ anymore. You can still install it, though it is best to do so with your distro package util. I'm assuming your BOINC client is for your arch, x86_64, and not compiled for x86. The difference is significant in resolving dependency issues.

Considering you are on a regular user account, you should theoretically be able to do this locally. I'm not sure which version of CloudLinux, but for now I'll assume it's 6.

## Set up Lib Path Environment
cd ~
mkdir lib
echo "export LD_LIBRARY_PATH=~/lib" >> .profile 

## Make tmp folder, download package in it
mkdir tmp 
cd tmp

## Extract package files, get the parts we want
rpm2cpio compat-libstdc++-296-2.96-144.el6.i686.rpm | cpio -idmv
cp usr/lib/libstdc++-* ../lib

## Go in our lib folder, and create symlinks to the lib ldd told you was missing
cd ../lib
ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++.so.3

## Go back to home, and source our profile changes.
cd ~
. .profile

Once you do all this, Try and run your client again. You may need to log out and back in again, Tell me what happened afterwards!

  • 1
    You still can install packages from the command line, actually that's what i was referring to. For example if you run redhat based distro. The command would be yum install compat-libstdc++-33 – J. M. Becker Jan 22 '12 at 2:37
  • 1
    I found out its a distro called "CloudLinux" – Gabriel Fair Jan 22 '12 at 3:46
  • 1
    Ya it's a RedHat based distro, using yum as its package management utility. – J. M. Becker Jan 22 '12 at 3:59
  • 1
    I also looked at the packages, and the one that has your lib is called compat-libstdc++-296. It only came in i686, but was specified in the repo for x86_64. So might as well go with it, we can always try other libs if it doesn't work. As we already would have set up the environment. – J. M. Becker Jan 22 '12 at 4:44
  • 1
    I downloaded those files into lib, and chmod them to 744. When I ran rpm2cpio -h the cursor drops a line then stalls. man rpm2cpio returns a result. I checked the file system's bin and didn't see it. So you were right about rpm2cpio. I have the symbolic link in my /lib. When I do a cat of .profile I get export LD_LIBRARY_PATH=~/lib It doesn't seem to have changed. I am still getting a not found error with ldd on the excutiable. – Gabriel Fair Jan 22 '12 at 14:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.