[Rd] R CMD config --cppflags buglet

Dirk Eddelbuettel edd at debian.org
Mon Feb 20 15:23:30 CET 2006


As you may recall, a Debian user complained last year about how R is out of
line with respect to the filesystem standards (where, in essence,
architecture independent files should be in /usr/share, not /usr/lib).  While
I more or less just told him to get lost, I think it was mostly BDR who
actually added support for this over the summer -- so a public Thanks!
first.  As of a few weeks ago, I now activate this in the Debian builds so
that we get

	edd at basebud:~> ls -F /usr/share/R
	doc/  include/  share/

The downside of this that the maintained assumption of 
	$R_HOME/share
	$R_HOME/include
no longer works. 

I was updated a number of packages for Quantian yesterday and noticed that
(at least) two packages had hard-coded links to $R_HOME/include in their
Makefiles. I was just about to mail their maintainers suggesting an
alternative when I noticed that that R (2.2.1) has it wrong too:

	edd at basebud:~> R CMD config --cppflags
	-I/usr/lib/R/include

Should I patch this at my end with a softlink

	/usr/share/R/include -> /usr/lib/R/include

or should that be fixed in R? For the record, I configure'd with

	--datadir=/usr/share/R/share	\
	--includedir=/usr/share/R/include	\

so that I get told about '-I/usr/lib/R/include' is probably a bug. Indeed,
src/script/config has an unconditional

    --cppflags)
      if test -z "${LIBR}"; then
        echo "R was not built as a shared library" >&2
      else
        echo "-I${R_HOME}/include"
      fi
      exit 0

so this should probably get autoconf'ed as well.  R.sh.in may be in the same
boat.

I apologise in advance for not checking with R-devel which I don't have handy
at home right now...

Regards, Dirk

-- 
Hell, there are no rules here - we're trying to accomplish something. 
                                                  -- Thomas A. Edison



More information about the R-devel mailing list