OpenFAST / openfast

Main repository for the NREL-supported OpenFAST whole-turbine and FAST.Farm wind farm simulation codes.
http://openfast.readthedocs.io
Apache License 2.0
695 stars 458 forks source link

Servodyn unable to load libdiscon.so on linux based HPC resource #2511

Open JackUmaine opened 1 week ago

JackUmaine commented 1 week ago

I am having trouble running OpenFAST with Servodyn and the ROSCO controller, on a set of inputs that runs to competition without servodyn turned on.

The exact error I am receiving is:

FAST_InitializeAll:SrvD_Init:BladedInterface_Init:The dynamic library libdiscon.so could not be loaded. Check that the file exists in the specified location and that it is compiled for 64-bit applications.

I am currently running on Rocky Linux (v9.2) on a remote computer. I am using an installation of the dev branch from conda-forge (build: h2da4d3d_287). I am using the dev branch due to its support of the seastate module. I have tried different file pathing syntax:

I have also tried downloading different .so files from the ROSCO release page (v2.9.0, v2.8.0 and v2.7.0) and also different methods for uploading them to my remote machine.

I have confirmed that file path printed in the error matches what is in my servodyn.dat

Here is some further information about the version of OpenFAST I am running.

image

I have exhausted the extent of my OpenFAST debugging abilities and would greatly appreciate any insight that the community can provide.

deslaughter commented 4 days ago

@JackUmaine OpenFAST displays the same error for failure to find and failure to load the shared library. Based on your debugging, the path to the ROSCO library is probably correct in the ServoDyn input file and the issue is with loading the library. Loading ROSCO will fail if there are any missing shared system libraries that it depends on. Different Linux distributions may include different libraries or different versions of libraries. It looks like Rocky Linux is a derivative of CentOS, but I don't know what the shared libraries in the GitHub releases were compiled on. You can check the dependencies of by running ldd libdiscon.so and it will list the required libraries and the paths to them on your system. If something is missing, it help you identify the file you need to install.

JackUmaine commented 3 days ago

@deslaughter Thank you very much! The HPC resource previously ran CentOS and I had no problem but with the shift to Rocky Linux, it appears some things got left behind. I am missing shared gfortran library, so I've reached out to my system admin to hopefully resolve that. Thank you again, I'll make sure to update if this fixes the loading issue.