On 4/5/06, Panagiotis Sidiropoulos <[EMAIL PROTECTED]> wrote:
> I finally got my first Linux app to beta stage. Sending it to testers I
> realized that several dependencies issues raised. While running,
> application ask for libs or specific versions of libs.
This is normal on Linux, and is called "dependency hell". The solution
is to use Packages.
> - Is it smart to link all libs used into executable?
No, I think you should not do it. It's just not the *nix way to do
things, althought this is often done on Windows.
There will always be distro conflicts, if you put c libs inside your
app then it will have dependencies on glibc and will only work with a
specific glibc version and that only makes the problem worse as glibc
changes very often on a incompatible manner.
> - Is there any other way not disturbing user for lib updates?
> - Is there anything tricky I should know making my choice?
You should create native packages for your software.
On rpm-based distros, it should have a RPM package. On Debian, a deb
package, etc.
This will help the user solve the dependency using whatever tool is
available on his distro.
The package manager will automatically create a list of what packages
your software depends on based on the result of running ldd against
your app. Then you only need to include libraries that are not linked
to your exe in a way ldd sees.
Do a test: "ldd myexecutable" on the console.
--
Felipe Monteiro de Carvalho
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives