natefoo / slurm-drmaa

DRMAA for Slurm: Implementation of the DRMAA C bindings for Slurm
GNU General Public License v3.0
48 stars 22 forks source link

Issue with Slurm 20.02.4 and slurm-drmaa-1.1.1 #45

Closed iadiadiad closed 3 years ago

iadiadiad commented 3 years ago

I'm running into an issue on Centos 7.9.2009 running slurm 20.02.4 and slurm-drmaa-1.1.1. I ran configure with the '--with-slurm-inc=/opt/slurm/include' and '--with-slurm-lib=/opt/slurm/lib' options, but in the galaxy log it can't find libslurm.so.35 despite the library being there:

Traceback (most recent call last):
  File "lib/galaxy/main.py", line 298, in <module>
    main()
  File "lib/galaxy/main.py", line 294, in main
    app_loop(args, log)
  File "lib/galaxy/main.py", line 141, in app_loop
    attach_to_pools=args.attach_to_pool,
  File "lib/galaxy/main.py", line 108, in load_galaxy_app
    **kwds
  File "lib/galaxy/app.py", line 221, in __init__
    self.job_manager = manager.JobManager(self)
  File "lib/galaxy/jobs/manager.py", line 26, in __init__
    self.job_handler = handler.JobHandler(app)
  File "lib/galaxy/jobs/handler.py", line 51, in __init__
    self.dispatcher = DefaultJobDispatcher(app)
  File "lib/galaxy/jobs/handler.py", line 972, in __init__
    self.job_runners = self.app.job_config.get_job_runner_plugins(self.app.config.server_name)
  File "lib/galaxy/jobs/__init__.py", line 801, in get_job_runner_plugins
    rval[id] = runner_class(self.app, runner.get('workers', JobConfiguration.DEFAULT_NWORKERS), **runner.get('kwds', {}))
  File "lib/galaxy/jobs/runners/drmaa.py", line 65, in __init__
    drmaa = __import__("drmaa")
  File "/app/galaxy/.venv/lib/python3.6/site-packages/drmaa/__init__.py", line 65, in <module>
    from .session import JobInfo, JobTemplate, Session
  File "/app/galaxy/.venv/lib/python3.6/site-packages/drmaa/session.py", line 39, in <module>
    from drmaa.helpers import (adapt_rusage, Attribute, attribute_names_iterator,
  File "/app/galaxy/.venv/lib/python3.6/site-packages/drmaa/helpers.py", line 36, in <module>
    from drmaa.wrappers import (drmaa_attr_names_t, drmaa_attr_values_t,
  File "/app/galaxy/.venv/lib/python3.6/site-packages/drmaa/wrappers.py", line 56, in <module>
    _lib = CDLL(libpath, mode=RTLD_GLOBAL)
  File "/usr/lib64/python3.6/ctypes/__init__.py", line 343, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libslurm.so.35: cannot open shared object file: No such file or directory
[galaxy@ip-xxxxxxxxx slurm-drmaa-1.1.1]$ ls -la /opt/slurm/lib/libslurm.*
-rw-r--r--. 1 root root 57281210 Nov 17 16:38 /opt/slurm/lib/libslurm.a
-rwxr-xr-x. 1 root root      976 Nov 17 16:38 /opt/slurm/lib/libslurm.la
lrwxrwxrwx. 1 root root       18 Nov 17 16:38 /opt/slurm/lib/libslurm.so -> libslurm.so.35.0.0
lrwxrwxrwx. 1 root root       18 Nov 17 16:38 /opt/slurm/lib/libslurm.so.35 -> libslurm.so.35.0.0
-rwxr-xr-x. 1 root root  8200504 Nov 17 16:38 /opt/slurm/lib/libslurm.so.35.0.0

After some digging I found the following in the config.log:

configure:4925: checking for gcc option to accept ISO C99
configure:5074: gcc  -c -g -O2  conftest.c >&5
conftest.c:61:29: error: expected ';', ',' or ')' before 'text'
 test_restrict (ccp restrict text)
                             ^
conftest.c: In function 'main':
conftest.c:115:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'newvar'
   char *restrict newvar = "Another string";
                  ^
conftest.c:115:18: error: 'newvar' undeclared (first use in this function)
conftest.c:115:18: note: each undeclared identifier is reported only once for each function it appears in
conftest.c:125:3: error: 'for' loop initial declarations are only allowed in C99 mode
   for (int i = 0; i < ia->datasize; ++i)
   ^
conftest.c:125:3: note: use option -std=c99 or -std=gnu99 to compile your code
configure:5074: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "DRMAA for Slurm"
| #define PACKAGE_TARNAME "slurm-drmaa"
| #define PACKAGE_VERSION "1.1.1"
| #define PACKAGE_STRING "DRMAA for Slurm 1.1.1"
| #define PACKAGE_BUGREPORT "nate@bx.psu.edu"
| #define PACKAGE_URL ""
| #define PACKAGE "slurm-drmaa"
| #define VERSION "1.1.1"
| /* end confdefs.h.  */

Any ideas?

natefoo commented 3 years ago

Duplicate of #44, please see the comment there.