GithubHelp home page GithubHelp logo

symbol lookup error about pyslurm HOT 5 CLOSED

pjodrr avatar pjodrr commented on August 21, 2024
symbol lookup error

from pyslurm.

Comments (5)

ralphbean avatar ralphbean commented on August 21, 2024

This is great. I haven't been able to get it to work yet -- didn't know the LD_PRELOAD trick.

Looking forward to phantez's response!

from pyslurm.

phantez avatar phantez commented on August 21, 2024

Hi,

The github repo is not up2date at all and the problem you rise is
known and not solve on this version of the code.
Mark Roberts who is the main dev. of pyslurm
(http://www.gingergeeks.co.uk/pyslurm/) has a working version of the
pyslurm with slurm 2. You should get in touch with him for more
precise informations.

Stéphan Gorget

On Thu, Oct 20, 2011 at 4:25 PM, pjodrr
[email protected]
wrote:

Hello,

When I run:

   python -c "import pyslurm; a, b = pyslurm.slurm_load_jobs('',2); print a"

I get:

   python: symbol lookup error: /usr/lib/slurm/select_cons_res.so: undefined symbol: slurm_get_debug_flags

and indeed that symbol is undefined:

   # nm --dynamic /usr/lib/slurm/select_cons_res.so|grep slurm_get_debug_flags
                U slurm_get_debug_flags

but included in /usr/lib/libslurm.so.22:

   # nm --dynamic /usr/lib/libslurm.so.22|grep slurm_get_debug_flags
   00000000000553b0 T slurm_get_debug_flags

which is interesting since pyslrum.so depends on libslurm:

   # ldd /usr/lib/python2.6/dist-packages/pyslurm/pyslurm.so
   ...
       libslurm.so.22 => /usr/lib/libslurm.so.22 (0x00007f9fb37e9000)
   ...

I don't know why it cannot find the symbol.
If I do:

   # LD_PRELOAD=/usr/lib/libslurm.so.22 python -c "import pyslurm; a, b = pyslurm.slurm_load_jobs('',2); print a"

then it works.  Can you solve the mystery?

Thanks,

 Peter

Reply to this email directly or view it on GitHub:
#1

Stéphan

from pyslurm.

pjodrr avatar pjodrr commented on August 21, 2024

Hi,

I cannot find any contact information on the website you are referring to. In fact the link to the git repository points to "gitbug.com". So how can I get in touch with Mark Roberts?

thanks,

Peter

from pyslurm.

gingergeeks avatar gingergeeks commented on August 21, 2024

Guys,
My apologies to all especially Stephan because I meant to send this info to him but work and family take a lot out of my available time. It took much tracing of the loader to work this out via LD_DEBUG and discussed it with Moe and Danny from schedmd (SLURM dev) some time ago. Anyway, without boring you further the pyslurm init script (from dev) needs to be modified to perform the correct loader method :

u'''
    PySLURM

    Here we modify the dlopen settings to RTLD_GLOBAL
    otherwise we cannot see the symbols correctly.

'''

import os, sys

__version__ = "2.2.7-1"

old_dlopen_flags = ''
if hasattr(sys, "setdlopenflags"):
    old_dlopen_flags = sys.getdlopenflags()
    import DLFCN
    sys.setdlopenflags(old_dlopen_flags | DLFCN.RTLD_GLOBAL)

from pyslurm import *

if old_dlopen_flags:
    if hasattr(sys, "setdlopenflags"):
            sys.setdlopenflags(old_dlopen_flags)

Please let Stephan and myself know if this works for you guys so we can close the issue, it is in my dev branch and is in current use on various clusters.

Mark

from pyslurm.

pjodrr avatar pjodrr commented on August 21, 2024

Hi,

yes, that solves it for me,
Looking forward to the official release!
Or, is it possible to have read access to your dev branch?

Regards,

Peter

from pyslurm.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.