[Scribus] latest libraries

Craig Ringer craig
Fri Feb 11 06:13:52 CET 2005


On Thu, 2005-02-10 at 11:50 -0800, bart at solozone.com wrote:
> The option
> ./configure --with-static-binary
> ./configure --with-dynamic-binary
> 
> would do it.

It doesn't appear to be that easy. I was just looking into it briefly
yesterday. For one thing, you need to build a static Qt to link against,
and any other libraries you need to link in statically must also be
built as static libraries. If these libraries have associated data
files, you need to ensure they can find them and package them with the
static binary.

Rather than a fully static binary, it's probably wiser to distribute a
binary with the main dependencies linked in statically. There's no need
to duplicate the functions from libc, libICE, xlib, and all the other
basics, and in fact it's probably safer not.

Then you need to get the darn thing to run. My build segfaulted on
launch, and nowhere in the Scribus code either.

I think it'd be good to have a static build for those who want a
windows-style easy-to-install-but-bloated app. However, it doesn't look
like it's just a rebuild, and I have other things to work on, so I'm
going to bail on that. Any enthusiastic packager types might find this
interesting ;-)

I imagine that Scribus's use of dlopen might also complicate things.

> These days of 200 GB hard disks, there is NO static binary that is TOO BIG (or is there?)

Absolutely. Remember that a static binary also uses a lot more memory,
since it contains its own private copies of all the functions it uses
from the libraries it statically links to. When that library is Qt or
glibc, that's a lot of functions. It won't matter on a "big" machine
other than making the app start up slower, but on systems with less
memory that's going to hurt.

--
Craig Ringer





More information about the scribus mailing list