***  For details on how to be removed from this list visit the  ***
***          CCP4 home page http://www.ccp4.ac.uk         ***


You're new here aren't you. :)

To recap, you can't use static lib because coot links into major system
dependent components, like X and openGL. If it were possible to build
coot statically (which it isn't because the libraries it links to cannot
themselves be built statically for this very reason), then it would work
on one hardware configuration only.

It is potentially possible to make more of the dependencies static than are currently static. But this requires building all of the dependencies, some of which will require major changes to the build system to make it happen.

What you are asking for is probably more like years than months of work, and would take some serious software engineering expertise.

Phil Evans wrote:

On a different topics, is there really a reason for not using static libraries? Dynamic libraries are a constant pain, both to users and maintainers, because there are always different versions on different machines (and of course we don't have all our machines on the same OS version, like I imagine most people). Also the obscure error messages "can't find right version of libthingy-99.9.dylib" or whatever is deeply confusing to nearly all of us.

I love stand-alone binaries with no external dependencies

Phil


On 11 Jan 2007, at 00:39, Donnie Berkholz wrote:

William Scott wrote:

Or you could just build ccp4-onlylibs-dev, use the include/ ccp4.setup-x
file in THAT, and source it before building coot.  If you build
ccp4-onlylibs-dev with only static libs, then you can even get rid of the
ccp4-onlylibs-dev installation afterwards.

That is the way I have been doing it.


Thanks for the suggestion -- it does provide an escape route. Being
forced to use static libraries is really a hack, though. It also
violates our packaging policy because it makes security updates very
difficult. People are still finding static and bundled copies of
vulnerable zlib from a year ago and more. It also means everyone's going
to be building essentially the same libraries twice for no good  reason.






Reply via email to