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.