Joined: July 2004
||Posted: May 30 2005,04:55
I don't know if this has occurred to you, but if you are unsuccessful at installing a program in DSL then you're not going to have much luck building an extension of it....the first step in making an extension is to get the application running in DSL. The extension part is mainly just a way to make an already running application portable so that you don't need to go through the process all over again.
Wheter you install from a binary package, or from source, or just by copying files from one distro to another, I'd say the most common thing that can prevent an application from running in DSL are missing dependencies. These are typically libraries that the program links to, and the program expects to find them in the target system.
Even if all dependencies are met, there are other things that might cause trouble. I don't have the knowledge to explain these, though....i just see it happen occasionally where an application just refuses to run and whatever error messages there might be give no clue to the cause.
In this case i generally give up on that particular application after a few attempts and look for an alternative.
"ldd program_name" will usually give you a list of libs needed to start a program, and tell you which ones can't be found.
Installing an application from source can provide you with a way to create an application installed into a single directory for easier packaging and transport
Depending on how the program is packaged, you might need to set up your environment in a way that will let the program find its dependencies. You can do this by creating a 'wrapper', which is simply a shell script that sets one or more variables and then launches the program. Two common variables used in these wrappers are
PATH: colon-separated list of directories searched for executables
LD_LIBRARY_PATH: list of directories searched for libraries
Most GUI applications in DSL use an interface built on GTK1, FLTK, or just the basic X libraries. If you are attempting to install an application made for KDE(Qt) or GTK2 for example, you can expect to also include a PILE of dependencies.
Linux is full of options...if you don't succeed right away there are alternatives. You could spend some time tracking down the problem, come here for help if needed, and eventually you will get your program working. If you feel the time and effort are more than the project is worth, there are usually similar programs available which may be more compatable with DSL.