/tmp mounted with noexec gives trouble#695
Conversation
|
more generally, some semantics are needed to drive build constraints, such as:
|
|
EasyBuild never hardcodes Do we need to provide a wrapper function in the EasyBuild framework that checks whether the path obtained can be used, and try other options if it detects that the obtained path may be troublesome? |
|
A wrapper is not needed.
I would not use This should be done in the |
|
We can also make it a config variable? So People can choose them self. |
|
Just for the record, the noexec policy in /tmp some people use, stems from experience with botnets like this: Back on the subject now, So, the config variable appeals to me as the most community-friendly approach. Your takes? |
|
I agree, a config variable seems a nice way of doing it. We just have to set |
|
I agree that a specific config variable should do the trick. Something like Who's up for implementing that? |
|
I will have a look at it. |
With either --tmpdir or EASYBUILD_TMPDIR you can set the directory used for temporary storage.
|
Automatic reply from Jenkins: Can I test this? |
If your temp storage is mounted with 'noexec', this can cause problems for certain easybuilds (numpy). We now print a warning about this.
|
I have added a In the second commits, I've added a check to see if we can execute files in the temp storage. I've put it in the main but maybe it's better to split it off in a seperate function? |
|
looks good to me |
Should solve conflicts with multiple users using EB on the same machine.
|
Please review again? |
…nto settmpdir Conflicts: easybuild/tools/options.py
…_tmpdir function in tools/config.py, add unit test for set_tmpdir
|
Jenkins: ok to test |
…nvironment and reset tempfile.tempdir after every test
…ter each call to main()
Conflicts: easybuild/main.py
|
Thanks a lot for initiating this and working together on the fiddly bits @wpoely86, merging it in! |
/tmp mounted with noexec gives trouble
When building python with a /tmp mounted with noexec, you will have trouble. Some test of numpy fails because of this.
I consider this undesirable. Either easybuild should not use a /tmp location to execute stuff or it should give a clear error message.
I will have a closer look when I find the time.