chrchang / plink-ng

A comprehensive update to the PLINK association analysis toolset. Beta testing of the first new version (1.90), focused on speed and memory efficiency improvements, is finishing up. Development is now focused on building out support for multiallelic, phased, and dosage data in PLINK 2.0.
https://www.cog-genomics.org/plink/2.0/
415 stars 126 forks source link

CentOs7.9 install plink1.9 error #252

Open gaozejie opened 11 months ago

gaozejie commented 11 months ago

My operating system version is CentOS 7.9, and Plink version is 1.9. I have already executed yum install -y gcc gcc-c++ libstdc++ gcc-gfortran glibc glibc-devel make blas-devel lapack lapack-devel atlas-devel, but when executing ./plink_first_compile, it prompts /opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: not found -lcblas /opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: not found -latlas, What should I do?

chrchang commented 11 months ago

Have you tried installing the libatlas-dev and libatlas-base-dev packages, which the documentation mentions as necessary for Ubuntu?

gaozejie commented 11 months ago

Have you tried installing the libatlas-dev and libatlas-base-dev packages, which the documentation mentions as necessary for Ubuntu?

The installation of these two packages prompts that they cannot be found, even if I have already installed the extended rpm source. I switched the operating system to Linux version 4.19.90-52.22.v2207.ky10.aarch64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Tue Mar 14 11:52:45 CST 2023, which includes these two packages. But continuing to compile still reports error: g++ plink.o plink_assoc.o plink_calc.o plink_cluster.o plink_cnv.o plink_common.o plink_data.o plink_dosage.o plink_family.o plink_filter.o plink_glm.o plink_help.o plink_homozyg.o plink_lasso.o plink_ld.o plink_matrix.o plink_misc.o plink_perm.o plink_rserve.o plink_set.o plink_stats.o SFMT.o dcdflib .o pigz.o yarn.o Rconnection.o hfile.o bgzf.o -L/usr/lib64/atlas -llapack -lblas -lcblas -latlas -lm -lpthread -ldl -L. ../zlib-1.3/libz.so.1.3 -o pli nk /bin/ld: plink_cluster.o: in functionmds_plot(char, char, unsigned long, unsigned long, unsigned int, char, unsigned int, unsigned int, unsigned long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, double)': /plink/plink-ng-master/1.9/plinkcluster.c:3079: undefined reference to `dgesdd' /bin/ld: /plink/plink-ng-master/1.9/plinkcluster.c:3085: undefined reference to `dgesdd' /bin/ld: plink_cluster.o: in function mds_plot_eigendecomp(char*, char*, unsigned long*, unsigned long, unsigned int*, char*, unsigned int, unsigned i nt, unsigned long, unsigned int, unsigned int, unsigned int*, unsigned int*, unsigned int, unsigned int, unsigned int, double*)': /plink/plink-ng-master/1.9/plink_cluster.c:3382: undefined reference todsyevr_' /bin/ld: /plink/plink-ng-master/1.9/plinkcluster.c:3393: undefined reference to `dsyevr' /bin/ld: plink_calc.o: in function calc_pca(_IO_FILE*, unsigned long, char*, char*, unsigned long, Rel_info*, unsigned long, unsigned long*, unsigned long, char*, unsigned long, char**, unsigned long*, unsigned long, unsigned long*, unsigned long, unsigned long*, unsigned long, char*, unsigned long, double*, Chrom_info*, double*)': /plink/plink-ng-master/1.9/plink_calc.c:7108: undefined reference todsyevr_' /bin/ld: /plink/plink-ng-master/1.9/plinkcalc.c:7119: undefined reference to `dsyevr' /bin/ld: plink_matrix.o: in function invert_matrix_checked(int, double*, int*, double*)': /plink/plink-ng-master/1.9/plink_matrix.c:310: undefined reference todlange_' /bin/ld: /plink/plink-ng-master/1.9/plinkmatrix.c:317: undefined reference to `dgecon' collect2: error:ld return 1 make: *** [Makefile:81:plink] error 1`

chrchang commented 11 months ago

Ok, try replacing "-lcblas -latlas" in the Makefile with "-lsatlas". I just tried starting up a new EC2 instance with a CentOS 7.9 AMI, and that did the trick there.