Skip to content

libphobos_admin.so: undefined symbol: layout_reconstruct #7

@cardenas-in2p3

Description

@cardenas-in2p3

Dear all,

We would like to evaluate phobos to run in our heterogeneous infrastructure.

I search to compile and run phobos 3.2.0 on Red Hat Enterprise Linux like and Ubuntu.

Compiling and running phobos 3.2.0 on Rocky Linux 8.10 is OK. In Ubuntu 22.04 it compiles fine but I have "undefined symbol" error in runtime, something was wrong in link time:
phobos-master$ source tests/test_env.sh
phobos-master$ ./scripts/phobos_db setup_db -s -d phobos_test -p phobos

Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 187, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/lib/python3.10/runpy.py", line 110, in _get_module_details
import(pkg_name)
File "/home/user/phobos-master/src/cli/build/lib.linux-x86_64-3.10/phobos/init.py", line 33, in
from phobos.cli.common import PhobosActionContext
File "/home/user/phobos-master/src/cli/build/lib.linux-x86_64-3.10/phobos/cli/common/init.py", line 40, in
from phobos.core import cfg
File "/home/user/phobos-master/src/cli/build/lib.linux-x86_64-3.10/phobos/core/cfg.py", line 30, in
from phobos.core.ffi import (LIBPHOBOS, ResourceFamily)
File "/home/user/phobos-master/src/cli/build/lib.linux-x86_64-3.10/phobos/core/ffi.py", line 52, in
LIBPHOBOS_ADMIN = CDLL(LIBPHOBOS_ADMIN_NAME)
File "/usr/lib/python3.10/ctypes/init.py", line 374, in init
self._handle = _dlopen(self._name, mode)
OSError: /home/user/phobos-master/src/admin/.libs/libphobos_admin.so: undefined symbol: layout_reconstruct

The "layout_reconstruct" is referenced on libphobos_store.so and libphobos_admin.so:
phobos-master$ nm src/admin/.libs/libphobos_admin.so | grep layout_reconstruct

U layout_reconstruct

phobos-master$ nm src/store/.libs/libphobos_store.so | grep layout_reconstruct

000000000000c560 T layout_reconstruct

Both libraries are loaded by ffi.py libphobos_store.so before that libphobos_admin.so:

phobos-master$ cat -n src/cli/build/lib.linux-x86_64-3.10/phobos/core/ffi.py

44	LIBPHOBOS_NAME = "libphobos_store.so"
45	LIBPHOBOS = CDLL(LIBPHOBOS_NAME)
46	# FIXME we should call phobos_fini(). But this can only be done once we don't
47	# need phobos anymore. Since phobos_fini() only frees memory currently, this is
48	# not an issue.
49	LIBPHOBOS.phobos_init()
50	
51	LIBPHOBOS_ADMIN_NAME = "libphobos_admin.so"
52	LIBPHOBOS_ADMIN = CDLL(LIBPHOBOS_ADMIN_NAME)
53

The system uses:

libglib2.0-0 and libglib2.0-dev version 2.72 for GLib library of C routines
python3.10 and libpython3.10

Any ideas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions