Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build_rmats error #150

Closed
dianzhiyong opened this issue Oct 6, 2021 · 3 comments
Closed

build_rmats error #150

dianzhiyong opened this issue Oct 6, 2021 · 3 comments

Comments

@dianzhiyong
Copy link

dear Eric
I try install rMATS turbo v4.1.1 by this command : ./build_rmats --conda ,about a few minutes later ,there are some error report as below:

cd bamtools/lib; rm *.so .so. .dylib
rm: cannot remove"
.dylib": No such file or directory
make: [Makefile:4: build] Error 1 (ignored)
cd rMATS_C; make;
make[1]: Entering directory '/home/zhiy/software/rmats/rmats_turbo_v4_1_1/rMATS_C'
/home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/bin/x86_64-conda-linux-gnu-cc -I/home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/include -Wall -O2 -msse2 -funroll-loops -fopenmp -o rMATSexe src/main.c src/myfunc.c src/util.c src/cthreadpool.clbfgs_scipy/lbfgsb.o lbfgs_scipy/linpack.o lbfgs_scipy/timer.o -L/home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/lib -lgsl -lgslcblas -lm -lm -lgfortran -lgsl -lgslcblas -lgomp -lblas -llapack
/home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64//librt.so.1: undefined reference to memcpy@GLIBC_2.14' /home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64//librt.so.1: undefined reference to __clock_getres@GLIBC_PRIVATE'
/home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64//librt.so.1: undefined reference to __clock_gettime@GLIBC_PRIVATE' /home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64//librt.so.1: undefined reference to __clock_nanosleep@GLIBC_PRIVATE'
/home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64//librt.so.1: undefined reference to __clock_getcpuclockid@GLIBC_PRIVATE' /home/zhiy/software/rmats/rmats_turbo_v4_1_1/conda_envs/rmats/bin/../lib/gcc/x86_64-conda-linux-gnu/9.4.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/lib64//librt.so.1: undefined reference to __clock_settime@GLIBC_PRIVATE'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:44: rMATSexe] Error 1
make[1]: Leaving directory '/home/zhiy/software/rmats/rmats_turbo_v4_1_1/rMATS_C'
make: *** [Makefile:5: build] Error 2

I will very happy if you give me some suggestion about solving this error
thanks very much

zhiyong

@EricKutschera
Copy link
Contributor

If you just want a working version of rMATS v4.1.1 you can try installing the prebuilt version from conda: conda install -c conda-forge -c bioconda rmats=4.1.1

For building from source, it looks like the main errors are similar to: x86_64-conda-linux-gnu/bin/ld: /usr/lib64//librt.so.1: undefined reference to memcpy@GLIBC_2.14

I think that happens because the conda environment installs its own version of compilers. Those compilers end up being found with the environment variables like CC, CXX, and FC, but those compilers are not compatible with the libraries on your system (like /usr/lib64/librt.so.1)

I think you can work around this issue by setting the full paths to the default compilers available on your system. There is some commented out code to do that here: https://github.com/Xinglab/rmats-turbo/blob/v4.1.1/setup_environment.sh#L27

However I don't think that fully resolves the issue because conda later overwrites those variables. I think you need to set those environment variables at this line of build_rmats: https://github.com/Xinglab/rmats-turbo/blob/v4.1.1/build_rmats#L92

If you first find out the full paths for your compilers, then at the location in build_rmats mentioned above you can set the paths with something like:

export FC="/path/to/gfortran"
export CC="/path/to/gcc"
export CXX="/path/to/g++"

With that change you can try building again. You'll need to either remove the build results from the build attempt that had those errors or start from a fresh copy of the source code

@dianzhiyong
Copy link
Author

thank you very much my dear brother
rMATS have installed it by conda ,i hope rMATS turbo will installed successfully with your advise

@dianzhiyong
Copy link
Author

hi Eric
rMATS turbo was installed successfully by your suggestion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants