LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Multilib Question (https://www.linuxquestions.org/questions/slackware-14/multilib-question-872417/)

SeRi@lDiE 04-01-2011 11:40 AM

Multilib Question
 
I have Slackware 13.1 64Bit. For me to run a 32Bit application all I need is to install multilib correct?

I seen compat32 and multilib from this sites

http://compat32pkg.sourceforge.net/
http://multilibpkg.sourceforge.net/

Thats where I got a bit confused.

Thank You for the help.

willysr 04-01-2011 11:55 AM

Check this page for more information about Multilib: http://alien.slackbook.org/dokuwiki/...kware:multilib

phenixia2003 04-01-2011 01:41 PM

Hello,

Quote:

Originally Posted by SeRi@lDiE (Post 4310874)
I have Slackware 13.1 64Bit. For me to run a 32Bit application all I need is to install multilib correct?

I seen compat32 and multilib from this sites

http://compat32pkg.sourceforge.net/
http://multilibpkg.sourceforge.net/

Thats where I got a bit confused.

Hello,

To turn your pure 64-bit "Slackware-13.1" into multilib, you need to install two subset of packages :
  1. The subset which allow to run/compile 32-bit applications. This subset is provided by the multilib
    version of packages glibc*, gcc*, and, by the package compat32-tools. This is the "64-bit part of
    the multilib".

  2. The subset which provides 32-bit versions of libraries (like mesa, alsa-lib, cairo, ...) needed by
    32-bit programs. This is the "32-bit part of the multilib", also know as "32-bit compatibility layer"

To automate the management (install, checking updates, upgrading, remove) of these subsets, I wrote the tools you mention above.

multilibpkg is dedicated to the management of the "64-bit part of the multilib". For example, to install this subset on your system using multilibpkg, you'll do this (as root) :

Code:

$ multilibpkg --mirror @Official-13.1 --install

multilibpkg ver. 0.9.101208 (stable)
(WARNING) You're using multilibpkg in mode --install, while the system is not             
(WARNING) in run level 1: current runlevel is (3).

Do you want to continue (Y/N) ? y
[--install] Started on Fri 01 Apr 2011 08:28:08 PM CEST
[--install]  Using multilib-mirror http://connie.slackware.com/~alien/multilib/13.1
[--install]  Local system is Slackware/x86_64 version 13.1.0
[--install]  Mirrored multilib dedicated to Slackware/x86_64 version 13.1
[--install]  Downloaded packages will be stored into /var/cache/multilibpkg
                                                       
[--install]  12 package(s) were found (1,048 sec.)

[--install]  Downloading 64-bit multilib packages...
....

compat32pkg has to be used to manage the "32-bit part of the multilib". For example, to install this subset on your system using compat32pkg, you'll do this (as root) :

Code:

$ compat32pkg --mirror @WorldWide-13.1 --install layer-32

compat32pkg ver. 1.3.110319 (stable)

[--install] Started on Fri 01 Apr 2011 08:31:47 PM CEST
[--install]  Using mirror ftp://mirrors.kernel.org/slackware/slackware-13.1
[--install]  Local system is Slackware/x86_64 version 13.1.0
[--install]  Mirrored system is Slackware/i486 version 13.1
[--install]  Slackware-32 packages will be stored into /var/cache/compat32pkg/slackware-32
[--install]  compat32 packages will be stored into /var/cache/compat32pkg/compat-32
[--install]  Configuration file for "layer-32" : /etc/compat32pkg/multilib-32bit-packages.lst version 1.3.110327
                                                                   
[--install]  103 package(s) were found (1,500 sec.)

[--install]  Processing package #1/103: aaa_elflibs version 13.1 build 1
...

After that, you should be able to run the 32-bit programs you want.

multilibpkg and compat32pkg can also be used to check updates, upgrade, or remove of the subsets mentioned above.

For example, to check whether updates are available, you'll do this (as root) :

Code:

$ multilibpkg --mirror @Official-13.1 --check-updates

$ compat32pkg --mirror @WorldWide-13.1 --check-updates layer-32

When updates are available, you'll use these tools as below (as root) to upgrade the installed multilib :

Code:

$ multilibpkg --mirror @Official-13.1 --upgrade

$ compat32pkg --mirror @WorldWide-13.1 --upgrade layer-32

Finally, when you'll not need the multilib, you'll use these tools as below (as root) to remove of the installed multilib :

Code:

$ multilibpkg --uninstall @WorldWide-13.1

$ compat32pkg --remove layer-32

Note: multilibpkg --uninstall <ADDR> will supersede the multilib version of packages gcc* and glibc* by their 64-bit counterpart available onto the slackware-64 mirror given in argument.

Hoping this will clarify things for you.

Greetings.

--
SeB

SeRi@lDiE 04-01-2011 04:03 PM

phenixia2003,

Thank you very much for this information!!!!
Awesome tools by the way :D

Again Thank You.

---------- Post added 04-01-11 at 04:04 PM ----------

Quote:

Originally Posted by willysr (Post 4310888)
Check this page for more information about Multilib: http://alien.slackbook.org/dokuwiki/...kware:multilib

Thank you for the link.

alien has very good information and has been a good source for help!

Thank you.

tommcd 04-02-2011 12:20 AM

Quote:

Originally Posted by phenixia2003 (Post 4310982)
To automate the management (install, checking updates, upgrading, remove) of these subsets, I wrote the tools you mention above.

$ multilibpkg --mirror @Official-13.1 --install
...

One question about multilibpkg and compat32pkg: Don't these commands need to be run as root?
Your post indicates that you are running those multilibpkg and compat32pkg commands as a normal user.

phenixia2003 04-02-2011 05:12 AM

Hello,

Quote:

Originally Posted by tommcd (Post 4311307)
One question about multilibpkg and compat32pkg: Don't these commands need to be run as root?

Indeed, you're right and this is now pointed out in my original post.


Grettings.

--
SeB


All times are GMT -5. The time now is 04:14 PM.