Hi Riccardo,
On 21/09/15 17:51, Riccardo Murri wrote:
Hello,
I'm trying to write my first `.eb` file, to compile a program that only
has a simple build-time dependency on the Boost library headers.
In the docs[1], I see that build-time dependencies are specified by a
tuple like this one:
('CMake', '2.8.12', '', ('GCC', '4.8.2'))
Now, the first and second slots are for SW name and version.
What should go in the 3rd slot (empty string here)?
The 4th slot is for specifying a toolchain, I guess. But "Boost"
easyconfig files seem to have more than the toolchain in them, e.g.,
`Boost-1.58.0-foss-2015b-Python-2.7.10.eb`. Should I just ignore the
`-Python-2.7.10` part?
Thanks for any help!
Ciao,
R
[1]:
http://easybuild.readthedocs.org/en/latest/Writing_easyconfig_files.html#dependencies
This syntax is not specific to builddependencies, it can be used for
regular dependencies too.
The 3rd argument is the versionsuffix (which is empty here), as
mentioned in the documentation you're pointing to. ;-)
If you're building with foss/2015b, you can either:
* just like ('CMake', '<version>') as a build dependency, which means
there needs to be an easyconfig/module for this CMake version built with
foss/2015b
* specify that CMake can be built with only a subtoolchain; in the case
of foss/2015b, you should go with 'GNU' rather than 'GCC', to benefit
from the GCC+binutils combo that is GNU:
('CMake', '<version>', '', ('GNU', '4.9.3-2.25'))
It's important to pick a subtoolchain that is compatible with the
toolchain used by the parent, to avoid module conflicts/problems.
This is a bit cumbersome however, so we're looking into making the robot
dependency resolver aware of subtoolchains, see
https://github.com/hpcugent/easybuild-framework/pull/1306 .
Does that clarify things?
regards,
Kenneth