Dear Roc,

I think your problem is that you have a binutils/2.26 already available on your system, and 'eb' is assuming it was installed with EasyBuild...

All modules generated with EasyBuild define an environment variable like $EBROOT<NAME>, where <NAME> is the software name in capitals. EasyBuild relies on this later when the modules for dependencies are being loaded, the 'get_software_root' function picks up $EBROOT*.

I think you have three options:

* don't have modules not built with EasyBuild "in view" when installing software with EasyBuild, i.e. clean up $MODULEPATH first

* reinstalling the binutils/2.26 module with EasyBuild so it is happy, using "eb binutils-2.26.eb --force"; whether this is an option depends on whether or not that binutils module is in use already

* inform EasyBuild about this "external module" so it can pick it up and use it, see http://easybuild.readthedocs.io/en/latest/Using_external_modules.html


regards,

Kenneth

On 29/09/2017 20:55, [email protected] wrote:
Hi Jack,

I didn't set the robot path before, but `eb` did seem to have built at least some dependencies successfully. Setting the robot path still gave the same error
though. Below is the output of the dry run.

Thank you!

Roc

~~~
$ export EASYBUILD_ROBOT=.
$ eb binutils-2.26-GCCcore-5.4.0.eb -r -D == temporary log file in case of crash /tmp/eb-ETUuSS/easybuild-WynaPz.log
Dry run: printing build status of easyconfigs and dependencies
CFGS=/home/user/tools/easybuild/software/EasyBuild/3.4.0/lib/python2.7/site-packages/easybuild_easyconfigs-3.4.0-py2.7.egg/easybuild/easyconfigs
 * [x] $CFGS/m/M4/M4-1.4.17.eb (module: M4/1.4.17)
 * [ ] $CFGS/b/Bison/Bison-3.0.4.eb (module: Bison/3.0.4)
 * [ ] $CFGS/f/flex/flex-2.6.0.eb (module: flex/2.6.0)
 * [x] $CFGS/z/zlib/zlib-1.2.8.eb (module: zlib/1.2.8)
 * [x] $CFGS/b/binutils/binutils-2.26.eb (module: binutils/2.26)
 * [x] $CFGS/g/GCCcore/GCCcore-5.4.0.eb (module: GCCcore/5.4.0)
 * [ ] $CFGS/m/M4/M4-1.4.17-GCCcore-5.4.0.eb (module: M4/1.4.17-GCCcore-5.4.0)  * [ ] $CFGS/z/zlib/zlib-1.2.8-GCCcore-5.4.0.eb (module: zlib/1.2.8-GCCcore-5.4.0)  * [ ] $CFGS/b/Bison/Bison-3.0.4-GCCcore-5.4.0.eb (module: Bison/3.0.4-GCCcore-5.4.0)  * [ ] $CFGS/f/flex/flex-2.6.0-GCCcore-5.4.0.eb (module: flex/2.6.0-GCCcore-5.4.0)  * [ ] $CFGS/b/binutils/binutils-2.26-GCCcore-5.4.0.eb (module: binutils/2.26-GCCcore-5.4.0)
~~~


On 9/29/2017 12:11 PM, Jack Perdue wrote:
Howdy Roc,

Do you have a robot path set?  e.g.

export EASYBUILD_ROBOT=.  # dot/period == current directory.... EB will search its path as well

As long as you set ROBOT to anything it should find the default
dependencies to build automatically (AFAIK).

The '-D' option to 'eb' is also very helpful.

Jack Perdue
Lead Systems Administrator
High Performance Research Computing
TAMU Division of Research
[email protected]    http://hprc.tamu.edu
HPRC Helpdesk: [email protected]

On 09/29/2017 11:48 AM, [email protected] wrote:
Thanks for the quick reply, Umit!

I didn't see "ready modules" or similar in the binutils eb file. There is a toolchain `GCCcore-5.4`, which was built prior to binutils and appears to have
succeeded.

More generally, how do I find out which packages I need to compile separately beforehand? I thought that dependencies would be built automatically? The command that triggered the binutils error was `eb CP2K-4.1-intel-2016b.eb -r` on
a freshly installed EasyBuild.

Thanks,

Roc

On 9/29/2017 11:30 AM, Sami, Umit D. wrote:
Open up binutils .eb file and look for dependencies and make sure you have compiled “ready modules” for such dependencies (i.e. GCCcore-5.4)

-----------------------------------
Umit D. Sami
HPC Apps & Systems (ERIS)
w: http://www.partners.org


On 9/29/17, 12:27 PM, "[email protected] on behalf of [email protected]" <[email protected] on behalf of [email protected]> wrote:

     Hello,
          I was trying to build a package but encountered an error while building
     `binutils-2.26-GCCcore-5.4.0.eb`:
          ~~~
     == FAILED: Installation ended unsuccessfully (build directory: /home/user/tools/easybuild/build/M4/1.4.17/GCCcore-5.4.0): build failed (first 300 chars): get_software_root software root for binutils was not found in environment      == Results of the build can be found in the log file(s) /tmp/eb-oIb4DL/easybuild-M4-1.4.17-20170929.103852.tDgnB.log      ERROR: Build of /home/user/tools/easybuild/software/EasyBuild/3.4.0/lib/python2.7/site-packages/easybuild_easyconfigs-3.4.0-py2.7.egg/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.4.0.eb failed (err: 'build failed (first 300 chars): get_software_root software root for binutils was not found in environment')
     ~~~
          The relevant lines in the log file are:
          ~~~
     == 2017-09-29 10:38:58,701 compiler.py:321 INFO _set_optimal_architecture: using march=native as optarch for x86_64.      == 2017-09-29 10:38:58,968 build_log.py:157 ERROR EasyBuild crashed with an error (at easybuild/software/EasyBuild/3.4.0/lib/python2.7/site-packages/vsc_base-2.5.8-py2.7.egg/vsc/utils/exceptions.py:124 in __init__): get_software_root software root for binutils was not found in environment (at easybuild/software/EasyBuild/3.4.0/lib/python2.7/site-packages/easybuild_framework-3.4.0-py2.7.egg/easybuild/tools/toolchain/toolchain.py:278 in _get_software_root)      == 2017-09-29 10:38:58,968 easyblock.py:2650 WARNING build failed (first 300 chars): get_software_root software root for binutils was not found in environment      == 2017-09-29 10:38:58,968 easyblock.py:287 INFO Closing log for application name M4 version 1.4.17
     ~~~
          Could someone please provide some ideas what might have gone wrong? Thanks very
     much!
          Regards,
          Roc



The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Partners Compliance HelpLine at http://www.partners.org/complianceline . If the e-mail was sent to you in error but does not contain patient information, please contact the sender and properly
dispose of the e-mail.



Reply via email to