EhsanMotazedi / PopPoly

Family-based estimation of polyploid haplotypes using short sequence reads
GNU General Public License v3.0
2 stars 2 forks source link

Undefined sysmbol in logprob.so #1

Open cflsjt opened 6 years ago

cflsjt commented 6 years ago

Hi @EhsanMotazedi - I'm finally getting a chance to play with your latest tool! I ran in to an issue though, maybe no biggie. I've git cloned recursively but upon running:

python main.py -h

I get this output


  File "main.py", line 17, in <module>
    from branchprune import BlockException, makePermutation, SetGenos, GetProbReads
  File "/powerplant/workspace/cflsjt/PopPoly/branchprune.py", line 13, in <module>
    from haplotypes import Haplotypes, getMEC
  File "/powerplant/workspace/cflsjt/PopPoly/haplotypes.py", line 12, in <module>
    from logprob import _xor, diffVec, Hamming
ImportError: /powerplant/workspace/cflsjt/PopPoly/logprob.so: undefined symbol: PyFPE_jbuf ```
EhsanMotazedi commented 6 years ago

HI Susan,

This error has indeed been reported by other users (including myself!). It has to do with numpy installation and I get it on one server while not not another. I have uploaded a new version of PopPoly in which I mention this error and give a link where it is discussed on StackOverflow. In the new version, one can explicitly specify the name of the parents. There is also a perl wrapper with extra options to use a bam file that contains multiple contigs by choosing the name of the desired contig for haplotyping, as well as to filtering SNPs upon genotype missing rate. Please have a look:

https://git.wageningenur.nl/motaz001/PopPoly

Cheers, Ehsan

Op wo 18 jul. 2018 om 06:52 schreef Susan Thomson <notifications@github.com

:

Hi @EhsanMotazedi https://github.com/EhsanMotazedi - I'm finally getting a chance to play with your latest tool! I ran in to an issue though, maybe no biggie. I've git cloned recursively but upon running:

python main.py -h

I get this output

File "main.py", line 17, in from branchprune import BlockException, makePermutation, SetGenos, GetProbReads File "/powerplant/workspace/cflsjt/PopPoly/branchprune.py", line 13, in from haplotypes import Haplotypes, getMEC File "/powerplant/workspace/cflsjt/PopPoly/haplotypes.py", line 12, in from logprob import _xor, diffVec, Hamming ImportError: /powerplant/workspace/cflsjt/PopPoly/logprob.so: undefined symbol: PyFPE_jbuf ```

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/EhsanMotazedi/PopPoly/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AkksDtJ5LyxXAwHxFviiB7wErIRxnDNPks5uHr8SgaJpZM4VT8S6 .

cflsjt commented 6 years ago

Hi Ehsan, thanks yes it looks like numpy. I'm still having some issues but we will try and set up a clean conda env to have a go with shortly. Let you know how it goes!

timothymillar commented 6 years ago

Hi @EhsanMotazedi I think this issue explains it.

It looks like the version(s) of CPython available through anaconda are compiled without the --with-fpectl.

The pre-compiled logprob.so and logprob2.so must have been compiled againt a version of CPython that does support fpectl (e.g the versions packaged in Ubuntu/Debian).

I remove logprob.so and logprob2.so and rebuilt them against Anacondas python and now the I can get the help text without issue.

EhsanMotazedi commented 2 years ago

@timothymillar Hi Timo, You are right just have to recompile using cythonize -i logprob.pyx and cythonize -i logprob2.pyx. Hope it works!