Building Slackermedia

You should have at this point a fully functional Slackware system. You can use this system as you would any computer for any other task, but the goal for this handbook is to build upon the base install to create a multimedia studio.

There are a number of small programmes, libraries, and applications that a typical multimedia system, regardless of what you intend to do on it, should have installed, simply because they are so ubiquitous that the major media apps you install probably require them anyway.

These dependencies and libraries are usually small pieces of software that you will not use directly, but that are important for the larger applications to be able to function properly. In some cases, these dependencies are also fully-featured applications in themselves, and are also used by other applications. In any case, they are good to have as a common base from which you can build upon; think of it as the missing “base install” components that you didn't get with stock Slackware.

Determining what your system will need in order to process all the different kinds of media that a multimedia artist typically encounters can be confusing and overwhelming. This burden is alleviated in this chapter.

Which Dependencies Should You Install?

Slackware is a nice all-purpose distribution, so many of the dependencies, libraries, and backend apps required for a Slackermedia system are already installed by default, and many others can be obtained easily and quickly via slackbuilds.org and other resources outlined in slackbuilds.

As such, Slackermedia offers a list of the common multimedia-related libraries that you should install so that time spent manually installing dependencies is minimised. This list of Slackermedia dependencies can be installed manually, or you can pipe it into sport or loaded into sbopkg for automated processing.

The Slackermedia dependency list is not literally all-inclusive. You may have to install more than those listed here, depending on what you intend to install for your multimedia work. But if you performed the default, full Slackware install and do a complete Slackermedia dependency install, then most everything you'll need will be ready for you when you need it.

On Building and Installing

TL;DR Be sure to build applications in order; if you try to build one before building a library it uses, then it will fail!

Mind the order in which you build libraries and dependencies; if you attempt to compile, for instance, Inkscape before you compile libsigc++ then the build will certainly fail since Inkscape depends on libsig++ to compile from source code. The sequence of building is important.

You can think of building and installing software like a puzzle. Building the dependencies are like gathering up all the puzzle pieces, and installing them is like putting the puzzle together. Without all the pieces, you would not want to try to assemble the puzzle, but as long as all of them are present, the puzzle works as expected.

So the order of installing is unimportant. For example, a system admin managing several systems can build the software in the requisite order, place the packages on a hard drive, and take those packages round to each computer and install them in bulk. As long as all the pieces are present, everything will work as expected.

Structure of Slackermedia Queue Files

TL;DR Download the Slackermedia queue file and install everything listed in it with sport.

To use the Slackermedia lists of dependencies and libraries, you may download queue files from http://slackermedia.info/downloads.

To use the queue file with sport:

$su - 
#sport install $( < /path/to/slackermedia-huge.sqf )

To use it with sbopkg:

$su -
#sbopkg -i /path/to/slackermedia-huge.sqf

Slackermedia originally provided four queue files, dividing installable libraries into groups like av for audio and video producers, vg for video and graphic artists, and so on, plus a huge queue file containing everything from all of those groups. This proved to be confusing and arbitrary, and most people just used the -huge file anyway.

As of 2015, Slackermedia provides four queue files: the huge file, plus three discipline-specific files in the interest of letting the user opt for a potentially faster install by excluding some large programmes that are probably only useful within a different discipline.

It is strongly recommended that you install the slackermedia-huge.sqf file. Chances are that as an artist, you do not only do one artistic thing, so the -huge support will almost certainly be useful either as an artist or simply just as a modern computer user (the added codecs, for example, will impact you every time you attempt to play non-open media types).

The directory on the Slackermedia server also contains the master file from which the other queue files are generated, as well as the shell script that generates them. You are free to download these resources, but they will not work as a queue file, since they are not queue files.

Download the queue files from http://slackermedia.info/downloads/queues and process with sport or the installer of your choice.

Combining Queues

If you are unable or unwilling to to install the -huge set for whatever reason, but you do wish to combine two queue files, you should prune out duplicate entries. For instance, to combine the audio set with the video set:

# sport -i $( < sort slackermedia-a.sqf \
slackermedia-v.sqf | uniq )

Of course, by the time you have combined two sets, you are probably only excluding one or two packages from being installed, so it would be easier to do the recommended -huge install.

Troubleshooting

Sometimes an automated install fails due to the loss of network connectivity, or a source code package having been moved from its known location on the internet, or an md5 checksum failure, or some other error.

Should this happen, take note of what package caused the failure. Attempt a manual install (using the Slackbuild script, but with a manual download of the source code from the location listed in the .info file in the SlackBuild tree. If that install works (it usually does), then you can resume the automated install by skipping all installed packages:

# for i in $( < slackermedia-huge.sqf ); \ 
do if [ ! -e /var/log/packages/"$i"* ]; \
then sport install $i "hello" ; \
fi ; \
done

Or open the queue file in a text editor and manually delete the entries leading up to and including the failed package.

Do not proceed with more installs without resolving any issue that prevents an install. At best, some of the following installs will fail because they relied upon the package that you skipped. At worst, everything will appear to have succeeded, and then you will experience failures later because the package that got skipped is being requested by some other application during runtime and is not being found.

If something fails to install and you do not know why, post a question about it in the Slackware forums at http://linuxquestions.org (you may send a private message to user notklaatu if you wish) detailing what happened during your manual attempt to install the SlackBuild. It is vital that you make an attempt to install the SlackBuild manually before asking for help! Slackbuilds.org itself does not support frontends like sport or sbopkg, nor does Slackware; and they shouldn't, because the SlackBuild system is well-designed and mostly flawless. It's usually the assistance of an automated frontend that tempts a user to forego reading how to install something correctly and thereby introduces a problem (or a change in the source code location). An attempt at a manual install will most likely reveal the exact stage at which the install process fails, and that's vital information.

Queue File Manifest

huge set

huge installs all Slackermedia deps and libs, and a few important applications for good measure. Highly recommended.

Without going into specifics due to additions and subtractions and other changes that the list is inevitably subject to, this set contains:

  • GUI frontends like fltk and wxGTK, which are the GUI basis for many other applications.
  • Over 20 freely-available codecs and graphic libraries so that no matter what kind of file a client delivers to you, your system will most likely be able to play (decode) it.

Many of these codecs support an “everything and the kitchen sink” build of ffmpeg, which is a video and audio encoding and decoding engine, and tends to be important to serious multimedia work.

  • Essential multimedia tools like the system-wide sound server JACK, some of the most versatile soft synths available, the video effect library frei0r, audio effects plugins, several GIMP plugins, Inkscape (the entire application, which is not included with Slackware), the MediaInfo analytic tool so that you can get specs on video and audio files, and much more.
  • System-level tools and libraries that you may or may not use directly but which will be needed by one or more of the applications that you will, as a multimedia artist, certainly install at some point in the future. This includes XML parsers, libdvdcss for commercial DVD playback, SDL, GNOME components that many GTK multimedia applications need, EXIF tools, ID3 libraries, Cython, and more.

Slackermedia recommends that you install this one, no matter what your artistic discipline.

a Set

Set a installs the Slackermedia dependencies and libraries that primarily relate to audio work, but also those that support ffmpeg, which is primarily a video tool but is also useful for audio conversion.

If you install the huge set, then you get everything in this set plus a lot more. It is recommended that you install the huge set.

Without going into specifics due to additions and subtractions and other changes that the list is inevitably subject to, this set contains:

  • GUI frontends like fltk and wxGTK, which are the GUI basis for many other applications.
  • Over 20 freely-available codecs and graphic libraries so that no matter what kind of file a client delivers to you, your system will most likely be able to play (decode) it.
  • Essential multimedia tools like the system-wide patchbay JACK, some of the most versatile soft synths available, including Zyn, Alsa Modular, AmSynth, and Fluidsynth, audio effects plugin sets such as Steve Harris, CALF, TAP, and Invada, Rakarrack, the MediaInfo analytic tool so that you can get specs on video and audio files, and much more.
  • System-level tools and libraries that you may or may not use directly but which will be needed by one or more of the applications that you will, as a multimedia artist, certainly install at some point in the future. This includes XML parsers, libdvdcss for commercial DVD playback, SDL, GNOME components that many GTK multimedia applications need, EXIF tools, ID3 libraries, Cython, and more.

Do not install this if you have already installed the huge set, and you should not combine this with another set (if you want to do that, just install huge.

v Set

Set v installs the Slackermedia dependencies and libraries that primarily relate to motion and stop-motion (animated) visual work, including those that support ffmpeg (the most ubiquitous video engine on Linux) but not ffmpeg itself. Since there are so many ways to build ffmpeg, Slackermedia offers a custom-built ffmpeg package that includes nearly all available codecs listed as the ffmpeg config options, which you will install later.

If you install the huge set, then you get everything in this set plus a lot more. It is recommended that you install the huge set.

Without going into specifics due to additions and subtractions and other changes that the list is inevitably subject to, this set contains:

  • GUI frontends like fltk and wxGTK, which are the GUI basis for many other applications.
  • Over 20 freely-available codecs and graphic libraries so that no matter what kind of file a client delivers to you, your system will most likely be able to play (decode) it.
  • Essential multimedia tools like the system-wide sound mixer JACK, the frei0r video effect set some basic audio effects, Inkscape and a number of GIMP plugins (meant for titling and animation), the POVray renderer, the MediaInfo analytic tool so that you can get specs on video and audio files, and much more.
  • System-level tools and libraries that you may or may not use directly but which will be needed by one or more of the applications that you will, as a multimedia artist, certainly install at some point in the future. This includes XML parsers, libdvdcss for commercial DVD playback, SDL, GNOME components that many GTK multimedia applications need, EXIF tools, ID3 libraries, Cython, and more.

Do not install this if you have already installed the huge set, and you should not combine this with another set (if you want to do that, just install huge.

g Set

Set g installs the Slackermedia dependencies and libraries that primarily relate to graphic and non-motion visual work, including those that support ffmpeg (the most ubiquitous video engine on Linux) but not ffmpeg itself. Since there are so many ways to build ffmpeg, Slackermedia offers a custom-built ffmpeg package that includes nearly all available codecs listed as the ffmpeg config option, which you will install later.

If you install the huge set, then you get everything in this set plus a lot more. It is recommended that you install the huge set.

Without going into specifics due to additions and subtractions and other changes that the list is inevitably subject to, this set contains:

  • RAW image tools, including raw-thumbnailer, dcraw, and the luminanceHDR application. It does not install flagship applications like Darktable, Lightzone, or DigiKam, but these can be installed later. foobaz
  • Over 20 freely-available codecs and graphic libraries so that no matter what kind of file a client delivers to you, your system will most likely be able to play [decode] it.
  • SDL tools, used in video games and other works of art that may involve non-traditional use of graphical elements.
  • System-level tools and libraries that you may or may not use directly but which will be needed by one or more of the applications that you will, as a multimedia artist, certainly install at some point in the future. This includes XML parsers, libdvdcss for commercial DVD playback, the POVray renderer, some GNOME components that many GTK multimedia applications need, EXIF tools, ID3 libraries, Cython, and more.

Do not install this if you have already installed the Huge set, and you should not combine this with another set (if you want to do that, just install Huge.

Coffee Break

A very robust Slackermedia install will involve over 100 packages from slackbuilds.org . The huge queue file can be downloaded at http://slackermedia.info/downloads/queues/slackermedia-huge.sqf. This gives you a solid foundation for a wide variety of more discipline-specific applications. Feel free to customise and maintain your own base install list as you see fit; you may not need so many video codecs, or you may opt for a different id3 tag editor, and so on.

However, installing the huge set of dependencies and libraries prepares your system quite well for a more discipline-specific set of applications.

The full huge install will take some time, so you may find this to be a good time for a coffee break. Next, we will look at a number of important multimedia components that you can install to get your artwork done, different options you have while installing them, as well as how many of them work together.

R S Q