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


Its indeed getting basically impossible to build purely stand-alone code.

However, there is a difference from having a couple of dependencies to gcclib and some X11-thingies, and having 3625^12 dependencies like Coot does (well ... i think its 'only 34 or so in reality ...).

I was a Coot fun from day one and I still think that Paul and Kevin did a stellar job providing such a great piece of software.

However, I would suggest its time to take a step back from introducing more and more features, hire a professional software engineer (I am sure CCP4 or some industrial users can scrape some money for it and am also sure that Paul and Kevin have better things to do than that ) and come up with a version with minimal dependencies. It will have the added value of long term maintainability - look what happened to XtalView when the guy making the X11 toolkit that Duncan was using stopped maintaining it .... (not sure about the details,but there was a story there ...).

Tassos


On Jan 16, 2007, at 12:12, Kevin Cowtan wrote:

***  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