Dear Kenneth,

Kenneth Hoste <[email protected]> writes:

> Dear Loris,
>
> On 17/01/2019 11:07, Loris Bennett wrote:
>> Hi,
>>
>> I set up EasyBuild in my own home directory and managed to build a bunch
>> of software.  I then copied the whole EasyBuild tree to a different
>> directory owned by a system user 'build
>>
>> Unfortunately the path to my home directory has been written to various
>> scripts and, I presume, may have been compiled into some binaries.
>
> Indeed, moving stuff after installation is a bad idea in general, there's no
> easy way of telling where the original installation path is embedded (scripts,
> binaries, etc.), let alone 'patch' those hardcoded locations.
>
>
>>  Thus I just want to rebuild the software.
>>
>> However doing say
>>
>>    eb GCCcore-7.3.0.eb --robot --rebuild
>>
>> fails with the following message to stdout:
>>
>>    make: *** [all] Error 2
>>     (at 
>> easybuild/software/EasyBuild/3.8.0/lib/python2.7/site-packages/easybuild_framework-3.8.0-py2.7.egg/easybuild/tools/run.py:501
>>  in parse_cmd_output)
>>    == 2019-01-17 10:22:21,683 easyblock.py:2864 WARNING build failed (first 
>> 300 chars): cmd " make -j 40 " exited with exit code 2 and output:
>>    make[1]: Entering directory 
>> `/trinity/shared/easybuild/build/GCCcore/7.3.0/dummy-/gcc-7.3.0/stage1_obj'
>>
>> and the following in the log file:
>>
>>    == 2019-01-17 10:22:21,683 easyblock.py:2864 WARNING build failed (first 
>> 300 chars): cmd " make -j 40 " exited with exit code 2 and output:
>>    make[1]: Entering directory 
>> `/trinity/shared/easybuild/build/GCCcore/7.3.0/dummy-/gcc-7.3.0/stage1_obj'
>>    mkdir -p -- ./fixincludes
>>    mkdir -p -- ./libiberty
>>    mkdir -p -- ./lto-plugin
>>    mkdir -p -- ./intl
>>    mkdir -p -- ./gmp
>>    mkdir -p -- ./libbacktrace
>>    Co
>>    == 2019-01-17 10:22:21,684 easyblock.py:286 INFO Closing log for 
>> application name GCCcore version 7.3.0
>
>
> I don't think this problem is related to a forced rebuild at all.
>
> You'll most likely run into the same issue when building GCCcore-7.3.0.eb
> without having it already installed somewhere else.

I think you are right about the problem not being related to the
rebuild.  However, shouldn't I just be able to build GCCcore-7.3.0.eb
directly using my system GCC?  Although I suppose that this kind of
bootstrapping will fail if the system GCC is sufficiently old (on my
CentOS 7.5 system I have GCC 4.8.5).

> Note that with --rebuild, only the specified easyconfig files will actually 
> get
> rebuilt, not its dependencies.
> We could probably use a --rebuild-all or something, but I guess the use cases
> for this are quite limited...

Yes, it occurred to me that rebuild would not deal with the
dependencies.  I guess --rebuild-all would be useful, although I am
hoping not to shoot myself in the foot in similar manner again too
soon. 

>> As I am slightly pushed for time and probably have to recompile most
>> stuff anyway, I was wondering what is the most pragmatic way to
>> proceed.
>>
>> Of the directories
>>
>>    apps/
>>    build/
>>    ebfiles_repo/
>>    moduleData/
>>    modules/
>>    software/
>>    sources/
>>
>> could I just delete
>>
>>    build/
>>    modules/
>>    software/
>
> As long as those directories were created by EasyBuild, and nothing else is
> parked in there, yes.
>
> In fact, only removing the 'modules' dir is sufficient.
>
> If no module is available yet, EasyBuild will assume that the software is not
> installed yet, and if it happens to find an existing installation directory in
> software/, it will remove that directory first.
>
> Of course, it doesn't hurt to also remove software/ entirely if you're sure
> everything will need to be rebuilt anyway...

I actually just decided to move the original EasyBuild directory
somewhere else and start afresh (by which I shot myself in the foot
again, as I had installed Lmod via EB and removed the original system
version ...).  Maybe the EB documentation could mention somewhere that
moving the install directory at a later point is inadvisable.  As you
say, it is not an EB problem, but trying out EB in one's home directory
doesn't appear to be such a good idea as it might seem, if one's
ultimate goal is to provide software for multiple users, e.g. via an NFS
share.

Thanks for the help!

Cheers,

Loris

-- 
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin         Email [email protected]

Reply via email to