LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware 14 multilib - what *compat32 packages should I install (http://www.linuxquestions.org/questions/slackware-14/slackware-14-multilib-what-%2Acompat32-packages-should-i-install-4175448585/)

m1m 02-03-2013 06:39 PM

Hi
I try to add multilib support to my fresh Slackware 14.0 installation using this tutorial:
http://slackware.com/~alien/multilib/

Do I need to install all packages from
http://slackware.com/~alien/multilib...re64-compat32/ ?

For example, I don't use mysql, I didn't install mysql-5.5.27-x86_64-1.txz, should I install mysql-compat32-5.5.27-x86_64-1compat32.txz then?

If not, what command can I use to install compact32 versions of only those packages I currently have?

Alien Bob 02-04-2013 02:27 PM

It all depends on the 32-bit binaries which you want to use on your Slackware64 computer. At a mimimum you will always need the multilib versions of the glibc packages. If you ever want to compile your own 32-bit software then you would also need the multilib versions of the gcc packages.
And for the rest (the compat32 packages) you can start with installing nothing and then try to run any 32-bit software. You will probably get startup errors which show you what else you need. Some of the "compat32" packages depend on other compat32 packages, that is why installing all of them is the easy path.the "ldd" command will also be helpful in determining what 32-bit libraries you are missing.
For something like Skype, you'll find that you will need almost the full set. This is the "ldd" output on my Slackware64 multilib desktop:
Code:

$ ldd /usr/bin/skype
        linux-gate.so.1 (0xffffe000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xf7670000)
        libXv.so.1 => /usr/lib/libXv.so.1 (0xf766b000)
        libXss.so.1 => /usr/lib/libXss.so.1 (0xf7668000)
        librt.so.1 => /lib/librt.so.1 (0xf765f000)
        libdl.so.2 => /lib/libdl.so.2 (0xf7659000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xf7523000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xf7512000)
        libQtDBus.so.4 => /usr/lib/libQtDBus.so.4 (0xf7490000)
        libQtWebKit.so.4 => /usr/lib/libQtWebKit.so.4 (0xf5d49000)
        libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0xf5d08000)
        libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0xf5212000)
        libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0xf50cd000)
        libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0xf4de3000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xf4dc9000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf4ce3000)
        libm.so.6 => /lib/libm.so.6 (0xf4cb7000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xf4c9b000)
        libc.so.6 => /lib/libc.so.6 (0xf4b16000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xf4af5000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xf4af2000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xf4aec000)
        /lib/ld-linux.so.2 (0xf77a0000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xf4ab6000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xf4a2d000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xf497e000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xf4975000)
        libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xf481e000)
        libgstapp-0.10.so.0 => /usr/lib/libgstapp-0.10.so.0 (0xf4812000)
        libgstinterfaces-0.10.so.0 => /usr/lib/libgstinterfaces-0.10.so.0 (0xf4802000)
        libgstpbutils-0.10.so.0 => /usr/lib/libgstpbutils-0.10.so.0 (0xf47e5000)
        libgstvideo-0.10.so.0 => /usr/lib/libgstvideo-0.10.so.0 (0xf47d2000)
        libgstbase-0.10.so.0 => /usr/lib/libgstbase-0.10.so.0 (0xf4798000)
        libgstreamer-0.10.so.0 => /usr/lib/libgstreamer-0.10.so.0 (0xf46e5000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xf4698000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xf4694000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xf4692000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xf4544000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xf441f000)
        libpng14.so.14 => /usr/lib/libpng14.so.14 (0xf43f4000)
        libz.so.1 => /lib/libz.so.1 (0xf43de000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xf43d6000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xf43bd000)
        libbz2.so.1 => /lib/libbz2.so.1 (0xf43ab000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xf4383000)
        libffi.so.6 => /usr/lib/libffi.so.6 (0xf437d000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xf4364000)
        liblzma.so.5 => /lib/liblzma.so.5 (0xf433e000)
        libuuid.so.1 => /lib/libuuid.so.1 (0xf433a000)

Eric

Habitual 02-04-2013 03:20 PM

Far better, IMO, to have compat32-tools-3.0-noarch-1alien and not need it, than need it and not have it.

It's the second thing I installed because/due to Skype. And that's a requirement here.

It sort of made me take pause, that I had to force a compatibility issue straight away, but the beauty is that I achieve even more flexibility on an already solid OS.

Just me and my big mouth.:twocents:

psionl0 02-05-2013 02:03 AM

Just install individually the packages you do want.

phenixia2003 02-05-2013 04:32 AM

Hello,

Quote:

Originally Posted by m1m (Post 4883843)
Hi
I try to add multilib support to my fresh Slackware 14.0 installation using this tutorial:
http://slackware.com/~alien/multilib/

Do I need to install all packages from
http://slackware.com/~alien/multilib...re64-compat32/ ?

For example, I don't use mysql, I didn't install mysql-5.5.27-x86_64-1.txz, should I install mysql-compat32-5.5.27-x86_64-1compat32.txz then?

If not, what command can I use to install compact32 versions of only those packages I currently have?


Unless you exactly know the 32-bit packages required by the 32-bit softwares you want to use, I don't think it's a good idea to not install all the compat32 packages.

However, if you really want to manage your own 32-bit layer (ie with your own set of packages), you can install compat32pkg, then edit the 32-bit layer descriptor (ie the file /etc/compat32pkg/multilib-32bit-packages.lst) as you wish.

For instance, to avoid the 32-bit mysql package to be installed, you simply have to comment it into the file /etc/compat32pkg/multilib-32bit-packages.lst, as in the snippet below :

Code:

  ###
  #    Serie [AP]    #
                  ###

mpg123
#mysql

Another way to avoid a 32-bit package to be installed by compat32pkg is to add its basename into the blacklist (ie the file /etc/compat32pkg/blacklist).

Hope this help.

Cheers.

--
Seb

Alien Bob 02-05-2013 09:30 AM

Why did you open a second thread with the exact same question? Now the answers are added to two threads.

Eric

Habitual 02-05-2013 10:48 AM

Quote:

Originally Posted by m1m (Post 4883843)
Hi
I try to add multilib support to my fresh Slackware 14.0 installation using this tutorial:
http://slackware.com/~alien/multilib/

It says "Slackware for x86_64 - multilib packages & build instructions" not tutorial.

I'd re-read it again, slower. :)

unSpawn 02-05-2013 12:48 PM

//I merged both the OPs threads and his OPs.

m1m 02-06-2013 10:59 AM

Quote:

Originally Posted by Alien Bob (Post 4884829)
Why did you open a second thread with the exact same question? Now the answers are added to two threads.

Eric

I waited few hours for my first post to show off, so I wrote another.

Back on topic, after few more readings I think I understand 'the idea' of multilib:
32bit programs need 32bit libraries, so if some program dosen't run, I just need to find missing library and install -compat32 version?


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