You could unpack the 32bit libraries manually into some directory where SecondLife doesn't find them, and then use LD_LIBRARY_PATH to hopefully let skype find them. Try it on the console, and if it works, create some wrapper script which executes skype with a suitable environment.
As I don't usually use graphical package managers, I'm not sure which of the following approaches is better suited:
- Using a package manager:
- Install ia32-libs-multiarch with all its dependencies
- Copy the content of
/usr/lib/i386-linux-gnu/ to /usr/my32bit
- Use the package manager to remove the packages installed above. This might be the tricky part, due to the large number of auto-selected dependencies.
- Manual unpacking
- Look at the ia32-libs-multiarch package description page
- Follow each link to each dependency
- Click on the architecture
i386 to download a .deb file for it
mkdir xDir, a new directory to unpack stuff
- Unpack each using
dpkg-deb -x foo.deb xDir
- Copy
xDir/usr/lib/i386-linux-gnu/ to /usr/my32bit
In either case, you should end up with those libraries copied to /usr/my32bit. You will have to manually install skype as well, unless you find a way to circumwent the dependency check during installation. The steps from the second approach above will wokr there, too. You might need to install it to its proper locations, so that skype itself will find all its components. So instead of xDir you would have to specify /. I'll take no guarantees if that should mess up your system, so perhaps you should install into a safe directory first, to see what gets installed and if that will overwrite anything. Then you could execute
LD_LIBRARY_PATH=/usr/my32bit skype
If that works, you can create a file /usr/local/skype to contain this:
#!/bin/sh
export LD_LIBRARY_PATH=/usr/my32bit
exec /usr/bin/skype
Make that script executable using chmod +x /usr/local/skype. If your desktop icons fail to execute that script, they might contain an absolute path. Edit any .desktop file included in the skype .deb package, and adjust its path to the local one. Or rename /usr/bin/skype to /usr/bin/skype.real, place the script in the original location and have it call the real binary.
stracecould help which 32bit libraries confuse Seconf-life. – MvG Jun 27 '12 at 15:13