LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Multilib slack64 (https://www.linuxquestions.org/questions/slackware-14/multilib-slack64-749466/)

wingevil 08-22-2009 01:40 AM

Multilib slack64
 
I've read the notes and instructions from Alien Bob about creating a real multilib slack64 HERE. Because of my imperfect english & tech know how I wanna ask: what will be happenend, if I have to upgrade a multilib slack64? There must be gaps because my slackpkg will only upgrade slackware64, right? As a result, do I have to reinstall the 32bit libs every time manually after a upgrade?

thanks in advance

lumak 08-22-2009 02:41 AM

Being that all of the supported packages and versions distributed by slackware are 64 bit, you theoretically shouldn't have to worry about updating 32 bit packages.

The 32 bit packages should be largely independent of your 64 bit packages. That is unless the 32 bit package overwrites files previously installed by a 64 bit package. Like for example, you compile for 32 bits for an existing 64 bit program. If you don't change the executable names, then the 32bit package will overwrite those binaries.

If you update the tool chain (it gets updated for major releases) then you will probably have to update your tool chain in 32 bit as well. I don't know how much old 32 bit xlibs will affect you if they are older than the current 64bit xlibs.

Once slackware 13.0 is released, minor updates for security fixes shouldn't affect you much.

Bruce Hill 08-22-2009 05:08 AM

Quote:

Originally Posted by wingevil (Post 3653264)
I've read the notes and instructions from Alien Bob about creating a real multilib slack64 HERE. Because of my imperfect english & tech know how I wanna ask: what will be happenend, if I have to upgrade a multilib slack64? There must be gaps because my slackpkg will only upgrade slackware64, right? As a result, do I have to reinstall the 32bit libs every time manually after a upgrade?

thanks in advance

I am running a multilib Slackware64 -current box here, so let me try and
answer some of your questions.

My recommendation is to wait for Slackware-13.0 and do a fresh install, then
follow his guide and create the multilib enabled system, since it should be
released just any day now -- aaa_elflibs is in today's ChangeLog.


There is a major difference in Slackware64's multilib environment, and that of
Slamd64. As Alien Bob wrote, "Slamd64 has separate 64bit and 32bit gcc/glibc
multilib packages." Using the method from his wiki, your system will only
have multilib glibc and gcc packages. It seems that the recomplied 32-bit
compatible packages for Slackware64 is a much cleaner way to do it.

First, if you use slackpkg, you need to comment out glibc and gcc. Here is what
Alien Bob wrote in his instructions in the article you linked:
Quote:

If you use a package manager like slackpkg you will have to add glibc and gcc
to it's package blacklist. If you do not take this precaution, you run the risk of your
package manager accidentally replacing the new multilib versions with Slackware's original pure-64bit versions!
And this is what glibc and gcc look like in that Slackware64 -current machine today:
Code:

root@silas64:/var/log/packages# ls glibc-*
glibc-2.9_multilib-x86_64-3alien      glibc-profile-2.9_multilib-x86_64-3alien  glibc-zoneinfo-2.9_multilib-noarch-3alien
glibc-i18n-2.9_multilib-x86_64-3alien  glibc-solibs-2.9_multilib-x86_64-3alien

root@silas64:/var/log/packages# ls gcc-*
gcc-4.3.3_multilib-x86_64-4alien      gcc-gfortran-4.3.3_multilib-x86_64-4alien  gcc-java-4.3.3_multilib-x86_64-4alien
gcc-g++-4.3.3_multilib-x86_64-4alien  gcc-gnat-4.3.3_multilib-x86_64-4alien      gcc-objc-4.3.3_multilib-x86_64-4alien

So as mentioned above, they are blacklisted in /etc/slackpkg/blacklist:
Code:

# Added by the sysadmn because gcc and glibc have been recompiled for
# 32-bit compatibility
#
gcc
gcc-g++
gcc-gfortran
gcc-gnat
gcc-java
gcc-objc
glibc
glibc-i18n
glibc-profile
glibc-solibs
glibc-zoneinfo

That was added by me, not by the system. You don't upgrade those.

As lumak stated, Slackware will have packages for both x86 (32-bit) and x86_64 (64-bit)
arches. You will upgrade the x86_64 packages independently of the x86 ones. The apps
that I've recompiled using his method are for libs needed in other packages, and not
apps that you run such as Firefox, Thunderbird, GIMP, etc. Those packages have 64-bit
source, and therefore, 64-bit packages. For applications that you want to install
which don't have 64-bit source, this helps you build and run them on Slackware64.

If I'm correct, those x86 packages which are rebuilt to compat32 packages will only
need to be upgraded if software requires libs that are in their upgraded versions.

You can see that right now I have 84 compat32 packages installed:
Code:

root@silas64:~# ls /var/log/packages/*compat32* | wc -l
84

These were all installed in June, and I have not updated any of them, because once
Slacwkare-13.0 comes out, I'll install fresh and do it all again. Everything is working
very well. I have compiled some 32-bit software on here, and am running Wine and
Skype and QQ (32-bit only source) under Slackware64 -current with no problems.

If you use slackpkg, you need to be careful about what you upgrade. When you run
it you will notice when the list of available packages appears, as one is highlighted,
there is a line at the bottom of the screen to tell you the presently installed pkg.
I think the only 'gotcha' that came up for me so for was glibc and gcc, before I found
out exactly how to write their syntax to blacklist them. The only other things I have
in /etc/slackpkg/blacklist are personal packages that Slackware ships, but I have
rebuilt to meet my needs, and the kernel packages that I don't upgrade.

You will not overwrite any 64-bit binaries if you follow Alien Bob's instructions.

Remember to backup your system, and if you have any doubts along the way, just stop
and ask before going further. It worked pretty easy for me.

Once Slackware-13.0 is released, Alien Bob will answer any questions you have beyond
this point. Hope this little bit of info helps until then.

samac 08-22-2009 01:32 PM

wingevil

Thanks for the link to Alien Bob's Slackware64 multi-lib site. I just followed the instructions and I am now running a true multi-lib version of Slackware-current, which is relatively easy to maintain and update.

The convertpkg-compat32 script is especially useful as it allows you to convert any 32bit Slackware package to a stripped down compat32 package. This allows you to install any 32-bit packages in a way that is safe and easy to maintain.

This, in my opinion, is the best option for those that need to run 32-bit programs on their Slackware64 systems.

samac

arubin 09-02-2009 02:45 AM

I would like to install multilib but I do not have a Slackware 32 disk. Is it possible to mount an ftp site so that the massconvert script will read directly from it?

Bruce Hill 09-02-2009 02:58 AM

Alien Bob has also made the packages available now. Read his blog post.

bmxcess 02-21-2010 07:53 PM

I've been following this post (just recently moved to 64 - thanks everyone!) I know this is late but you can use this to grab the packages (change 13.1 to 13.0 if you need):

Code:

lftp -c "open http://connie.slackware.com/~alien/multilib/ ; mirror 13.1"


All times are GMT -5. The time now is 12:53 AM.