[Rd] R-2.11.1 build and 'so' libraries withouth the 'lib' prefix//update
lI
lux-integ at btconnect.com
Mon Jul 12 23:59:14 CEST 2010
On Monday 12 July 2010 20:52:15 Simon Urbanek wrote:
> On Jul 12, 2010, at 2:50 PM, lI wrote:
> > On Monday 12 July 2010 11:07:23 lI wrote:
> >> On Monday 12 July 2010 10:29:30 lI wrote:
> >>> Greetings,
> >>>
> >>> I have a computer with the following setup:
> >>> 1)cblfs (pure 64-bit (amd64) linux), kernel2.6.34 gcc4.4.2
> >>> 2)R-2.11.1
> >>>
> >>> I compiled R with BLAS and lapack using the switched ( --with-blas="-
> >>> lpthread -latlas -lfptf77blas"
> >>> --with-lapack="-llapack -lcblas" ).
> >>> (( http://cran.r-project.org/doc/manuals/R-admin.html#Linear-algebra) )
> >>>
> >>> Prior to compiling R-2.11.1
> >>> sh conigure --help gave options including the following
> >>> SHLIB_LD command for linking shared libraries
> >>> which contain object files from a C or Fortran compiler
> >>> only SHLIB_LDFLAGS special flags used by SHLIB_LD
> >>> SHLIB_CXXLDFLAGS special flags used by SHLIB_CXXLD
> >>> SHLIB_FCD command for linking shared libraries which contain object
> >>> files from the Fortran 95 compiler
> >>> SHLIB_FCLDFLAGS special flags used by SHLIB_FCLD
> >>>
> >>>
> >>> I did not know what to set for these and accepted whatever the
> >>> defaults were. I ended up with shared-libraries which are as
> >>> follows:-
> >>>
> >>> $R_HOME/lib/{libRblas.so,libRlapack.so } i.e. with the prefix 'lib'
> >>> and the following shared-libraries without the 'lib' prefix.
> >>>
> >>> $R_HOME/modules/{R_X11.so,internet.so,lapack.so,vfonts.so }
> >>> $R_HOME/library/cluster/libs/cluster.so
> >>> $R_HOME/library/foreign/libs/foreign.so
> >>> $R_HOME/library/grDevices/libs/grDevices.so
> >>> $R_HOME/library/grid/libs/grid.so
> >>> $R_HOME/library/KernSmooth/libs/KernSmooth.so
> >>> $R_HOME/library/lattice/libs/lattice.so
> >>> $R_HOME/library/MASS/libs/MASS.so
> >>> $R_HOME/library/Matrix/libs/Matrix.so
> >>> $R_HOME/library/methods/libs/methods.so
> >>> $R_HOME/library/mgcv/libs/mgcv.so
> >>> $R_HOME/library/nlme/libs/nlme.so
> >>> $R_HOME/library/nnet/libs/nnet.so
> >>> $R_HOME/library/rpart/libs/rpart.so
> >>> $R_HOME/library/spatial/libs/spatial.so
> >>> $R_HOME/library/splines/libs/splines.so
> >>> $R_HOME/library/stats/libs/stats.so
> >>> $R_HOME/library/survival/libs/survival.so
> >>> $R_HOME/library/tools/libs/tools.so
> >>>
> >>>
> >>> In linux builds the linker usually looks for libs with the 'lib'
> >>> prefix. In this installation all the libraries
> >>> ---in $R_HOME/modules
> >>> ---in $R_HOME/library/patha/to/whatevr
> >>>
> >>> do not have the 'lib' prefix.
> >>>
> >>> QUESTION:
> >>> A) does any on list know SHLIB_LD SHLIB_LDFLAGS SHLIB_CXXLDFLAGS
> >>> SHLIB_FCD SHLIB_FCLDFLAGS settings for compiling R and do these
> >>> result in so libs with the 'lib' prefix?
> >>> B) If all of A) is negative what is there to be done to to enable
> >>> generation libraries in $R_HOME/modules $R_HOME/library/~ with the
> >>> 'lib' prefix?
> >>
> >> I forgot to add my configure/make options. These were:-
> >> ########################
> >> export BUILD64="-m64"
> >> sh configure \
> >> CC="gcc $BUILD64" \
> >> CXX="g++ $BUILD64" \
> >> F77="gfortran $BUILD64" \
> >> FC="gfortran $BUILD64" \
> >> JAVA_HOME=$JAVA_HOME \
> >> LIBnn=lib64 \
> >> CPPFLAGS="-I$ATLAS_HOME/include -I/opt/acml4.4.0/gfortran64_mp/include
> >> - I/opt/acml4.4.0/gfortran64/include -I/usr/local/numerics/include" \
> >> LDFLAGS="-L$ATLAS_HOME/lib -L/opt/acml4.4.0/gfortran64_mp/lib -
> >> L/usr/local/numerics/lib -L/usr/lib" \
> >> --prefix=/opt/TEST/R-2.11.1 \
> >> --x-includes=$XORG_PREFIX/include \
> >> --x-libraries=$XORG_PREFIX/lib \
> >> --with-tcl-config=/usr/lib \
> >> --with-tk-config=/usr/lib \
> >> --with-system-zlib=/usr \
> >> --with-system-bzlib=/usr \
> >> --with-system-pcre=/usr \
> >> --with-x \
> >> --with-libpth-prefix=/usr \
> >> --with-libintl-prefix=/usr \
> >> --with-blas="-lpthread -latlas -lfptf77blas" \
> >> --with-lapack="-llapack -lcblas" \
> >> --enable-R-shlib \
> >> --enable-BLAS-shlib
> >> ################
> >>
> >> The sources compiled trouble-free. with 'make' as normal user.
> >> I then ran 'make install' as super-user and int installed in the
> >> prefix as set..
> >>
> >> A reply to the following questions would be much appreciateed:-
> >> QUESTION:
> >> A) does any on list know SHLIB_LD SHLIB_LDFLAGS SHLIB_CXXLDFLAGS
> >> SHLIB_FCD SHLIB_FCLDFLAGS settings for compiling R and do these
> >> result in so libs with the 'lib' prefix?
> >> B) If all of A) is negative what is there to be done to enable
> >> generation of shared-libraries in $R_HOME/modules/ and
> >> $R_HOME/library/~ directories/sub-directories with the 'lib' prefix?
> >
> > thanks everyone for the help in clarifying what were share-libraries and
> > otherwise.
> >
> > As stated above I used two switches
> > --enable-R-shlib \
> > --enable-BLAS-shlib
> > in the configure options of the downloaded R-2.11.1 source prior to
> > compilation.
> >
> > I am compiling R-2.11.1 as an optional dependency of kdeedu-4.4.5.
> > This asks for R-shlib )which I noticed it is disable by the default in
> > the configure script.)
> >
> > After compile and install of R-2.11.1, I am only able to start R from
> > the command line
>
> How are you starting it? The R start script does setup everything so that
> you should never touch anything inside.
>
> > when I move the generated libRblas.so to libRblas.soDUFF and
> > symlink libacml.so to libRblas.so and update $R_HOME/etc/ldpaths
> > accordingly. I am unable to start R with the compiled-in
> > $R_HOME/libR.so and $R_HOME/libRblas.so.
> >
> > QUESTIONS:
> > A) How does one start R with the the generated libR.so and
> > libRblas.so?
>
> bin/R
>
> > B) is the generated libR.so interchangable with libRblas.so (i.e. R
> > library without blas enhanced algebra capabilities?)
>
> No - those are two entirely different libraries. The libRblas can be
> interchanged with a suitably complete BLAS implementation, but please do
> read the manuals for details.
>
> Cheers,
> Simon
>
Thanks to you for your help. Following your guidance, kdeedu-4.4.5 now
builds successfully against R-2.11.1. However when I edit ~/etc/ldpaths
with the line
export LD_LIBRARY_PATH=path/to/acml/lib:$LD_LIBRARY_PATH
R fails to start. it only starts when the above point to $R_HOME/lib. (nb I
have a symbolic link of libacml.so to libRblas.so
any ideas?
More information about the R-devel
mailing list