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


On Tue, Jan 16, 2007 at 12:12:58PM +0000, Phil Evans wrote:
> 
> How do commercial software houses manage? Do they package all the  
> dependencies with their applications (perhaps this is why Adobe CS2  
> is >5GB)?
> 

Applications are either statically linked or a system is put in place
that can manage (and resolve) dynamic dependencies.  See the RPM/yum
system for Redhat/Fedora (and any one of the other countless systems
in place for the various linux distros), for an example of the
latter.

Static linking isn't without its problems, however: if an executable
links against a flawed library, then the whole application needs to be
upgraded, not just the library (this has happened many times in the
past, for example a major security flaw in the PNG libraries that
required patches applied to stuff like OS X, MS Office, Firefox and
others).  Here are some others:

http://people.redhat.com/drepper/no_static_linking.html

> The amount of work involved is one reason why CCP4 resisted for many  
> years the demand for distributing executables, and I do know that  
> Paul & Kevin have spent (wasted?) a lot of time on this.
> 

I would be willing to gander that most issues related to dynamic
linking are due to using a dynamically linked binary/library on a
different system/environment, where all bets regarding the dynamic
libraries are off.  I'm a big fan of dynamic linking, but its not
sensical to distribute a dynamically linked program without context to
the libraries used to generate said program.

What I'd propose is solid support for good build systems (e.g. toys
like autoconf/automake/libtool and others), so most of the
dependencies are either made available or are resolved prior to
compilation, and then one can build the library/binary for any unix
flavor (with whatever libraries, as long as they meet the requirements
for the build to succeed and work properly).  Its easy to go from
there to the distribution systems available to that unix flavor,
granted the license of the program is compatible.  I know Donnie has
done this for gentoo and some of the crystallography programs, and I
would gladly do the same for fedora if the CCLRC license were OSI
and/or FSF approved (in fact, I already have several crystallography
packages in Fedora format at
http://www.stanford.edu/~fenn/linux/packages).

-Tim

-- 
---------------------------------------------------------

        Tim Fenn
        [EMAIL PROTECTED]
        Stanford University, School of Medicine
        James H. Clark Center
        318 Campus Drive, Room E300
        Stanford, CA  94305-5432
        Phone:  (650) 736-1714
        FAX:  (650) 736-1961

---------------------------------------------------------

Reply via email to