bcm-uga / Loter

A software package for local ancestry inference and haplotype phasing
Other
37 stars 7 forks source link

Error on _loter_wrap.cpython-310-x86_64-linux-gnu.so: undefined symbol: parameterOptimization_create #28

Open lholivera opened 2 months ago

lholivera commented 2 months ago

Hi! Trying to use Loter on Ubuntu 22-04 I found this error:

Command line output

.local/bin/loter_cli -h Traceback (most recent call last): File "/home/leonidax/.local/bin/loter_cli", line 5, in from loter.cli import main File "/home/leonidax/.local/lib/python3.10/site-packages/loter/cli.py", line 14, in import loter.locanc.local_ancestry as lc File "/home/leonidax/.local/lib/python3.10/site-packages/loter/locanc/local_ancestry.py", line 5, in import loter.pipeline as lt File "/home/leonidax/.local/lib/python3.10/site-packages/loter/pipeline.py", line 6, in import loter.opti as opti File "/home/leonidax/.local/lib/python3.10/site-packages/loter/opti.py", line 1, in import loter.estimatea as esta File "/home/leonidax/.local/lib/python3.10/site-packages/loter/estimatea.py", line 5, in import loter.datastruct.parameter as parameter File "/home/leonidax/.local/lib/python3.10/site-packages/loter/datastruct/parameter.py", line 136, in _init_parameter_optimization() File "/home/leonidax/.local/lib/python3.10/site-packages/loter/datastruct/parameter.py", line 29, in _init_parameter_optimization _LIB.parameterOptimization_create.argtypes = [ File "/usr/lib/python3.10/ctypes/init.py", line 387, in getattr func = self.getitem(name) File "/usr/lib/python3.10/ctypes/init.py", line 392, in getitem func = self._FuncPtr((name_or_ordinal, self)) AttributeError: /home/leonidax/.local/lib/python3.10/site-packages/loter/_loter_wrap.cpython-310-x86_64-linux-gnu.so: undefined symbol: parameterOptimization_create

Jupyter notebook output:

import loter.locanc.local_ancestry as lc

AttributeError Traceback (most recent call last) /tmp/ipykernel_97568/1814192751.py in ----> 1 import loter.locanc.local_ancestry as lc

~/.local/lib/python3.10/site-packages/loter/locanc/local_ancestry.py in 3 import pandas as pd 4 ----> 5 import loter.pipeline as lt 6 import loter.initparam as initparam 7 import loter.initdata as initdata

~/.local/lib/python3.10/site-packages/loter/pipeline.py in 4 import loter.initparam as initparam 5 import loter.initdata as initdata ----> 6 import loter.opti as opti 7 import loter.estimatea as esta 8 import loter.estimateh as esth

~/.local/lib/python3.10/site-packages/loter/opti.py in ----> 1 import loter.estimatea as esta 2 import loter.estimateh as esth 3 import loter.graph as ests 4 import loter.toolsfunc as toolsfunc 5 import loter.metrics as metrics

~/.local/lib/python3.10/site-packages/loter/estimatea.py in 3 4 import loter.errorhandler as errorhandler ----> 5 import loter.datastruct.parameter as parameter 6 from loter.find_lib import _LIB 7

~/.local/lib/python3.10/site-packages/loter/datastruct/parameter.py in 134 135 #initialize --> 136 _init_parameter_optimization()

~/.local/lib/python3.10/site-packages/loter/datastruct/parameter.py in _init_parameter_optimization() 27 28 # Constructor ---> 29 _LIB.parameterOptimization_create.argtypes = [ 30 C.c_float, 31 C.c_int,

/usr/lib/python3.10/ctypes/init.py in getattr(self, name) 385 if name.startswith('') and name.endswith(''): 386 raise AttributeError(name) --> 387 func = self.getitem(name) 388 setattr(self, name, func) 389 return func

/usr/lib/python3.10/ctypes/init.py in getitem(self, name_or_ordinal) 390 391 def getitem(self, name_or_ordinal): --> 392 func = self._FuncPtr((name_or_ordinal, self)) 393 if not isinstance(name_or_ordinal, int): 394 func.name = name_or_ordinal

AttributeError: /home/leonidax/.local/lib/python3.10/site-packages/loter/_loter_wrap.cpython-310-x86_64-linux-gnu.so: undefined symbol: parameterOptimization_create

I've tried pìp install and git clone source install, both withouth errors.

Some clue?

Thanks

lholivera commented 2 months ago

The error raises at line 26 of parameter.py () (/loter/datastruct/) undefined symbol: parameterOptimization_create

def _init_parameter_optimization():

Constructor

_LIB.parameterOptimization_create.argtypes = [
    C.c_float,
    C.c_int,
    C.c_float,
    C.c_int,
    C.POINTER(errorhandler.ErrorHandler)
]
_LIB.parameterOptimization_create.restype = C.c_void_p
oliviamarcuzzi commented 2 months ago

I have the same error could you run the program??