2012-04-30 2 views
1

Windows에서 "gsl"(R 패키지)을 컴파일하려고합니다. 그것은 "32bits-R CMD INSTALL --build"에 의해 컴파일 될 수 있습니다. 하지만 "64 비트 R CMD INSTALL - 빌드"로 컴파일 할 수 없습니다. "ld.exe : -lgslcblas을 찾을 수 없습니다."Windows에서 R 패키지 "gsl"컴파일

어떻게 해결할 수 있습니까?

C:\test>C:\R2150\bin\x64\R CMD INSTALL --build gsl_1.9-9.tar.gz 
* installing to library 'C:/R2150/library' 
* installing *source* package 'gsl' ... 
** package 'gsl' successfully unpacked and MD5 sums checked 

    ********************************************** 
    WARNING: this package has a configure script 
     It probably needs manual configuration 
    ********************************************** 


** libs 
cygwin warning: 
    MS-DOS style path detected: C:/R2150/etc/x64/Makeconf 
    Preferred POSIX equivalent is: /cygdrive/c/R2150/etc/x64/Makeconf 
    CYGWIN environment variable option "nodosfilewarning" turns off this warning. 
    Consult the user's guide for more details about POSIX paths: 
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c air 
y.c -o airy.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c bes 
sel.c -o bessel.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c cla 
usen.c -o clausen.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c cou 
lomb.c -o coulomb.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c cou 
pling.c -o coupling.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c daw 
son.c -o dawson.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c deb 
ye.c -o debye.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c dil 
og.c -o dilog.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c ell 
int.c -o ellint.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c ell 
jac.c -o elljac.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c err 
or.c -o error.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c exp 
int.c -o expint.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c fer 
mi_dirac.c -o fermi_dirac.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c gam 
ma.c -o gamma.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c geg 
enbauer.c -o gegenbauer.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c hyp 
erg.c -o hyperg.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c lag 
uerre.c -o laguerre.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c lam 
bert.c -o lambert.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c leg 
endre.c -o legendre.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c log 
.c -o log.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c mul 
timin.c -o multimin.o 
multimin.c: In function 'free_fmin_ptr': 
multimin.c:95:27: warning: unused variable 'gsl_state' [-Wunused-variable] 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c pol 
y.c -o poly.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c pow 
_int.c -o pow_int.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c psi 
.c -o psi.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c qrn 
g.c -o qrng.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c rng 
.c -o rng.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c syn 
chrotron.c -o synchrotron.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c tra 
nsport.c -o transport.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c tri 
g.c -o trig.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c vec 
tor.c -o vector.o 
gcc -m64 -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"d:/RCompile/ 
CRANpkg/extralibs64/local/include"  -O2 -Wall -std=gnu99 -mtune=core2 -c zet 
a.c -o zeta.o 
gcc -m64 -shared -s -static-libgcc -o gsl.dll tmp.def airy.o bessel.o clausen.o 
coulomb.o coupling.o dawson.o debye.o dilog.o ellint.o elljac.o error.o expint.o 
fermi_dirac.o gamma.o gegenbauer.o hyperg.o laguerre.o lambert.o legendre.o log 
.o multimin.o poly.o pow_int.o psi.o qrng.o rng.o synchrotron.o transport.o trig 
.o vector.o zeta.o -LC:/GSL_test2/lib -lgsl -lgslcblas -Ld:/RCompile/CRANpkg/ext 
ralibs64/local/lib/x64 -Ld:/RCompile/CRANpkg/extralibs64/local/lib -LC:/R2150/bi 
n/x64 -lR 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib/libgsl.dll.a when sear 
ching for -lgsl 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib/libgsl.a when searchin 
g for -lgsl 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib\libgsl.a when searchin 
g for -lgsl 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib/libgsl.dll.a when sear 
ching for -lgsl 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib/libgsl.a when searchin 
g for -lgsl 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: cannot find -lgsl 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib/libgslcblas.dll.a when 
searching for -lgslcblas 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib/libgslcblas.a when sea 
rching for -lgslcblas 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib\libgslcblas.a when sea 
rching for -lgslcblas 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib/libgslcblas.dll.a when 
searching for -lgslcblas 
c :/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: skipping incompatible C:/GSL_test2/lib/libgslcblas.a when sea 
rching for -lgslcblas 
c:/rtools/gcc-4.6.3/bin/../lib/gcc/i686-w64-mingw32/4.6.3/../../../../i686-w64-m 
ingw32/bin/ld.exe: cannot find -lgslcblas 
collect2: ld returned 1 exit status 
ERROR: compilation failed for package 'gsl' 
* removing 'C:/R2150/library/gsl' 





C:\test>C:\R2150\bin\i386\R CMD INSTALL --build SNP.tar.gz 
* installing to library 'C:/R2150/library' 
* installing *source* package 'SNP' ... 
** libs 
cygwin warning: 
    MS-DOS style path detected: C:/R2150/etc/i386/Makeconf 
    Preferred POSIX equivalent is: /cygdrive/c/R2150/etc/i386/Makeconf 
    CYGWIN environment variable option "nodosfilewarning" turns off this warning. 
    Consult the user's guide for more details about POSIX paths: 
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames 
g++ -I"C:/R2150/include" -DNDEBUG -IC:/GSL_test2/include -I"C:/R2150/library/ 
Rcpp/include"  -O2 -Wall -mtune=core2 -c asypow.cpp -o asypow.o 
asypow.cpp: In constructor 'Asypow::Asypow(double, double, double, double, doubl 
e, double, Rcpp::NumericVector, double, Rcpp::NumericVector, bool)': 
asypow.cpp:35:25: warning: 'Asypow::p' will be initialized after [-Wreorder] 
asypow.cpp:34:35: warning: 'double Asypow::alpha' [-Wreorder] 
asypow.cpp:43:5: warning: when initialized here [-Wreorder] 
g++ -shared -s -static-libgcc -o SNP.dll tmp.def asypow.o C:/R2150/library/R 
cpp/lib/i386/libRcpp.a -lgsl -lgslcblas -LC:/GSL_test2/lib -LC:/R2150/bin/i386 - 
lR 
installing to C:/R2150/library/SNP/libs/i386 
** R 
** inst 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** installing vignettes 
    'SNP.Rnw' 
** testing if installed package can be loaded 
* MD5 sums 
packaged installation of 'SNP' as SNP_0.21-2.zip 

* DONE (SNP) 

답변

1

예, 호환 64 비트를 버전 libgslcblas를 제공하여 문제를 해결할 수 있습니다.