Hi, After doing all I could find with the confiure script... I set some env too... export enable_R_static_lib=yes export want_R_static=yes export WANT_R_STATIC_TRUE=yes ./configure \ --prefix=${i} \ --enable-R-static-lib \ --enable-static \ --without-readline \ --without-iconv \ && make \ && make install \ && echo "R ${v} installed in ${i}" But the result is still dynamic: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for NetBSD 4.0, dynamically linked (uses shared libs), not stripped Is there some way to make this static? // George -- George Georgalis, information system scientist <IXOYE><
On Mon 19 May 2008 at 06:39:39 PM -0400, George Georgalis wrote:>Hi, > >After doing all I could find with the confiure script... >I set some env too... > >export enable_R_static_lib=yes >export want_R_static=yes >export WANT_R_STATIC_TRUE=yes > >./configure \ > --prefix=${i} \ > --enable-R-static-lib \ > --enable-static \ > --without-readline \ > --without-iconv \ >&& make \ >&& make install \ >&& echo "R ${v} installed in ${i}" > >But the result is still dynamic: > >ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for NetBSD 4.0, dynamically linked (uses shared libs), not stripped > >Is there some way to make this static?In http://cran.r-project.org/doc/manuals/R-admin.html I did find: 9.1 Unix If R has not already be made in the directory tree, configure must tbe run as described in the main build instructions. Then make will make standalone libraries libRmath.a and libRmath.so. `make static' and make shared will create just one of them. however... make: don't know how to make static. Stop and "static" is not really part of the Makefile or any Make fragments. So back to starting... is there anyway to make it static? // George -- George Georgalis, information system scientist <IXOYE><
You asked for R to be built as a static lib, not for the front-end to be statically linked. It is not the R lib it is dynamically linking to (that is statically linked by default whether or not you ask for a separate lib), but the OS components. R depends on dlopen-ing extensions, so there is no way to make it entirely static. On Mon, 19 May 2008, George Georgalis wrote:> Hi, > > After doing all I could find with the confiure script... > I set some env too... > > export enable_R_static_lib=yes > export want_R_static=yes > export WANT_R_STATIC_TRUE=yes > > ./configure \ > --prefix=${i} \ > --enable-R-static-lib \ > --enable-static \ > --without-readline \ > --without-iconv \ > && make \ > && make install \ > && echo "R ${v} installed in ${i}" > > But the result is still dynamic: > > ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for NetBSD 4.0, dynamically linked (uses shared libs), not stripped > > Is there some way to make this static?Yes -- R is Open Source, so modify the souces as you wish.> // George > > > > -- > George Georgalis, information system scientist <IXOYE>< > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
On Tue 20 May 2008 at 07:01:58 AM +0100, Prof Brian Ripley wrote:> You asked for R to be built as a static lib, not for the front-end to be > statically linked. It is not the R lib it is dynamically linking to (that > is statically linked by default whether or not you ask for a separate lib), > but the OS components. > > R depends on dlopen-ing extensions, so there is no way to make it entirely > static.I see the bigger picture now. The goal was to get a single "binary" (PREFIX) working on multiple (very similar) systems. The docs/comments are not clear or out of date with regard to what is meant by "static"; I wanted the OS libs etc included so the package could operate more easily across machines at the site (nfs). But this makes me realize, since our OS is generally backwards compatible, I may be able to build on the old systems and use on the newer ones as well. Will give that a shot. // George -- George Georgalis, information system scientist <IXOYE><