Main menu:


Please consider a small donation:



Or you can donate bitcoin:


Thanks to TekLinks in Birmingham, AL, for providing colocation and bandwidth.

Page Rank


FOSS Force Best Blog--2013 Award

Recent posts

Recent comments

About this blog

I am Eric Hameleers, and this is where I think out loud.
More about me.


Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 329 other subscribers

My Favourites



October 2017
« Sep    

RSS Alien's Slackware packages

RSS Alien's unofficial KDE Slackware packages

RSS Alien's multilib packages

RSS Slackware64-current


Chromium 62 ready for download

chromium_iconEarlier this week, Google released a security update for its chrome/chromium browser. The new version 62.0.3202.62 plugs the holes of 35 more or less serious issues, several of them have a CVE rating.
When the topic of Chromium 62 came up in the comments section of a previous post, I mentioned that I was unable to compile it on Slackware 14.2. Errors like “error: static assertion failed: Bound argument |i| of type |Arg| cannot be converted and bound as |Storage|” yield some results when looked up on the Internet, and they indicate that Slackware’s own gcc-5.3.0 package is too old to compile chromium 62.
The c++11 implementation in gcc-5.3.0 has issues which are fixed in gcc-5.4.0. Unfortunately we are stuck with what we have on Slackware 14.2; it will only get security fixes, no functional upgrades, so no gcc-5.4.0.

I posted on the chromium-packagers discussion group to see if there’s anything to be done about this and that lead to an e-mail discussion with a Google developer who is also a Slackware user. He told me that Google compiles its own Chrome with clang, and more specifically, using a modified bleeding-edge version of clang that does what Google wants it to do. Compiling with gcc is not tested all that much, which apparently is leading to a multitude of reports about gcc related compilation issues. It’s not just me.

There is a reason that I want to compile with gcc, even though the chromium.SlackBuild already has some (hopefully complete) support for using clang instead. Google does not want to use the system-clang of the distro and instead, forces a download of its own clang binaries. I am not ready to trust a binary black-box to compile my chromium package… after all I created the chromium package for Slackware so that we do not have to depend on Google’s Chrome binaries.
This entry on Google’s  reviewboard is encouraging though; there is an initiative to take distro packagers’ wishes more seriously. The idea is to work toward using the system toolchain to compile Google’s clang variant from source and then use that to compile chromium. I’ll wait for that to happen before I switch to clang. I have nothing against clang as compared to gcc – it’s only my unease at having to trust someone else’s binaries.
I hear you say “but what about NaCl?”… indeed in order to compile NaCl my chromium.SlackBuild is already downloading a binary toolchain from Google. But that downloaded PNaCl toolchain is not used to compile the complete browser, it’s used only for the NaCl sandbox. And even that is coming to an end. Google has deprecated (P)NaCl in favor of WebAssembly. As of April 2018, it will only support PNaCl in Chrome Apps and Extensions. Meanwhile, WebAssembly (a portable cross-platform and cross-browser solution for presenting web apps at near-native speed) is already fully functional in Chrome/Chromium, as can be seen by visiting

Back to the present day. I still needed to compile chromium 62 for Slackware 14.2 with its too-old compiler suite. Therefore I grabbed my gcc5.SlackBuild which I had originally meant to be installed alongside gcc7 on slackware-current. I polished it a wee bit, and then build packages for Slackware 14.2. My ‘gcc5‘ works by sourcing its “/etc/profile.d/” script which sets several environment variables and points those to the gcc5 binaries (CC, CPP, GXX, AR, NM, RANLIB). Unfortunately, the chromium framework ignores these environment variables and uses the “which” command to look for gcc and g++. Therefore I had to be a bit more creative (i.e. break some stuff).

So, what is the drill on Slackware 14.2 if you want to compile Chromium 62?

  • Install gcc5ninja and nodejs for which I have packages in my repository. Note that installing this ‘gcc5’ does not replace your Slackware gcc-5.3.0, it gets installed alongside and does not clash.
  • Download the chromium sources and scripts from my repository.
  • Make the ‘gcc’ and ‘g++’ symlinks in Slackware point to the ‘gcc5’ binaries:
    # cd /usr/bin
    # mv gcc gcc.orig
    # ln -s gcc-5 gcc
    # mv g++ g++.orig
    # ln -s g++-5 g++
  • Source the profile script (just to be sure). Note the ‘dot’ at the beginning, that dot is the ‘source’ command:
    # . /etc/profile.d/
  • Compile chromium. Note that this requires lots of RAM and lots of diskspace, and if your CPU does not have many cores, you’ll need a lot of time too.
  • Restore Slackware’s gcc and g++ symlinks:
    # cd /usr/bin
    # mv gcc.orig gcc
    # mv g++.orig g++

Fortunately gcc5, ninja and nodejs are only needed for the compilation, not for actually running the browser. So if you do not fancy a re-compilation, you do not have to install any of those other packages.

The packages for chromium are available for Slackware 14.2 and -current in my repository or one of its mirrors:

Have fun! Eric

October updates for the Slackware Plasma5 desktop

There’s been updates to all the major components of the KDE Software Collection (I know they stopped using that name but I think it is still fitting). So I tasked my build box to compile hundreds of new packages and today I have for you the October ’17 set of Plasma 5 packages for Slackware 14.2 and -current. KDE 5_17.10 contains: KDE Frameworks 5.39.0, Plasma 5.11.0 and Applications 17.08.2. All based on Qt 5.9.2 for Slackware-current and Qt 5.7.1 for Slackware 14.2.
NOTE: I will no longer be releasing Plasma 5 packages for 32bit Slackware 14.2.

What’s new in the October release

There was a new Qt5 release just after my September packages, so this time the ktown repository comes with a ‘qt5‘ 5.9.2 package for Slackware-current.
The other major update is Plasma which had its first 5.11 release with lots of visual, UX and under-the-hood improvements. You can read the release announcement if you are curious. Most notable is a new functionality called “Plasma Vault” which enables you to add documents to an encrypted vault and hide that from sight. It’s not (yet) functional in my repository because plasma-vault depends on an external encryption program to do the job – and neither of the two candidates are part of Slackware or any of my own repositories. Install either ‘encfs‘ or ‘cryfs‘ to make this work.
The Frameworks and Applications updates are targeting stability and bugfixes.

I was unable to update KDE Partition Manager on Slackware 14.2, because its dependency ‘kpmcore‘ needs a newer ‘blkid‘ program than what’s available through the util-linux package. No problem for Slackware-current, it sports the latest ‘partitionmanager’ package.

I ran into an issue when I tried adding SDDM 0.16.0. SDDM is the graphical session manager aka login manager. It turns out that the new release is not compatible with ConsoleKit2 (which we have in Slackware) because the new code was only tested against systemd. Therefore I stuck with the 0.15.0 release which I know works well. We’ll just wait for a bug-fix release 0.16.1.

Installing or upgrading Frameworks 5, Plasma 5 and Applications

As always, the accompanying README file contains full installation & upgrade instructions.

Recommended reading material

There have been several posts now about KDE 5 for Slackware-current. All of them contain useful information, tips and gotchas. If you want to read them, here they are:

Where to get the new packages for Plasma 5

Package download locations are listed below (you will find the sources in ./source/5/ and packages in /current/5/ and  /14.2/5/ subdirectories). Only “bear” has the packages for now, the mirrors should follow within 24 hours. If you are interested in the development of KDE 5 for Slackware, you can peek at my git repository too.


A new Plasma5 Live ISO image (based on liveslak has been uploaded to in case you want to try the new Plasma5 desktop out first in a non-destructive way.

Have fun! Eric

Updates for LibreOffice, Pale Moon, Flash

I have some updates for you while I am working on a new Plasma5 package set.

The LibreOffice packages were uploaded to my repository last Friday, so you probably already have that installed. Never hurts to mention it for those people who did not subscribe to my RSS feed.

Here is a screenshot of the upcoming Plasma5 desktop release, to keep you sharp:


Have fun! Eric

Refreshed ISO’s for Slackware Live Edition, and more

blueSW-64pxWhen I released new Live ISO images almost two weeks ago, a bug in the init script which became apparent with the latest Slackware initrd broke the encrypted /home feature. Therefore I am releasing an updated set of ‘liveslak‘ scripts with version .

The latest set of Slackware Live Edition ISOs are based on liveslak and Slackware-current dated “Fri Sep 29 22:58:54 UTC 2017“). That means, the new Live ISOs contain the updates to TexLive and Python3 (well, no texlive in the XFCE image due to its size limit of course).

If you already use a Slackware Live USB stick that you do not want to re-format, you should use the “-r” parameter to the “” script. The “-r” or refresh parameter allows you to refresh the liveslak files on your USB stick without touching your custom content. If you want to modify other parameters of your USB stick, use the script ““. It’s main feature is that it can update the kernel on the USB stick, but it also can replace the Live init script. As with most (if not all) of my scripts, use the “-h” parameter to get help on its functionality.

And more:

I built new versions for the palemoon packages for Slackware 14.2 and -current to the latest 27.5.0 version. Someone stated he had issues compiling on slackware-current so I made sure the palemoon.SlackBuild works. The new palemoon package is included in the refreshed PLASMA5 Live ISO image. Note that to compile this on slackware-current you will need my gcc5 package; this software cannot be built with gcc6. Before starting the compile, source the gcc5 profile script:
“. /etc/profile.d/” – note the dot.

I updated the Chromium package as well.
Chromium had a recent bugfix upgrade to 61.0.3163.100 which I missed initially.


And even more:

The recent flurry of activity in the Slackware-current development tree (boost, poppler, python3), caused repeated broken-ness of my own packages. The collection of multilibcompat32” packages was renewed several times. I recompiled LibreOffice 5.4.1 for slackware-current and in my ‘ktown‘ repository for Plasma5 there were multiple updates. I did manage to ‘sneak in’ new versions for Krita and KDEConnect at the same time. This too is all part of the refreshed PLASMA5 Live ISO image.

liveslak 1.1.9 and new ISO images

blueSW-64pxThe ‘liveslak‘ scripts used to create the ISO images for Slackware Live Edition have been stamped with a new version, 1.1.9. The updates are significant enough to warrant an ‘official’ update and new ISO images.

The latest set of Slackware Live Edition ISOs are based on liveslak 1.1.9 and Slackware-current dated “Tue Sep 19 20:49:07 UTC 2017“. Just in time (I was already creating ISOS based on -current “Mon Sep 18 19:15:03 UTC 2017“) I noticed that Patrick downgraded the freetype package in Slackware, and I re-generated all of the ISO images to incorporate the latest freetype package – because that one is working and the previous one had serious issues.

If you already use a Slackware Live USB stick that you do not want to re-format, you should use the “-r” parameter to the “” script. The “-r” or refresh parameter allows you to refresh the liveslak files on your USB stick without touching your custom content.

I should note (I always seem to forget mentioning this) that there’s also a “bonus” section where you can find a couple of Live squashfs modules that are included in the PLASMA5 Live ISO, and that will be just as useful to people who don’t want to run Plasma 5. These modules can be copied to the /liveslak/addons/ directory of your USB Live stick so that they are automatically loaded on every boot. The “bonus” section contains modules for:

  • broadcom-sta (“wl” module for 4.9.50 kernel) for people whose BCM wireless card does not work out of the box
  • multilib (gcc, glibc and the full set of compat32 packages)
  • skypeforlinux
  • wine (with OpenAL-compat32 already incorporated)

New in the ISOs

The new ISOs are based on the latest Slackware -current with Linux kernel 4.9.50, gcc 7.2.0, glibc 2.26 and X.Org 1.19.3.

The SLACKWARE variant contains the complete latest slackware-current distribution and nothing else. Ideal for testing and for checking out the progress of Slackware’s development.

The XFCE variant contains a stripped down Slackware with a minimalized package set but still quite functional. The small size is also accomplished by excluding all documentation and man pages, and the localizations for the languages that are not supported in the boot menu. This ISO is small enough that you can burn it to a ’80 minutes’ CDROM (700 MB). Ideal for hardware compatibility tests.

The MATE variant (a Slackware OS with KDE 4 replaced by Mate) contains packages from the repository at which at this moment gives us Mate 1.18.

The PLASMA5 variant (Slackware with KDE 4 replaced by Plasma 5) is a showcase for the latest Plasma 5 release “KDE-5_17.09” as found in my ktown repository. Additionally you will find several packages from my regular repository: chromium (with flash and widevine plugins), vlc, ffmpeg, libreoffice, palemoon, calibre, qbittorrent, openjdk and more. This ISO also contains the LXQT and Lumina Desktop Environments. Both are light-weight DE’s based on Qt5 so they look nice & shiny.

The liveslak scripts support three more variants out of the box: CINNAMON (a Gnome3 fork), DLACKWARE (slackware with systemd) and STUDIOWARE (a toolbox for musicians). There’s no ISO image for the Cinnamon and Dlackware variants this time. The Studioware Live ISO can be downloaded from .

What happened between liveslak 1.1.8 and 1.1.9

For your information, a few ‘micro’releases were issued inbetween 1.1.8 and 1.1.9, to accompany the upload of ISO images for Plasma5. These micro-releases did not really add functionality.

  • Support booting from a SD card.
  • Allow syntax ‘livemedia=scandev:/path/to/live.iso’.
    With the ‘scandev’ keyword, liveslak will search for the ISO on all local partitions.
  • Added two new option parameters to the ‘’ script: “-l” to list and “-d” to scan for the insertion of removable devices on the local computer.
  • A new script has been added: ‘’.
    This script is primarily meant to be run from within your Slackware Live environment, but with the exception of the “-p” option  – see below – it works just as well on your harddisk installation of Linux and with the USB Live stick inserted into the computer. Upslak can tweak your Slackware Live USB stick in several ways:

    • Update the boot kernel & the kernel modules inside the initrd image using the “-k” and “-m” options.
      You can provide Slackware packages as input to these option parameters, or else a single kernel file and a module-tree in /lib/modules/ are also accepted.
      Note that this will leave alone the kernel and the modules inside the Slackware Live filesystem. You can update the kernel-generic and kernel-modules packages in the Slackware Live OS using the regular Slackware package tools if you wish… but the USB stick will not use those anyway.
      Note: this kernel/modules replacement can be reverted if it turns out your new kernel is not working: using the “-r” option. Your previous kernel & modules are backed up by ‘’.
    • Replace the live init script using the “-i” option.
      There are two reasons you would want this: (1) you re-wrote the init script and want to start using that, and (2) you saw that there is a newer version of the “liveinit.tpl” template and want to use that as your new Slackware Live init script.
    • Create an ‘addon’ squashfs module out of the persistent data store using the “-p” option.
      Your persistent data grows over time, and a lot of that may be caused by packages that you install on top of Slackware Live. Using this option you can create a new squashfs module which will be placed in the /liveslak/addons/ directory so that it will be loaded on every boot of the Live OS. The content of the persistent store will be moved into that squashfs module and then the persistent store will be re-initialized (i.e. wiped clean).
      You can repeat this ‘persistence-to-module’ activity as many times as you like.
    • Change the USB wait time on boot, quite similar to the “-w” option of ‘’.
    • Add network modules to the initrd using the “-n” option.
      This should normally not be needed, all ISO images of the Slackware Live Edition have network support included out of the box. But in case of a custom Live USB where network support was initially omitted, this could come in handy if you want to PXE-boot the Live OS.
  • And other small improvements/bugfixes to the scripts.

Download the ISO images

The available ISO variants for Slackware Live Edition are: SLACKWARE (64bit & 32bit), XFCE (64bit & 32bit), PLASMA5, MATE. These ISO images (with MD5 checksum and GPG signature) have been uploaded to the master server (bear) and should be available on the mirror servers within the next 24 hours.

Read more about liveslak

This blog has quite some posts about the Slackware Live Edition. Check them out: – they contain lots of insight and helpful tips.
And this was the original post (which has been edited later on so it could become a proper landing page for curious visitors):

Download liveslak sources

The liveslak project can be found in my git repository: . That’s all you need to create a Slackware Live ISO from scratch. Documentation for end users and for Live OS developers is available in the Slack Docs Wiki.

Have fun! Eric