View Single Post
Old December 22nd, 2007   #97
Cappy
Fresh Brewed Ubuntu
 
Cappy's Avatar
 
Join Date: Feb 2007
Location: In my chair
Beans: 1,485
Re: getlibs: Automatically solves dependencies for 32-bit programs on 64-bit

Getlibs v2.00 is done. If you are willing to help try it out for me!
Install:
http://www.boundlesssupremacy.com/Ca...s-2.00-all.deb
Source:
http://www.boundlesssupremacy.com/Ca...etlibs-2.00.sh

I've been using the following to test getlibs:
Code:
sudo rm /usr/lib32/libQtCore* /usr/lib32/libQtDBus* /usr/lib32/libQtGui* /usr/lib32/libQtNetwork* /usr/lib32/libdbus-*
sudo getlibs /usr/bin/skype
but you may try something I haven't thought of. I've left debugging messages in for testing. A good command to test is
Code:
libpng.so.3
let me know if there are any errors/problems (or if it works perfectly in everything you try!)

Here are some of the most important options:
--file "filename" or -f "filename here" will install a .deb library you have locally on your computer correctly.
--link 'link here' or -w 'link here' will download and install a .deb library given a link
--ldconfig will make sure the newly installed libraries are linked. Skipped otherwise.
--mirror 'mirror address' or -m mirror 'mirror address' will download from the mirror of your choice. Default is the one specified in /etc/apt/sources.list and the backup is http://mirrors.kernel.org/ubuntu/

Quote:
Logging (NOT YET - depends on everything else)
Downloading libraries from your local selected mirror instead of just kernel.org (CHECK)
Option to install libraries by package name (CHECK)
Option to install local libraries (CHECK)
Option to install a library using a link to the package (CHECK)
Ability to remove or upgrade installed 32-bit libraries (at least remove) (NOT YET - depends on logging)
Much faster runtime (CHECK)
sudo getlibs library/binary/packagename now works. On 64-bit it will install 32-bit packages unless you specify -64.
This means
Code:
sudo getlibs /usr/bin/skype
sudo getlibs libQtGui.so.4 libQtCore.so.4
sudo getlibs -32 libQtGui.so.4 libQtCore.so.4
sudo getlibs libqt4-core libqt4-gui
sudo getlibs -32 libqt4-core libqt4-gui
will all do the same thing (using the binary path is always better). I'm not sure if this is a good idea. I'm wondering if instead the syntax for packages should only be
Code:
sudo getlibs -p libqt4-core libqt4-gui
sudo getlibs --package libqt4-core libqt4-gui
The problem is that getlibs checks to see if there is a file "X" and if it doesn't exist it assumes it is a package. I put a message in when this happens.
Code:
$ sudo getlibs abcdef
abcdef is not a file. Assuming this is a package name.

The following i386 packages will be installed: abcdef
Continue [Y/n]? n
__________________
Currently favorite songs:
Miss Hyde, This Song Is About Monsters, Masagin, I Will Try to Blow it Out, La Resistance
Visit www.cherrypeel.com for more free indie music =)

Last edited by Cappy; December 22nd, 2007 at 01:25 PM..
Cappy is offline