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

Reply via email to