I am trying to compile ASPECT 3.0.0 on Stampede3 at the Texas Advanced Computing Center (TACC), following the instructions on the ASPECT wiki. However, the build fails during compiling, and I get a symbol lookup error on running aspect (see attached screenshot).
The errors appear when compiling contrib/world_builder, and they seem related to the Intel oneAPI compiler (icpx) producing warnings
Initially, I suspected an issue with the HDF5 libraries, but compiling without HDF5 did not resolve the problem, so it may instead be related to the Intel compiler configuration or floating-point optimization flags.
If anyone has recently compiled ASPECT 3.0.0 on Stampede3, I would greatly appreciate:
The module stack you used (compiler, MPI, CMake, etc.)
Whether you used Intel or GCC
Any required compiler flags or configuration changes
@arnie94 I don’t know what causes the error, but it has nothing to do with the warnings. Can you do
ldd aspect-debug
? It should show you how the HDF5 libraries came to be linked with ASPECT.
At its core, however, this is a bug in the set-up of the module. If the libhdf5_hl.so library needs certain symbols, it should have been built so that it automatically links against the library that provides it. That’s not something you can change, but that the Stampede folks should have done already.
I believe the problem arises because the `netcdf/4.9.2` module available on Stampede3 is linked against `hdf5/1.14.4`, which is not included in your current module stack. I figured it out by following Wolfgang’s suggestion on ldd aspect-debug.
Could you try loading the modules above and follow the same steps for a fresh installation as before?
I would like to add that if you don’t plan to modify the ASPECT source code, you could use the preinstalled version available on Stampede3. You can do this by running the following commands in a terminal on a development node, or by adding them to your submission script:
I tried compiling ASPECT using the suggested modules. The symbol lookup error is now resolved, but I am encountering a convergence error instead (please see the attached output file). I have also attached the ldd output and the output from the make command for reference.
Since I need to write custom plugins, I assumed that compiling ASPECT myself was the only viable option. However, I wanted to ask whether it is possible to develop and compile plugins using the preinstalled ASPECT module on Stampede3 instead.
I am glad that the ASPECT installation is now working for you! Since the executable is running without errors, the issue you mentioned is not related to linking or compiling, so you do not need to worry about checking ldd aspect or the make output.
I am not sure which model you are trying to run, as the error message is directly related to the model setup. You can see the error in line 233 of your output file, which could be due to a number of reasons including computation of unphysical properties in the model setup.
I would recommend you to run your model using the debug mode, aspect-debug, as it will provide more detailed information about what might be going wrong.
I tried to run the convection-box cookbook. When I execute it in debug mode, it runs without any issues. However, when I switch to release mode, I encounter the solver non-convergence error which I shared previously. I also tested a few other cookbooks and observed the same behavior on Stampede3.
Please let me know if you have any suggestions on how to resolve this.