[ET Trac] [Einstein Toolkit] #1717: hwloc: lnuma & lltdl *really* required?
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Tue Dec 9 10:40:38 CST 2014
#1717: hwloc: lnuma & lltdl *really* required?
------------------------------------+---------------------------------------
Reporter: zachetie@… | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Resolution: | Keywords:
------------------------------------+---------------------------------------
Comment (by eschnett):
As a general rule, we don't want to have work-arounds for particular
systems in Cactus since this is very fragile. Over time, these work-
arounds accumulate, and in the end no one remembers why somethings are
done in a particular and very complex way. Sometimes we find comments
about systems that no one even knows any more. For example, do you know
why the C++ compiler on OSF systems requires the option
"-noimplicit_include"? Does anybody even know what OSF is, without
resorting to Google? (Hint: It is a version of Unix.) Apparently this
option was introduced in 1999... I'm quite sure that the respective logic
can be deleted and no one will ever notice, but no one has time to deal
with these kinds of clean-ups because, sometimes, these work-arounds have
subtle side-effects that break things when they are removed.
As I mentioned before, it is very easy (a one-line addition) to update the
option list for your machine to avoid this problem. Also, since your
system seems broken, you'd have to explain why you cannot correct your
install, and why you think that modifying Cactus instead is a better idea.
However, you raise the questions whether Cactus should be linked
statically or dynamically by default. These days, we tend to like static
linking because (a) disk space usage is not really a concern, and (b) this
means that executables are more independent once created. If you have a
dynamically linked executable and then uninstall a certain library, it may
break. This is an issue on supercomputers where production runs may take
weeks or months, and where someone may have installed a library into
his/her home directory and others are then using it. Once an executable is
broken this way, it is very difficult (if impossible) to repair it. Static
linking avoids this issue.
As a bonus, static linking also uncovers errors (duplicate symbols) that
may go undetected with dynamic linking.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1717#comment:12>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list