[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
slackware:multilib [2017/07/01 21:04 (UTC)] – Updated glibc packages in Slackware 14.2 and -current. alienbobslackware:multilib [2024/01/13 10:04 (UTC)] (current) – Updated the list of compat32 packages alienbob
Line 51: Line 51:
 PKGS_PRIORITY=( multilib restricted alienbob ktown ) PKGS_PRIORITY=( multilib restricted alienbob ktown )
 REPOPLUS=( slackpkgplus multilib restricted alienbob ktown ) REPOPLUS=( slackpkgplus multilib restricted alienbob ktown )
-MIRRORPLUS['multilib']=http://bear.alienbase.nl/mirrors/people/alien/multilib/current/ +MIRRORPLUS['multilib']=https://slackware.nl/people/alien/multilib/current/ 
-MIRRORPLUS['alienbob']=http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/ +MIRRORPLUS['alienbob']=https://slackware.nl/people/alien/sbrepos/current/x86_64/ 
-MIRRORPLUS['restricted']=http://bear.alienbase.nl/mirrors/people/alien/restricted_sbrepos/current/x86_64/ +MIRRORPLUS['restricted']=https://slackware.nl/people/alien/restricted_sbrepos/current/x86_64/ 
-MIRRORPLUS['ktown']=http://bear.alienbase.nl/mirrors/alien-kde/current/latest/x86_64/ +MIRRORPLUS['ktown']=https://slackware.nl/alien-kde/current/latest/x86_64/ 
-MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/+MIRRORPLUS['slackpkgplus']=https://slackware.nl/slackpkgplus/
 </file>  </file> 
 ===== Enabling multilib support on Slackware64 ===== ===== Enabling multilib support on Slackware64 =====
Line 63: Line 63:
 This section contains the essential instructions to add full multilib capability to your Slackware64 system. If you want to understand the process in more detail, or need information on how to compile 32bit software in Slackware64, you should also read the sections that follow.\\ Note that the "''#''" in front of the commands depicts a //root prompt// This section contains the essential instructions to add full multilib capability to your Slackware64 system. If you want to understand the process in more detail, or need information on how to compile 32bit software in Slackware64, you should also read the sections that follow.\\ Note that the "''#''" in front of the commands depicts a //root prompt//
  
-  * Download the packages from my web site (I gave you the URL in [[#obtaining_multilib_packages | the previous section]], but this example is using a mirror URL). Suppose you are running Slackware 14.2. You execute: <code> +  * Download the packages from my web site (I gave you the URL in [[#obtaining_multilib_packages | the previous section]], but this example is using a mirror URL). Suppose you are running Slackware 15.0. You execute: <code> 
-# SLACKVER=14.2+# SLACKVER=15.0
 # mkdir multilib # mkdir multilib
 # cd multilib # cd multilib
-# lftp -c "open http://bear.alienbase.nl/mirrors/people/alien/multilib/ ; mirror -c -e ${SLACKVER}"+# lftp -c "open http://slackware.nl/people/alien/multilib/ ; mirror -c -e ${SLACKVER}"
 # cd ${SLACKVER} # cd ${SLACKVER}
 </code> </code>
Line 77: Line 77:
 </code> which will install all the converted 32-bit Slackware packages (or upgrade them if you already had installed older multilib packages, for instance when you are upgrading to a newer Slackware). That's all! </code> which will install all the converted 32-bit Slackware packages (or upgrade them if you already had installed older multilib packages, for instance when you are upgrading to a newer Slackware). That's all!
   * If you can not find a subdirectory called //slackware64-compat32// then either you did not download it, or the download mirror did not provide it. In this case, you have to do the 32-bit package conversion yourself. Not difficult at all, it takes a few minutes:   * If you can not find a subdirectory called //slackware64-compat32// then either you did not download it, or the download mirror did not provide it. In this case, you have to do the 32-bit package conversion yourself. Not difficult at all, it takes a few minutes:
-    * The fastest is if you have a local directory with original 32-bit Slackware packages available (also called a //local mirror//). Those who bought an official Slackware DVD can simply use that DVD: it is dual-sided and 32bit Slackware is on one of the sides. __For the sake of this example__ I will assume that you have a local 32bit Slackware directory tree available at "''/home/ftp/pub/slackware/slackware-14.2/slackware/''".\\ There should be sub-directories called 'a', 'ap', 'd', 'l', 'n', 'x' immediately below this directory. (If you have mounted a Slackware DVD, your directory will probably be "''/media/SlackDVD/slackware/''" but I will not use that in the example commands below).+    * The fastest is if you have a local directory with original 32-bit Slackware packages available (also called a //local mirror//). Those who bought an official Slackware DVD can simply use that DVD: it is dual-sided and 32bit Slackware is on one of the sides. __For the sake of this example__ I will assume that you have a local 32bit Slackware directory tree available at "''/home/ftp/pub/slackware/slackware-15.0/slackware/''".\\ There should be sub-directories called 'a', 'ap', 'd', 'l', 'n', 'x' immediately below this directory. (If you have mounted a Slackware DVD, your directory will probably be "''/media/SlackDVD/slackware/''" but I will not use that in the example commands below).
     * Create a new empty directory (let us call it 'slackware64-compat32') and change into it: <code>     * Create a new empty directory (let us call it 'slackware64-compat32') and change into it: <code>
 # mkdir slackware64-compat32 ; cd slackware64-compat32 # mkdir slackware64-compat32 ; cd slackware64-compat32
 </code> </code>
     * Run the following command to create a set of 32bit compatibility packages, using the directory to the official 32bit Slackware packages as input: <code>     * Run the following command to create a set of 32bit compatibility packages, using the directory to the official 32bit Slackware packages as input: <code>
-# massconvert32.sh -i /home/ftp/pub/slackware/slackware-14.2/slackware/+# massconvert32.sh -i /home/ftp/pub/slackware/slackware-15.0/slackware/
 </code> </code>
     * The previous step takes a while. When it ends, proceed to install the 90 MB of freshly converted 32-bit Slackware packages which were created in subdirectories below your //current directory//: <code>     * The previous step takes a while. When it ends, proceed to install the 90 MB of freshly converted 32-bit Slackware packages which were created in subdirectories below your //current directory//: <code>
Line 89: Line 89:
     * Done! You can now start downloading, installing and running 32bit programs. This was not so hard, was it?     * Done! You can now start downloading, installing and running 32bit programs. This was not so hard, was it?
  
-<note warning>If you use a package manager like //slackpkg// you will have to add all the ''glibc'' and ''gcc'' package names to its package blacklist. If you do not take this precaution, you run the risk of your package manager accidentally replacing your multilib versions with Slackware's original pure 64-bit versions!\\ If you run Slackware 13.37 or newer, then slackpkg supports regular expressions in the blacklist file. In that case, a single line in ''/etc/slackpkg/blacklist'' will be enough to blacklist all of my packages (including multilib gcc and glibc packages and all ''compat32'' packages): <code>+<note warning>If you use a package manager like //slackpkg// on Slackware releases older dan 13.37 you will have to add all the ''glibc'' and ''gcc'' package names to its package blacklist. If you do not take this precaution, you run the risk of your package manager accidentally replacing your multilib versions with Slackware's original pure 64-bit versions!\\ If you run Slackware 13.37 or newer, then slackpkg supports regular expressions in the blacklist file. In that case, a single line in ''/etc/slackpkg/blacklist'' will be enough to blacklist all of my packages (including multilib gcc and glibc packages and all ''compat32'' packages): <code>
 [0-9]+alien [0-9]+alien
 [0-9]+compat32 [0-9]+compat32
Line 95: Line 95:
  
 <note tip>If you are running Slackware 13.1 or newer, and downloaded the compat32-tools package for that release, the //massconvert32.sh// script can use a remote webserver to download the 32-bit Slackware packages from, instead of requiring a local Slackware mirror or a DVD. You use the "-u" parameter to specify the remote URL like this: <code> <note tip>If you are running Slackware 13.1 or newer, and downloaded the compat32-tools package for that release, the //massconvert32.sh// script can use a remote webserver to download the 32-bit Slackware packages from, instead of requiring a local Slackware mirror or a DVD. You use the "-u" parameter to specify the remote URL like this: <code>
-# massconvert32.sh -u http://someserver.org/path/to/slackware-14.2/slackware+# massconvert32.sh -u http://someserver.org/path/to/slackware-15.0/slackware
 </code> </note> </code> </note>
  
Line 203: Line 203:
  
   * The gcc compiler suite:   * The gcc compiler suite:
-    * gcc-7.1.0_multilib-x86_64-2alien.txz +    * gcc-13.2.0_multilib-x86_64-1alien.txz 
-    * gcc-brig-7.1.0_multilib-x86_64-2alien.txz +    * gcc-g++-13.2.0_multilib-x86_64-1alien.txz 
-    * gcc-g++-7.1.0_multilib-x86_64-2alien.txz +    * gcc-gdc-13.2.0_multilib-x86_64-1alien.txz 
-    * gcc-gfortran-7.1.0_multilib-x86_64-2alien.txz +    * gcc-gfortran-13.2.0_multilib-x86_64-1alien.txz 
-    * gcc-gnat-7.1.0_multilib-x86_64-2alien.txz +    * gcc-gm2-13.2.0_multilib-x86_64-1alien.txz 
-    * gcc-go-7.1.0_multilib-x86_64-2alien.txz +    * gcc-gnat-13.2.0_multilib-x86_64-1alien.txz 
-    * gcc-objc-7.1.0_multilib-x86_64-2alien.txz+    * gcc-go-13.2.0_multilib-x86_64-1alien.txz 
 +    * gcc-objc-13.2.0_multilib-x86_64-1alien.txz 
   * The GNU libc libraries:   * The GNU libc libraries:
-    * glibc-2.25_multilib-x86_64-3alien.txz +    * aaa_glibc-solibs-2.38_multilib-x86_64-3alien.txz 
-    * glibc-i18n-2.25_multilib-x86_64-3alien.txz +    * glibc-2.38_multilib-x86_64-3alien.txz 
-    * glibc-profile-2.25_multilib-x86_64-3alien.txz +    * glibc-i18n-2.38_multilib-x86_64-3alien.txz 
-    * glibc-solibs-2.25_multilib-x86_64-3alien.txz+    * glibc-profile-2.38_multilib-x86_64-3alien.txz
  
 <note>Since the update to gcc 7, there is no more ''gcc-java'' package because its development has ceased.</note> <note>Since the update to gcc 7, there is no more ''gcc-java'' package because its development has ceased.</note>
Line 224: Line 226:
  
   * The "32bit toolkit" (scripts that facilitate the creation of 32bit packages)   * The "32bit toolkit" (scripts that facilitate the creation of 32bit packages)
-    * compat32-tools-3.7-noarch-1alien.tgz+    * compat32-tools-3.10-noarch-8alien.tgz
  
  
Line 302: Line 304:
 ===== Packages converted by massconvert32.sh ===== ===== Packages converted by massconvert32.sh =====
  
-This is the list of packages that is converted into "//-compat32//" versions by the ''massconvert32.sh'' script. Note that some of these packages are not part of Slackware 13.0 or 13.1, they were added in a later Slackware version so they will produce a "//*** FAIL: package 'package_name' was not found!//" message when you run the script on an older release. The other way round is true as well - some packages have been //removed// in later versions of Slackware and they will also trigger the "//*** FAIL: package 'package_name' was not found!//" message. Don't worry about that.+This is the list of packages that is converted into "//-compat32//" versions by the ''massconvert32.sh'' script. Note that some of these packages are not part of older Slackware releases, they were added in a later Slackware version so they will produce a "//*** FAIL: package 'package_name' was not found!//" message when you run the script on an older release. The other way round is true as well - some packages have been //removed// in later versions of Slackware and they will also trigger the "//*** FAIL: package 'package_name' was not found!//" message. Don't worry about that.
  
 <code bash> <code bash>
Line 308: Line 310:
  
 aaa_elflibs aaa_elflibs
 +aaa_libraries
 attr attr
 bzip2 bzip2
 +cracklib
 cups cups
 cxxlibs cxxlibs
 dbus dbus
 e2fsprogs e2fsprogs
 +elogind
 eudev eudev
 libgudev libgudev
 +libpwquality
 +lzlib
 openssl-solibs openssl-solibs
 +openssl10-solibs
 +openssl11-solibs
 +pam
 +plzip
 udev udev
 util-linux util-linux
Line 323: Line 334:
 # The AP/ series: # The AP/ series:
  
 +cdparanoia
 cups cups
 cups-filters cups-filters
 flac flac
 +lm_sensors
 mariadb mariadb
 mpg123 mpg123
Line 339: Line 352:
 # The L/ series: # The L/ series:
  
 +Imath
 +Mako
 SDL2 SDL2
 +SDL2_gfx
 +SDL2_image
 +SDL2_mixer
 +SDL2_net
 +SDL2_ttf
 +aalib
 alsa-lib alsa-lib
 alsa-oss alsa-oss
 alsa-plugins alsa-plugins
 atk atk
 +at-spi2-atk
 +at-spi2-core
 audiofile audiofile
 +brotli
 cairo cairo
 dbus-glib dbus-glib
Line 352: Line 376:
 ffmpeg ffmpeg
 fftw fftw
 +fluidsynth
 freetype freetype
 fribidi fribidi
Line 357: Line 382:
 gc gc
 gdk-pixbuf2 gdk-pixbuf2
 +gdk-pixbuf2-xlib
 giflib giflib
 glib2 glib2
 gmp gmp
 gnome-keyring gnome-keyring
 +gobject-introspection
 +graphene
 +graphite2
 gtk+2 gtk+2
 +gtk+3
 +gst-plugins-bad-free
 gst-plugins-base gst-plugins-base
 gst-plugins-base0 gst-plugins-base0
Line 372: Line 403:
 harfbuzz harfbuzz
 icu4c icu4c
 +isl
 +jansson
 jasper jasper
 json-c json-c
 +json-glib
 +keyutils
 lame lame
 lcms lcms
 lcms2 lcms2
 libaio libaio
 +libarchive
 libart_lgpl libart_lgpl
 libasyncns libasyncns
 +libbluray
 +libcaca
 +libcap
 +libcdio
 +libcdio-paranoia
 libclc libclc
 +libcroco
 +libdbusmenu
 +libdeflate
 +libdvdnav
 libedit libedit
 libelf libelf
Line 386: Line 431:
 libffi libffi
 libglade libglade
 +libgnt
 libgphoto2 libgphoto2
 libidn libidn
 +libidn2
 libieee1284 libieee1284
 libjpeg libjpeg
 libjpeg-turbo libjpeg-turbo
 +libmad
 libmng libmng
 libmpc libmpc
 +libnice
 libnl3 libnl3
 +libnsl
 libnotify libnotify
 +libnss_nis
 libogg libogg
 libpcap libpcap
 libpng libpng
 +librsvg
 libsamplerate libsamplerate
 +libsigc++3
 libsndfile libsndfile
 +libssh
 libtasn1 libtasn1
 libtermcap libtermcap
 +libtheora
 libtiff libtiff
 libunistring libunistring
 +libunwind
 +liburing
 libusb libusb
 +libvisual
 libvorbis libvorbis
 +libvpx
 +libwebp
 +libxkbcommon
 libxml2 libxml2
 libxslt libxslt
 +lmdb
 +lz4
 lzo lzo
 +mozilla-nss
 +neon
 ncurses ncurses
 ocl-icd ocl-icd
 +openal-soft
 +opencv
 +openexr
 openjpeg openjpeg
 +opus
 orc orc
 pango pango
 +pcre
 +pcre2
 +pipewire
 +polkit
 popt popt
 pulseaudio pulseaudio
 python-six python-six
 +qrencode
 qt qt
 +qt5
 readline readline
 +rpcsvc-proto
 sbc sbc
 sdl sdl
-seamonkey-solibs+slang 
 +speex
 speexdsp speexdsp
 +spirv-llvm-translator
 startup-notification startup-notification
 svgalib svgalib
 +taglib
 +talloc
 +tdb
 +tevent
 v4l-utils v4l-utils
 +vid.stab
 +wavpack
 +woff2
 +xxHash
 zlib zlib
 +zstd
 +zxing-cpp
  
 # The N/ series: # The N/ series:
  
 +c-ares
 curl curl
 cyrus-sasl cyrus-sasl
 gnutls gnutls
 +krb5
 libgcrypt libgcrypt
 libgpg-error libgpg-error
 libtirpc libtirpc
 nettle nettle
 +nghttp2
 openldap-client openldap-client
 +openldap
 openssl openssl
 p11-kit p11-kit
Line 444: Line 536:
 # The X/ series: # The X/ series:
  
 +egl-wayland
 +eglexternalplatform
 fontconfig fontconfig
 freeglut freeglut
 glew glew
 glu glu
 +intel-vaapi-driver
 libFS libFS
 libICE libICE
Line 487: Line 582:
 libepoxy libepoxy
 libfontenc libfontenc
 +libglvnd
 libinput libinput
 libpciaccess libpciaccess
 +libpthread-stubs
 libva libva
 libva-intel-driver libva-intel-driver
 libvdpau libvdpau
 +libwacom
 libxcb libxcb
 libxshmfence libxshmfence
Line 497: Line 595:
 pixman pixman
 vulkan-sdk vulkan-sdk
 +wayland
 xcb-util xcb-util
 +xcb-util-keysyms
 +xorgproto
  
 # The XAP/ series: # The XAP/ series:
Line 511: Line 612:
  
   * [[http://slackware.com/~alien/multilib/ | http://slackware.com/~alien/multilib/]]   * [[http://slackware.com/~alien/multilib/ | http://slackware.com/~alien/multilib/]]
-  * [[http://bear.alienbase.nl/mirrors/people/alien/multilib/ | http://bear.alienbase.nl/mirrors/people/alien/multilib/]] +  * [[http://slackware.nl/people/alien/multilib/ | http://slackware.nl/people/alien/multilib/]] 
-  * [[http://slackware.uk/people/alien/multilib/| http://slackware.uk/people/alien/multilib/]] +  * [[https://slackware.uk/people/alien/multilib/| http://slackware.uk/people/alien/multilib/]] 
-  * [[http://alien.slackbook.org/slackware/multilib/| http://alien.slackbook.org/slackware/multilib/]] +  * [[https://alien.slackbook.org/slackware/multilib/| http://alien.slackbook.org/slackware/multilib/]] 
-  * [[http://slackbuilds.org/mirror/alien/multilib/| http://slackbuilds.org/mirror/alien/multilib/]]+  * [[https://slackbuilds.org/mirror/alien/multilib/| http://slackbuilds.org/mirror/alien/multilib/]]
  
  
Line 543: Line 644:
 ===== Sources ===== ===== Sources =====
  
-  * The original article, written by Eric Hameleers, is at http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib+  * The original article, written by Eric Hameleers, is at https://wiki.alienbase.nl/doku.php?id=slackware:multilib
  
 <!-- Please do not modify anything below, except adding new tags.--> <!-- Please do not modify anything below, except adding new tags.-->
 <!-- You must also remove the tag-word "template" below. Otherwise your page will not show up in the Table of Contents --> <!-- You must also remove the tag-word "template" below. Otherwise your page will not show up in the Table of Contents -->
 {{tag>slackware multilib author_alienbob}} {{tag>slackware multilib author_alienbob}}
 slackware:multilib ()