Xinglab / rmats-turbo

Other
223 stars 55 forks source link

Installation error: `memcpy@GLIBC_2.14' #323

Open Jidgdoi opened 1 year ago

Jidgdoi commented 1 year ago

Hi, I'm trying to install _rmats_turbo_v4_12 on a server running on CentOS 7.

make[1]: Entering directory '/beegfs/data/work/shared/xxxxx/bin/rmats_turbo_v4_1_2/rMATS_C'
/work/shared/xxxxx/bin/rmats_turbo_v4_1_2/conda_envs/rmats/bin/x86_64-conda-linux-gnu-cc -I/work/shared/xxxxx/bin/rmats_turbo_v4_1_2/conda_envs/rmats/include -Wall -O2 -msse2 -funroll-loops -fopenmp -o rMATSexe src/main.c src/myfunc.c src/util.c lbfgs_scipy/lbfgsb.o lbfgs_scipy/linpack.o lbfgs_scipy/timer.o -L/work/shared/xxxxx/bin/rmats_turbo_v4_1_2/conda_envs/rmats/lib -lgsl -lgslcblas -lm -lm -lgfortran -lgsl -lgslcblas -lgomp -lblas -llapack
/beegfs/data/work/shared/xxxxx/bin/rmats_turbo_v4_1_2/conda_envs/rmats/bin/../lib/gcc/x86_64-conda-linux-gnu/9.5.0/../../../../x86_64-conda-linux-gnu/bin/ld: /work/shared/xxxxx/bin/miniconda3/lib/libquadmath.so.0: undefined reference to `memcpy@GLIBC_2.14'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:40: rMATSexe] Error 1
make[1]: Leaving directory '/beegfs/data/work/shared/xxxxx/bin/rmats_turbo_v4_1_2/rMATS_C'
make: *** [Makefile:6: build] Error 2

and am facing this issue undefined reference to memcpy@GLIBC_2.14.

I tried the solution from StackOverflow https://stackoverflow.com/questions/12286460/undefined-reference-to-mempcyglibc-2-14-when-compiling-on-linux by adding the code line to rMATC_C/src/version.c. Probably did wrong but it didn't change anything.

Any suggestions ?

EricKutschera commented 1 year ago

It looks like you are using conda. If you don't need to build from the source code then you could try installing the rmats v4.1.2 conda package:

conda install -c conda-forge -c bioconda rmats=4.1.2

For the actual error message /work/shared/xxxxx/bin/miniconda3/lib/libquadmath.so.0: undefined reference to 'memcpy@GLIBC_2.14', it's saying that some library requires something that should be in glibc v2.14 or later. You could try updating the version of glibc on your system

docmab23 commented 10 months ago

Is rmats v4.1.2 a version fo rmats_turbo or the standard rMats , also generally how much time would the pipeline take (pre and post step together), running it on 18 threads, there are 4 samples (2 reps in each group), the STAR step was significantly faster, but the getting the .rmats files is pretty slow, for my previous run (on a different dataset) it took me like ~13 hours.

Thanks

EricKutschera commented 10 months ago

All versions like v4.x.x are rMATS-turbo

rMATS can process each input sample (bam file) on a separate thread in the prep and post steps. If you only have 4 samples then only 4 threads will be used for those steps. For each sample (thread), the prep step would maybe take 1 hour per 200 million alignments. The post step depends on the events detected so it is harder to estimate. Usually the post step would only take a few hours unless --novelSS is used which can lead to very long running time for large datasets