简体   繁体   中英

compiling R package “gsl” on Windows

I am trying to compile " gsl "(R packages) on Windows. It can be compiled by "32bits-R CMD INSTALL --build". But It cannot be compiled by " 64bits R CMD INSTALL --build". It has an error from "ld.exe: cannot find -lgslcblas "

How can I fix it?

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)

是的,您可以通过提供兼容的64位版本libgslcblas

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM