Hi Kenneth,

Op 6 okt. 2015, om 12:59 heeft Kenneth Hoste 
<[email protected]<mailto:[email protected]>> het volgende geschreven:

Hi Franky,

On 06/10/15 11:16, Backeljauw Franky wrote:
Hello all,

We are trying to build spglib-1.7.4-intel-2015b.eb using “eb 
—try-software-version=1.7.3 spglib-1.7.3-intel-2015b.eb”. The only change is 
the version number, but when trying to build it fails with:

main.easyblock WARNING build failed (first 300 chars): Can't change to real 
build directory /dev/shm/spglib/1.7.4/intel-2015b/spglib-1.7.4/spglib-1.7.4

This problem seems to be caused by filetools after the unpacking of the sources.

If we use version spglib-1.7.3, we get:

...
== 2015-10-06 10:39:15,294 main.filetools DEBUG Last dir list ['spglib-1.7.3', 
'._spglib-1.7.3']
== 2015-10-06 10:39:15,294 main.filetools DEBUG Possible new dir 
/dev/shm/spglib/1.7.3/intel-2015b found
...

But with spglib-1.7.4, we get:

...
== 2015-10-06 10:43:04,559 main.filetools DEBUG Possible new dir 
/dev/shm/spglib/1.7.4/intel-2015b/spglib-1.7.4 found
...

The only noticable difference between the two tar-files is that 
spglib-1.7.3.tar.gz also contains the file "./._spglib-1.7.3” which results in 
different behavior of "main.filetools DEBUG Possible new dir”. If I remove this 
file from the tarfile of spglib-1.7.3.tar.gz, I also get the same issue when 
trying to build it with EasyBuild.

Any ideas how to recover from this issue?

After unpacking sources, EasyBuild checks if there's a single directory found. 
If so, it uses that as the 'start directory', and moves into it after unpacking 
(which is what you're seeing with 1.7.4).

If there are multiple directories (including hidden ones), EB doesn't pick a 
start directory, and stays in the build directory (i.e. intel-2015b, in this 
case).

You can tell EB what the start directory is however, using the 'start_dir' 
easyconfig parameter.

This is specified for spglib v1.7.3, as follows:

    start_dir = '%(name)s-%(version)s'

I overlooked this directive completely! :-(

But, since the auto-guessing of the start directory works for 1.7.4, this is no 
longer needed (and wrong even).
So, just remove this line from the easyconfig file for 1.7.4 (and create a pull 
request for it ;)).

Yep, pull request created.

This is one example where using --try-software-version doesn't work, which is 
why it's called 'try’.

Apparently ;-)

Things may change for newer software versions...

I hope this clarifies what's going on.

Yep, got it!

— Thanks,

Franky

Reply via email to