[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Static linking considered harmful



On Fri, Nov 24, 2006 at 07:28:48PM +0100, Axel Thimm wrote:
> No, not at all. All the scientific community is affected, it's only
> that there are just too few of them lurking around here. The typical
> situation in natural sciences is that there are more Linux versions
> around than there are employees, and sometimes statically linking is
> the only way to distribute your code to the number cruncers.
> 
> FWIW there are now two of us here :)

Make that three. We just released software to support two papers that
were accepted for publication. We made available binaries for Windows,
a source tree for Linux with a reduced set of dependencies and a source
tree for Windows and OSX with all the dependencies. We avoided Linux
binaries this time around, hoping to have something sane for next
release.

In defence of dynamic linking, I have to mention something that goes
against common wisdom. One of the tools we use is statically linked
against its dependencies. When a couple of years ago we updated our
cluster to a more recent Fedora, we suddenly noticed problems. I think
our local LDAP servers were getting much more traffic, because the
location of the nscd socket had been moved and the statically linked
glibc was looking for it at the old location. Once I had tracked down
the problem, it wasn't anything that cfengine couldn't take care of.

Yes, we do use LDAP and, starting recently, even Kerberos within an
Active Directory domain. By necessity we were early nscd adopters (been
there, done that, endured all the annoying early bugs, but now it works
well for us). I know that there are many examples of clusters with no
user accounts, where everything is run by the root user, but that's
not always the case. We even leave SELinux enabled, because its overhead
on our FP-intensive jobs is lost in the statistical noise and is lower
than the difference between code generated by different compilers.

-- 
Rudi


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]