Re: [Rd] R-2.11.1 build and 'so' libraries withouth the 'lib' prefix//update

From: Simon Urbanek <simon.urbanek_at_r-project.org>
Date: Mon, 12 Jul 2010 18:51:55 -0400

On Jul 12, 2010, at 5:59 PM, lI wrote:

> 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.

Of course as you should expect. Why would you edit? It has nothing to do with BLAS ...

Also did you read the manual? It explicitly covers your case ...

Cheers,
Simon

>  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?
> 
> 

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Mon 12 Jul 2010 - 22:54:05 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 13 Jul 2010 - 10:00:15 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive