Frequently Asked Questions

Table of Contents

  1. Are you affiliated with and/or endorsed by Slackware?

  2. Do you have a help forum, mailing list, or an IRC channel?

  3. What are all of those .asc files in the repository?

  4. Where is the project's GPG key?

  5. How do I use a SlackBuild script?

  6. How do I submit SlackBuild scripts to the project?

  7. How do I learn to write a SlackBuild script?

  8. Do you have a sample or template SlackBuild script that I can use as a guide?

  9. I've found a problem with one of the scripts - now what?

  10. The download link for the source tarball is not working - now what?

  11. Do I have to run the script as root?

  12. I'm trying to test a script as a normal user, but I get errors indicating that I do not have permission to write in /tmp/SBo - what's wrong?"

  13. Do you keep a list of non-standard user (uid) and group (gid) numbers that we should use in our scripts?

  14. There's a newer version of some app in the repository - who do I tell?

  15. For what release of Slackware are these scripts designed? Will they work on newer versions?

  16. Will these scripts work on older versions of Slackware?

  17. Why don't you provide scripts that work with the Slack/390 or ARM ports of Slackware?

  18. I have problems compiling with my unofficial and unsupported multilib setup.

  19. Do you provide precompiled packages from your SlackBuild scripts?

  20. So what if I want to use your SlackBuild scripts to provide a public repository of precompiled packages?

  21. Why don't you provide a way to resolve dependency information automatically in your scripts?

  22. I'm trying to build ffmpeg (or maybe something else), and the script keeps erroring out due to a missing /usr/man directory (or maybe missing tetex binaries that are installed). What gives?

  23. I'm trying to build a certain package on my custom installation and it failed. Can it be considered a bug?

  24. What's the best way to link to builds on your site from other pages, e.g. upstream project homepages recommending installation methods for our users?

  25. How can I donate to SlackBuilds.org?

  26. I have problems building some scripts from the repository. Are there any solutions?

  27. There are a lot of different JDKs in the repository. Which one should I use in my script?

  28. I always get different source name when using GitHub source. Do you have a guide to get a consistent tarball name from GitHub?

  29. I have a Python-based script that i want to submit. What is the naming standard for SBo?

  30. How do i validate my scripts before submitting to SBo project?

  31. I have experience with git. How do i contribute to SBo project using git?

Questions and Answers

  1. Are you affiliated with and/or endorsed by Slackware?
    • No. We are not affiliated with or officially endorsed by either Patrick Volkerding or Slackware Linux, Inc. This project is maintained by volunteers who wish to contribute something useful to the Slackware user community. Furthermore, for clarity's sake, the concept of a SlackBuild script came from Slackware itself, not from us.
    • Perhaps this should be noted, however.

  2. Do you have a help forum or an IRC channel?
    • We do not have (nor do we intend to create) a user help forum. However, we do have a Mailing List with archives and an IRC channel on the Libera network at https://libera.chat/ - #slackbuilds - feel free to join and/or stop by!

  3. What are all of those .asc files in the repository?
    • Those files are GPG signatures. They can be used to verify that the SlackBuild script tarball is exactly the one that we placed on the site. Assuming you have both the script tarball and the .asc file in the same directory, this process is as simple as:
      gpg --verify app.tar.gz.asc

  4. Where is the project's GPG key?
  5. How do I use a SlackBuild script?
  6. How do I submit SlackBuild scripts for inclusion in the project?
  7. How do I learn to write a SlackBuild script?
  8. Do you have a sample or template SlackBuild script that I can use as a guide?
    • Yes, we have several templates and other support files available for download.

  9. I've found a problem with one of the scripts - now what?
  10. The download link for one of the source tarballs is not working - now what?
    • There are at least two possible causes. First, some upstream providers seem to think that it's a good idea to move link locations around when they make new releases, so the result is that download links to older releases break. If/when this happens, look around on their site and you should usually be able to find the new link. Also, check the README file as it may have some clue as to the source code's new location.
    • Another potential cause is that sourceforge seems to have a broken mirror - this has been the case for several months now (time of this writing is 20070606). An easy workaround is to add a timeout to your wget command for downloading the source - see wget(1) for more information; a timeout of 10 seconds should be sufficient.
    • It's recommended to use wget instead of browser since browser may have different settings for downloading compressed archive.

  11. Do I have to run the script as root?
    • Well, yes and no. The package must be built as root in order for the ownership and permissions to be set correctly (any usage of the chown command inside the script will fail otherwise), but you can certainly test a script by running it as a normal user. You might consider temporarily commenting any chown lines in the script if you're trying to test it as a normal user.
    • Don't bother whining about "security issues" or such from building as root. If you don't trust us to check the scripts for malicious activity, then please move along.

  12. I'm trying to test a script as a normal user, but I get errors indicating that I do not have permission to write in /tmp/SBo - what's wrong?"
    • If you have previously run any of our scripts as root (which is required to build a package correctly), the /tmp/SBo ($TMP) directory was created by root during that run, and a normal user account does not have write permissions to that directory. Either give the user write permissions or rm -rf the directory as root before running the script as a normal user.

  13. Do you keep a list of non-standard user (uid) and group (gid) numbers that we should use in our scripts?
    • We keep a list of recommended UID/GIDs for use with SlackBuilds.org scripts. These do not conflict with default system accounts for Slackware nor with the initial (and subsequent) UIDs recommended by adduser. You can find this list at the url https://slackbuilds.org/uid_gid.txt

  14. There's a newer version of some app in the repository - who do I tell?
    • Email the individual who submitted the script and ask them to submit an updated version - you can obtain their contact information in the application's .info file. If you do not get a response and/or if the script is not updated within a reasonable amount of time, post a message to the SlackBuilds.org Users Mailing List. Please do not depend on the IRC channel for this, because many of our submitters do not stay online there, and even if they do, there is no guarantee that they will see your message.

  15. For what version of Slackware are these scripts designed? Will they work on newer versions?
    • All of our scripts should work with the most recently released version of Slackware; if this is not the case, you should file a Bug Report. Except as noted in the next FAQ entry, the scripts should also work on older versions of Slackware. Slackware -current is not supported, but as a general rule, the scripts should work on it as well.

  16. Will these scripts work on older versions of Slackware?
    • Maybe. Modifying them to do so is usually simple - see our page discussing compatibility with older versions of Slackware. Keep in mind that some things will depend on other things that were not present in older versions of Slackware, so in some cases, it just might be easier to upgrade Slackware :-)

  17. Why don't you provide scripts that work with the Slack/390 or ARM ports of Slackware?
    • Due to incompatibilities with S/390 and ARM derivatives of Slackware, those architectures are not supported, nor will we respond to bug reports on those platforms.
    • That being said, many of our scripts will work (or are even tested on) those architectures, so they might work just fine.

  18. I have problems compiling with my unofficial and unsupported multilib setup.
    • If you are using multilib packages from somewhere and also have some 32bit packages installed, then you might run into problems with the build process trying to link 32bit libraries instead of 64bit libraries. If this occurs, it can probably be solved by placing the following line:
        LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \
      after the lines for CFLAGS and CXXFLAGS passed to the configure script. In other words, make it look something like this:
        CFLAGS="$SLKCFLAGS" \
        CXXFLAGS="$SLKCFLAGS" \
        LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \
        ./configure \

      Beyond that, you are on your own. This is an unsupported setup.

  19. Do you provide precompiled packages from your SlackBuild scripts?
    • No. We are not now, nor will we ever be, a source of precompiled packages.

  20. So what if I want to use your SlackBuild scripts to provide a public repository of precompiled packages?
    • If you do make such a repository available to the public, we request that you change the "SBo" tag in your packages to something else.
      We do not want to be associated with 3rd-party package repositories. All we will vouch for are the SlackBuild scripts, which we have tested and approved (which is why we always make the GPG ".asc" file available that allows you to check that you are actually using our unmodified SlackBuild script).
      There is no way we can or will guarantee that a 3rd-party package containing the "SBo" tag was created using an unmodified SlackBuilds.org script.

  21. Why don't you provide a way to resolve dependency information automatically in your scripts?
    • The short explanation goes something like this: there are too many potential pitfalls associated with automatic dependency resolution in addition to obvious "political" issues surrounding it. Rather than create a potentially buggy implementation or risk the perception of "preferential treatment" toward some third-party package management utility, we chose to omit the inclusion of dependency information (with the exception of noting it in the .info and/or README files). If you want to know what non-Slackware dependencies are required by a package, see the .info file and/or README file associated with its SlackBuild script.

  22. I'm trying to build ffmpeg (or maybe something else), and the script keeps erroring out due to a missing /usr/man directory (or maybe missing tetex binaries that are installed). What gives?
    • You probably don't have the tetex binaries in PATH. See the relevant section of our HOWTO page.

  23. I'm trying to build a certain package on my custom installation and it failed. Can it be considered a bug?
    • All scripts are tested against a full installation of Slackware (all default install groups) with latest patch. Running a custom installation may cause some builds to fail.

  24. What's the best way to link to builds on your site from other pages, e.g. upstream project homepages recommending installation methods for our users?
    • Use "https://slackbuilds.org/apps/yourappname/" where "yourappname" is the name of your project used on our site. Be sure to include the trailing slash.

  25. How can I donate to SlackBuilds.org?
    • If you'd like to donate to the SlackBuilds.org project, use our PayPal link.

  26. I have problems building some scripts from the repository. Are there any solutions?
    • Read the READMEs. Some maintainer put notes about optional dependencies, available build options, warning about potential conflict with Slackware packages, steps to be taken before building the package and after installing the package, and many other things that relates to the script.
    • Some scripts (e.g. webkit2gtk, qt5, chromium) require a lot of memory and system resources. If you have only a small amount of RAM, consider adding additional swap space.
      You can use the following commands to create 10 GB of swap space using a swap file:
        fallocate -l 10G /temp-swap
        chmod 0600 /temp-swap
        mkswap /temp-swap
        swapon /temp-swap

      When you are done building, you can delete the swapfile:
        swapoff /temp-swap
        rm -rf /temp-swap

  27. There are a lot of different JDKs in the repository. Which one should I use in my script?
    • We have scripts for all LTS versions of Java from Azul - zulu-openjdk8, zulu-openjdk11, zulu-openjdk17 and zulu-openjdk21. Azul provide builds for both 32 and 64 bit (and they even have ARM/ARM64 builds). These are binaries, but freely downloadable and redistributable and make the best default for your script.
    • We also have scripts for two LTS versions from Oracle - jdk (JDK8) and jdk11. The Oracle binaries require registration and logging in to download.
    • You'll need to pick the correct version which is supported by the project you are building and running, but either the Azul or Oracle builds should be interchangeable. You can choose to use the Oracle builds if you want, ignoring the REQUIRES.
    • If the software your script will package must absolutely run with a particular vendor's JVM, note it in the README.
    • There are more vendors shipping OpenJDK builds, but we do not yet have scripts for all of them on SlackBuilds.org. Adoptium (formerly AdoptOpenJDK) has multiple companies backing it, including Red Hat, and is part of the Eclipse Foundation, but they currently only offer x86_64 builds. We also have a source-only build for OpenJDK7, OpenJDK8, OpenJDK11, OpenJDK17, and OpenJDK21, if you want to build yourself completely from source.

  28. Please use this guide if you are using source from GitHub: https://slackbuilds.org/GITHUB_URLs.txt.

  29. We use python3 prefix for scripts exclusively built for python3 and python2 prefix for those using python2. This applies to script names and also command to python binary. If your script is working with both python2/3, please use python as prefix.

  30. We use sbo-maintainer-tools to help validate the scripts and binaries during approval.

  31. If you are the maintainer, you can submit Pull Request via Github or Merge Request via Gitlab. This method only applies for updates only. New submission will still need to be submitted via normal submission form in order to get populated into the database. Please take a look on this GUIDE on how to contribute via Github.

© 2006-2024 SlackBuilds.org Project. All rights reserved.
Slackware® is a registered trademark of Patrick Volkerding
Linux® is a registered trademark of Linus Torvalds