[R-sig-Debian] How to change Rlapack by lapack (for rpy2 installation)?

Matthieu Stigler matthieu.stigler at gmail.com
Sat Mar 21 08:43:23 CET 2009


Sorry, my e-mail went too early, give some more complements about the
problem I had which may be similar to yours

2009/3/21, Matthieu Stigler <Matthieu.Stigler at gmail.com>:
> I had I similar problem and could not really resolve it... I can give you
> nevertheless some hints:
>
>
> It looks like there is a bug, missing library, or change in the set-up of
> libRlapack with Ubuntu 8.04,
> see:
> -http://sourceforge.net/mailarchive/forum.php?thread_name=de8c7cb40809160055mbc5af8fu55cfd1c19f915f08@mail.gmail.com&forum_name=rkward-users

The solution I found was to
cd /usr/lib/R/modules
sudo ln -s ./lapack.so ./libRlapack.so

But this is pretty dirty... Dirk Eddelbuettel kindly directed me to:

R actually tells you what to use, so this is easy to fix with a modicum of
configure scripting knowledge:

edd at ron:~$ R CMD config --help
Usage: R CMD config [options] [VAR]

Get the value of a basic R configure variable VAR which must be among
those listed in the 'Variables' section below, or the header and
library flags necessary for linking against R.

Options:
  -h, --help            print short help message and exit
  -v, --version         print version info and exit
      --cppflags        print pre-processor flags required to compile
			a program using R as a library
      --ldflags         print linker flags needed for linking against
			the R library

Variables:
  BLAS_LIBS     flags needed for linking against external BLAS libraries
  CC            C compiler command
  CFLAGS        C compiler flags
  CPICFLAGS     special flags for compiling C code to be turned into a
		shared library
  CPP           C preprocessor
  CPPFLAGS      C/C++ preprocessor flags, e.g. -I<dir> if you have
		headers in a nonstandard directory <dir>
  CXX           C++ compiler command
  CXXCPP        C++ preprocessor
  CXXFLAGS      C++ compiler flags
  CXXPICFLAGS   special flags for compiling C++ code to be turned into a
		shared library
  DYLIB_EXT	file extension (including '.') for dynamic libraries
  DYLIB_LD      command for linking dynamic libraries which contain
		object files from a C or Fortran compiler only
  DYLIB_LDFLAGS
		special flags used by DYLIB_LD
  F77           Fortran 77 compiler command
  FFLAGS        Fortran 77 compiler flags
  FLIBS         linker flags needed to link Fortran code
  FPICFLAGS     special flags for compiling Fortran code to be turned
		into a shared library
  FC            Fortran 9x compiler command
  FCFLAGS       Fortran 9x compiler flags
  FCPICFLAGS    special flags for compiling Fortran 9x code to be turned
		into a shared library
  JAR           Java archive tool command
  JAVA          Java interpreter command
  JAVAC         Java compiler command
  JAVAH         Java header and stub generator command
  JAVA_HOME     path to the home of Java distribution
  JAVA_LIBS     flags needed for linking against Java libraries
  JAVA_CPPFLAGS C preprocessor flags needed for compiling JNI programs
  LAPACK_LIBS   flags needed for linking against external LAPACK libraries
  LIBnn         location for libraries, e.g. 'lib' or 'lib64' on this platform
  LDFLAGS       linker flags, e.g. -L<dir> if you have libraries in a
		nonstandard directory <dir>
  OBJC          Objective C compiler command
  OBJCFLAGS     Objective C compiler flags
  MAKE          Make command
  SAFE_FFLAGS   Safe (as conformant as possible) Fortran 77 compiler flags
  SHLIB_CFLAGS  additional CFLAGS used when building shared objects
  SHLIB_CXXLD   command for linking shared objects which contain
		object files from a C++ compiler
  SHLIB_CXXLDFLAGS
		special flags used by SHLIB_CXXLD
  SHLIB_EXT	file extension (including '.') for shared objects
  SHLIB_FFLAGS  additional FFLAGS used when building shared objects
  SHLIB_LD      command for linking shared objects which contain
		object files from a C or Fortran compiler only
  SHLIB_LDFLAGS
		special flags used by SHLIB_LD
  SHLIB_FCLD, SHLIB_FCLDFLAGS
		ditto when using Fortran 9x
  TCLTK_CPPFLAGS
		flags needed for finding the tcl.h and tk.h headers
  TCLTK_LIBS    flags needed for linking against the Tcl and Tk libraries

Report bugs to <r-bugs at r-project.org>.
edd at ron:~$ R CMD config --ldflags
-L/usr/lib/R/lib -lR
edd at ron:~$ R CMD config BLAS_LIBS
-lblas
edd at ron:~$ R CMD config LAPACK_LIBS
-llapack
edd at ron:~$

Hope that helps
> -the bug I commited:
> https://bugs.launchpad.net/ubuntu/+source/rmatrix/+bug/299141
> Agustin Lobo a écrit :
>>
>> (I asked an earlier question on the rpy2 installation
>> to the rpy2 list, the solution there was to
>> edit the setup.py script, but this looks beyond what I can do unless
>> someone tells me exactly what to modify).
>>
>> I have R 2.8.1 on 2 machines running ubuntu 8.04
>> (packages R-base and R-base-dev, among others, installed using Synaptic)
>> and while the installation
>> of rpy2 went fine on machine1, failed on machine2 with:
>>
>> python setup.py install
>> /usr/bin/ld: cannot find -lRlapack
>> collect2: ld returned 1 exit status
>> error: command 'gcc' failed with exit status 1
>>
>> I think that the reason is that while on machine1 I get:
>> R CMD config LAPACK_LIBS
>> -llapack
>>
>> on machine2 I get
>> R CMD config LAPACK_LIBS
>> -L/usr/lib/R/lib -lRlapack
>>
>> Could someone tell me (or point me to a relevant link) what should I do in
>> order to reconfigure R on machine2
>> so that it has the same liblapack settings than machine1 ?
>> (I really don't remember having done anything different on
>> machine2 for installing R, but probably I did)
>>
>> Thanks
>>
>> Agus
>>
>>
>>
>> ________________________________
>> _______________________________________________
>> R-SIG-Debian mailing list
>> R-SIG-Debian at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-debian
>>
>
>
>



More information about the R-SIG-Debian mailing list