On Tue, Jul 24, 2012 at 2:30 PM, luxInteg <lux-integ at btconnect.com>
wrote:> Greetings,
>
> I am learning R
> My machine has these;
> CPU: 3cores amd64
> OS pure-64bit CBLFS liux compiled from sources (kernel 3.2.1, gcc-4.6.2
> R-2.15
> When I compiled R the compiler spewed out lines like these:-
>
> make[3]: Entering directory
`/tmp/RtmpiHdDJy/R.INSTALL472339eeb23a/mgcv/src'
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> gcv.c -o gcv.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> gdi.c -o gdi.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> init.c -o init.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> magic.c -o magic.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> mat.c -o mat.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> matrix.c -o matrix.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> mgcv.c -o mgcv.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> misc.c -o misc.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> qp.c -o qp.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> sparse-smooth.c -o sparse-smooth.o
> gcc -m64 -std=gnu99 -I/home/Rman/R-2.15.0/include -DNDEBUG -
> I/usr/local/atlas/include -I/usr/local/numerics/include -fpic -g -O2
-c
> tprs.c -o tprs.o
> gcc -m64 -std=gnu99 -shared -L/usr/local/atlas/lib
-L/usr/local/numerics/lib -
> L/usr/lib -o mgcv.so gcv.o gdi.o init.o magic.o mat.o matrix.o mgcv.o
misc.o
> qp.o sparse-smooth.o tprs.o -L/home/Rman/R-2.15.0/lib -lRlapack -
> L/home/Rman/R-2.15.0/lib -lRblas -lgfortran -lm -L/home/Rman/R-2.15.0/lib
-lR
> make[3]: Leaving directory
`/tmp/RtmpiHdDJy/R.INSTALL472339eeb23a/mgcv/src'
> installing to /home/Rman/R-2.15.0/library/mgcv/libs
> ** R
> ** data
> ** inst
> ** byte-compile and prepare package for lazy loading
> ** help
> *** installing help indices
> ** building package indices
> ** testing if installed package can be loaded
>
> * DONE (mgcv)
> make[2]: Leaving directory
`/home/Rman/R-2.15.0/src/library/Recommended'
> make[1]: Leaving directory
`/home/Rman/R-2.15.0/src/library/Recommended'
>
> -----here is the source_tree for mgcv ---A
> mgcv_SR_tree/mgcv/R
> mgcv_SR_tree/mgcv/data
> mgcv_SR_tree/mgcv/inst
> mgcv_SR_tree/mgcv/man
> mgcv_SR_tree/mgcv/po
> mgcv_SR_tree/mgcv/src
> mgcv_SR_tree/mgcv/DESCRIPTION
> mgcv_SR_tree/mgcv/MD5
> mgcv_SR_tree/mgcv/NAMESPACE
> mgcv_SR_tree/mgcv/changeLog
> mgcv_SR_tree/mgcv/gnugpl2.txt
> mgcv_SR_tree/mgcv/index
>
> #--and here is the build tree ---B
> mgcv_postBuild_Tree/mgcv/Meta
> mgcv_postBuild_Tree/mgcv/R
> mgcv_postBuild_Tree/mgcv/data
> mgcv_postBuild_Tree/mgcv/help
> mgcv_postBuild_Tree/mgcv/html
> mgcv_postBuild_Tree/mgcv/libs
> mgcv_postBuild_Tree/mgcv/CITATION
> mgcv_postBuild_Tree/mgcv/DESCRIPTION
> mgcv_postBuild_Tree/mgcv/INDEX
> mgcv_postBuild_Tree/mgcv/NAMESPACE
>
> I havent a clue what is happening in the lines prepended by **
Messages (to you) being given by the build script -- it looks like you
got a good build. (The big "DONE" is a good sign)
>
> Also I used make VERBOSE=1 but the compiler gave no indication of how
one
> arives at B from A and
> how the library created mgcv.so) is installed in
mgcv_postBuild_Tree/mgcv/libs
>
> advise on hese would be much appreciated
>
>
> Reading the manual I noticed the way of installing these recommendd
packages
> appears to be
> R CMD -l path/to/libraries recommended_tarball.tar.gz
I think you have a command missing after CMD. Usually the format is R
CMD __what_to_do__ -flag options tarball.tar.gz. I.e., if I want to
build xts, I get the source and run
R CMD INSTALL xts_0.8-7.tar.gz
and it all "just works."
Linking uses -l as you noted, but only if you need libraries above and
beyond the R headers (which are included automatically with R CMD
install) that aren't in the package's */src directory. You'll see
above the the appropriate flags were passed to gcc for you in
specifing ATLAS and the gnu c99 extensions. Linking within R should be
done properly for you. I'm not an expert on the package build process,
so I'll wait for someone else to say more / correct me if needed.
>
> I would like to know if the following is possible and if so how so:-
> a) obtaining more verbose output from make (is this makefile related ? )
> a) exercising control over the compiler settings for the creation of the
> library module (mgcv.so in the above case)
> b) manual setting of the source and destination directroies and keeping
of
> the source tree where the package is built.
>
Try
R CMD INSTALL --help
to see available flags.
Best,
Michael
> thannks in advance
>
> sincerely
> luxInteg
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel