Next: , Previous: Usage for the Experienced, Up: Top


This is a small section in which I try to address common questions.

  1. Q: GNU Source Installer does not install! What should I do?

    A: There are dedicated topics in this manual.

    See Installing the Installer.
    See Troubleshooting Installation.

  2. Q: I have found a bug in GNU Source Installer! What should I do?

    A: By all means, do report it. You will get the problem solved, and the software will become better if users report bugs. See Reporting Bugs.

  3. Q: sourceinstall coud not install Package [:xyz:]. What can I do?

    A: If the package does not provide a build system compatible with sourceinstall, you will get an error message, stating that the program could not compile the code. To get the package supported, you have at least two choices.

    If you are an experienced user, you should contact the original author or maintainer of that package, explaining that you are trying to install it using a new install tool (GNU Source Installer), but it does not work because it does not provide a build system compatible with the idiom:

              make install

    Then provide a quick solution for the author, so he will not need any effort to accept the change. If you are not sure, rely on the sourceinstall people to do this for you.

    If you are a little less experienced and do not know how to help the author of the package, just contact the sourceinstall mailing list at We will contact the package maintainer, and help him make that package work with sourceinstall.

  4. Q: Why doesn't sourceinstall use Checkinstall?

    A: Checkinstall is a nice program that tracks a source installation using Installwatch, which is Copyright 1998 by Pancrazio `Ezio' de Mauro, and is now part of the Checkinstall distribution. Installwatch is a low-level tool that intercepts calls to file functions in the dynamically linked glibc that alter the file system during 'make install' (or another installation command). Then, Checkinstall builds binary Slackware, RPM or Debian packages based on that information.

    Now I find that the DESTDIR and INSTALL_ROOT (its old, deprecated replacement) way used in sourceinstall is more clean and portable (although slower) than the low level installwatch approach, and is an incentive for developers to correctly support DESTDIR in their custom Makefiles or in their automake hooks. sourceinstall detects if the build system supports DESTDIR or the old INSTALL_ROOT variables, and uses them for the installation tracking.

    As for GNU/Linux distribution-specific binary package building features, GNU Source Installer is again an OS neutral program, so it is not its job to build them. However, a functionality to build simple, neutral binary packages in the form of a tarball archive is available. From that package, it should be straightforward to build your desired distribution-specific package, but again it is not the point of this program.

  5. Q: Does sourceinstall build [:your format:] binary packages ?

    A: (see question above) It has been recently reported that sourceinstall simple binary packages happen to be handled correctly by the Slackware GNU/Linux tools. That is simply because both use plain tarballs which contain the needed files with the original owners and permissions. Remember that building binary packages is not the point of this program (but use this as you see fit of course).

  6. Q: There's Gentoo and Portage already. Isn't sourceinstall pointless ?

    A: Surprisingly, I got many (well some) private mails stating that there's already the Gentoo GNU/Linux distribution and its Portage system, so sourceinstall was supposedly pointless. Again, this software is an installer and source package management tool, targeted at modern Unix systems (these include, but do not end with GNU/Linux). Of course, sourceinstall is not a GNU/Linux distribution and not a package repository.

  7. Q: Why are you using Tk? Why don't you use gtk|Qt|[:yourtoolkit:] ?

    A: I do not have any real preference of one toolkit over another. They can all get the job done. However I really wished to use the GNU ToolKit at the beginning (gtk), because it's the GNU ToolKit (talk about tautology). There is one problem: dependencies and dependencies' size. I wanted to provide something that you could install from a bare-bones Unix + X11 system requiring nothing else.

    With the current tcl/tk/expect implementation I can provide, in 7 MB, a fullpack alternative shell-archive release of sourceinstall, which includes and autobuilds all its dependencies if necessary. The same thing would not be possible with gtk, which is bigger and less straightforward to autobuild.

    If you want a [:yourtoolkit:] interface to the program badly, you can implement it on top of sourceinstall command line interface (but contact the author so you can get all the help and possibly tweaks to the young interface that you need).

  8. Q: Why are you using Tcl? Why don't you use [:yourlanghere:] ?

    A: Tcl seemed the natural choice having to deal with both Tk and Expect, and it offered simpler Unix portability. However this could change. I am not happy with some of the tcl decisions, and some bugs in the implementation do not help either. If the whole project language changes, it will change to C.

  9. Q: I do not care about cross Unix portability, dependencies, building the whole system from scratch or anything like this. Is there an alternative, specific for my already working GNU/Linux desktop system ?

    A: There are projects with somewhat similar goals that I have been made aware of:

    Kconfigure, QT based, for KDE:

    Easinstaller, Ruby and Fox based:

    GPaco, Gtk based, for GNU/Linux and Solaris:

    I know little about them save their name so you should investigate them yourself.

  10. Q: The manual is not comprensive enough! It does not say anything about [:X:]

    A: The project is still very young, as is the documentation. It will be a lot better; you can speed up things by reporting what exactly is missing, and possibly providing yourself if you have some time.

  11. Q: This program does not deal with dependencies at all!

    A: This manual will be integrated with a detailed explanation on how to deal with dependencies. With some patience, I think almost everyone can learn to live with them.

  12. Q: I have an older version of sourceinstall, how do I upgrade to the current version?

    A: Starting from sourceinstall-0.4, this has been made easier. Just download the regular new version (for example, sourceinstall-0.5.tar.gz), then run sourceinstall, and choose “Add”; select that new sourceinstall package (sourceinstall-0.5.tar.gz), and confirm with Ok. All your installed packages and preferences will not be harmed.

  13. Q: The right click popup menu does not work (anymore)!

    A: The Tk popup menus (and consequently sourceinstall prior to v-0.5) were not sticky. This means that in order to keep the menu visible, one had to keep the button always pressed. This has been fixed very recently in a development version of Tk.

    In order to offer a more usable popup menu, starting from 0.5 I use a workaround that involves showing the popup on right click button RELEASE. In short: starting with sourceinstall 0.5, click and release the right button on a list entry, and the popup will appear.

  14. Q: I want to contribute to the project in some way, where do I start?

    A: Start with the Bugs and Task list in the Savannah sourceinstall project page: . Even if you are not a programmer, the task list can contain very relevant work that does not involve programming or reading code at all.

    If you have an interesting idea to share, by all means do so. You can contact the mailing list, or if you prefer you can contact the author directly at As long as your mail is polite enough, you will not be judged by me in any way by the ideas you express, even if I do not agree with you.

  15. Q: I want to join the project! Please add me to the project members list.

    A: Great, but please do something for the project. If you make regular contributions, and understand the project goals, you will be added to the sourceinstall project.