[Rd] R-devel problems

Jan de Leeuw deleeuw@stat.ucla.edu
Wed Feb 26 18:22:03 2003

Number 3 below is fixed. Number 5 is a bootstrap problem, which
could be solved perhaps with

make bin; make install bin; make install modules packages

or by doing a real two stage build. But I agree that is a major
change in the build process.

This can also be hacked by doing a make install, wait until it breaks,
then do another make install. I am not suggesting this as an actual

It's not a problem if you have a version of R installed, at least not
if that R.bin has all the required symbols (but I think the R.bin from
1.6.2 misses one symbol needed by the 1.7.0 version of ctest,
for example). Again this does not provide a solution.

I'll see if the bundle_loader solution can be changed in any
way (for instance by using weak binding, so that the symbol
does not have to be there at link time, only at run time).

On Tuesday, Feb 25, 2003, at 23:57 US/Pacific, Kurt Hornik wrote:

>>>>>> Jan de Leeuw writes:
>> The OS X configure in R-devel has been changed to use two-level
>> namespaces. There are still some problems.
>> 3. Configure does not pass the $(Rexecbindir) to the Makefiles in the
>> /src/library directory, so the links cannot find the bundle_loader. I
>> added them by hand for all package links.
> I thought I had already fixed this, but maybe I am missing something
> obvious.  It seems to me that e.g. ctest/src/Makefile has
> R_HOME = $(top_builddir)
> ...
> include $(top_srcdir)/share/make/shlib.mk
> where the latter has
> include $(R_HOME)/etc/Makeconf
> which in turn has
> ## As we currently use
> ##   -bundle -bundle_loader $(Rexecbindir)/R.bin -undefined error
> ## for the default SHLIB_LDFLAGS on Darwin >= 5 ...
> rhome = @libdir@/R
> Rexecbindir = $(rhome)/bin
> (in the source).  But I now see that on my system this gives
> rhome = ${exec_prefix}/lib/R
> for reasons maybe known to Autoconf wizards but not to me: so I will  
> add
> substitutions for prefix and exec_prefix as well.  Pls let me know if
> this helps.
>> 5. In order to link the bundles with -bundle -bundle_loader
>> /usr/local/lib/R/bin/R.bin the /usr/local/lib/R/bin/R.bin must exist,
>> and moreover must be an R-devel build.  This is a little bootstrap
>> problem which can be easily hacked.
> As I already tried to explain, I think there is a more substantial
> problem here.  We build in say, BUILDDIR and install to INSTALLDIR,  
> say,
> and there no reason to assume for something to work in BUILDDIR that
> something else has happened in INSTALLDIR.  In fact, for typical users
> we cannot even do something in the default INSTALLDIR as they will have
> no write permissions in /usr/local.
> The only thing guaranteed to work is to use a bundle loader path in
> BUILDDIR when building, and change to one in INSTALLDIR when
> installing.  I assume this amounts to re-linking and hence a terrible
> mess unless we use GNU libtool to provide an abstraction, and I hope we
> will have this for R 2.0, but certainly not for 1.7.  Or is there a way
> to change the bundle loader?
> Best
> -k
> ______________________________________________
> R-devel@stat.math.ethz.ch mailing list
> http://www.stat.math.ethz.ch/mailman/listinfo/r-devel
Jan de Leeuw; Professor and Chair, UCLA Department of Statistics;
Editor: Journal of Multivariate Analysis, Journal of Statistical  
US mail: 9432 Boelter Hall, Box 951554, Los Angeles, CA 90095-1554
phone (310)-825-9550;  fax (310)-206-5658;  email: deleeuw@stat.ucla.edu
homepage: http://gifi.stat.ucla.edu
           No matter where you go, there you are. --- Buckaroo Banzai