#1764: Error with compilation of HWLOC ------------------------------------+--------------------------------------- Reporter: maxim.barkov@… | Owner: eschnett Type: defect | Status: assigned Priority: blocker | Milestone: ET_2015_05 Component: EinsteinToolkit thorn | Version: development version Resolution: | Keywords: HWLOC ------------------------------------+---------------------------------------
Comment (by bmundim):
Replying to [comment:16 rhaas]:
I would rather not have things compile themselves on the workstation
config files unless absolutely required. Those are likely the first ones that new users use and they should be quick to build. MPI does not build quickly (or at least it does not feel as if it does).
I totally agree with you on this!
Ubuntu.cfg used to be specific to mpich2 only since it had to hard-code
the mpi library names. Since some days ago I changed it to use Stave's detect.pl which queries mpicc (same as debian.cfg and fedora.cfg already do). So now one can use the same ubuntu.cfg file for both MPI variants.
The question is: does it work with both MPI variants? It didn't for me with most recent ubuntu releases and mpich2. I haven't tested it recently though. Maybe the MPI package should be added to the header comment too.
I think we need hwloc-dev libnuma-dev and libltdl-dev to enable static
linking. libltdl-dev is missing from the current (Fri May 8 22:26:40 CEST 2015).
Ok, it is installed in my system but I missed to list it there. Sorry.
libboost1.50-dev should not be added I think since boost is very big and
not compiled in by the default ET thornlist.
Yes, but it is a popular library and I know of at least 4 institutions in the ET community which use codes that link to Boost. Maybe we could rephrase the header comment as follows:
"Some libraries are very popular in the ET community but are not distributed by the toolkit. You might want to install their packages in your system before building ET. One such a popular library is Boost, libboost1.50-dev."
The option "-fno-range-check" was added, this option only affects
compilation and allows constructs like "1d0 / 0d0" to produce infinity. Was that intended?
This option slipped from my private configuration file. One of our codes had a strange compilation abort which is fixed by adding this option. I will test it again without it to refresh my memory on this issue.
The comment is incorrect assuming that libltdl-dev is actually required
(and #1717 indicates it is).
Yes, please update the comment with this library. I forgot to include it.
Note that this only fixes part of the problem and we still will have
failures if a user does not install those libraries since building hwloc may detect libnuma.a (if libnuma-dev is installed) but eg detect.sh does not report this required library (and cannot do so since the library may not be installed and hwloc would compile fine without it).
We could for the time being state that those libraries are mandatory if you want to avoid building the external libraries.