-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding documentation on how to build and run on top of EESSI without EB #175
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hvelab This is a good start. I think it is probably worth explaining the weird addition of the GCCcore
path to LD_LIBRARY_PATH
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good.
|
||
The safest way to make sure all libraries will point to the required locations (and do not leak in from the host operating system) is starting an EESSI prefix shell before building. To do this: | ||
|
||
* First of all, load the environment by starting an EESSI shell as described [here](https://www.eessi.io/docs/using_eessi/setting_up_environment). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
None of these steps actually start a prefix shell! If you want to prefix shell you need to run
$EESSI_EPREFIX/startprefix
and after you do this, your environment will be completely emptied in the subshell that gets started (including EESSI), so you need to reinitialise again.
```sh | ||
export LD_RUN_PATH=$LIBRARY_PATH:$EBROOTGCCcore/lib64 | ||
``` | ||
* Compile and make sure the library resolution points to the EESSI stack. For this, `ldd` from compatibility layer and **not** `/usr/bin/ldd` should be used when checking the binary. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably best to provide a running example here so people have a clearer idea of what you are talking about
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about an MPI "Hello world" example?
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
Co-authored-by: ocaisa <[email protected]>
To follow up the short-term solution in issue https://gitlab.com/eessi/support/-/issues/48