[Rd] 'make install' fails on Solaris (PR#13946)
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Sep 10 17:39:31 CEST 2009
I can see what has happened: one of the paths contains : as Peter
suggested. By not why, and there seem to be more wrong with it: look
at the lines I've enclosed in ===. There is no space after -Rblas,
and other odd things, so changing the sed script would not help here.
As Peter say, -Wlfoo,bar is just as likely as : in there if things go
this badly wrong. (Of course mailer may have garbled this.)
I have
STATIC_LIBR_PC = $(BLAS_LIBS) $(FLIBS) $(LIBINTL) -lreadline -ltermcap $(LIBS)
and nothing strange in the expansion.
Try not using --enable-R-static-lib.
What we could do it to allow the script to fail: having libR.pc is a
convenience, and --enable-R-static-lib is rarely used.
On Thu, 10 Sep 2009, Bob Bownes wrote:
> Sorry, typo.
>
> Yes, it is confusing sed. And, yes, I am also using /usr/xpg4/bin/sed. Here
> is the error:
>
> bash-3.00# make install
> installing doc ...
> ../tools/install-sh -c -m 644 ../NEWS
> "/home/dev/scratch/bbownes/R/lib/R/doc"
> installing doc/html ...
> installing doc/html/search ...
> installing doc/manual ...
> installing etc ...
> installing share ...
> cc -I. -I../../src/include -I../../src/include -I/usr/local/include
> -DHAVE_CONFIG_H -g -DR_HOME='"/home/dev/scratch/bbownes/R/lib/R"' -o
> Rscript \
> ./Rscript.c
> sed: command garbled: s:@libsprivate:-L/home/dev/scratch/bbownes/R/lib/R/lib
===========
> -lRblas-R/home/dev/forte/10.0/SUNWspro/lib/v8plus:/home/dev/forte/10.0/SUNWspro/li
> b:/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/lib
===========
> -L/home/dev/forte/10.0/SUNWspro/lib/v8plus
> -L/home/dev/forte/10.0/SUNWspro/prod/lib/v8plus
> -L/home/dev/forte/10.0/SUNWspro/lib -L/home/dev/forte/10.0/SUNWspro/prod/lib
> -L/usr/ccs/lib -lfui -lfai -lfai2 -lfsumai -lfprodai -lfminlai -lfmaxlai
> -lfminvai -lfmaxvai -lfsu -lsunmath -lmtsk -lm -lnsl -lsocket -ldl -lm
> -licuuc -licui18n:
> *** Error code 2
> The following command caused the error:
> /usr/xpg4/bin/sed -e "s:@rhome:/home/dev/scratch/bbownes/R/lib/R:" -e
> "s:@rincludedir:/home/dev/scratch/bbownes/R/lib/R/include:" \
> -e 's:@libsprivate:-L/home/dev/scratch/bbownes/R/lib/R/lib -lRblas-R/home/dev/forte/10.0/SUNWspro/lib/v8plus:/home/dev/forte/10.0/SUNWspro/li
> b:/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/lib
> -L/home/dev/forte/10.0/SUNWspro/lib/v8plus
> -L/home/dev/forte/10.0/SUNWspro/prod/lib/v8plus
> -L/home/dev/forte/10.0/SUNWspro/lib -L/home/dev/forte/10.0/SUNWspro/prod/lib
> -L/usr/ccs/lib -lfui -lfai -lfai2 -lfsumai -lfprodai -lfminlai -lfmaxlai
> -lfminvai -lfmaxvai -lfsu -lsunmath -lmtsk -lm -lnsl -lsocket -ldl -lm
> -licuuc -licui18n:' \
> -e 's/@VERSION/2.9.2/' ./libR.pc.in \
> > "/home/dev/scratch/bbownes/R/lib/pkgconfig/libR.pc"
> make: Fatal error: Command failed for target `install-pc'
> Current working directory /home/dev/scratch/bbownes/R-2.9.2/src/unix
> *** Error code 1
> The following command caused the error:
> for d in scripts include extra appl nmath unix main modules library; do \
> (cd ${d} && make install) || exit 1; \
> done
> make: Fatal error: Command failed for target `install'
> Current working directory /home/dev/scratch/bbownes/R-2.9.2/src
> *** Error code 1
> The following command caused the error:
> for d in m4 tools doc etc share src tests po; do \
> (cd ${d} && make install) || exit 1; \
> done
> make: Fatal error: Command failed for target `install'
> bash-3.00#
>
> and the configure that started it all:
> ./configure --with-readline=no --with-iconv=no --with-x=no
> --enable-static=yes --enable-R-static-lib
> --prefix=/home/dev/scratch/bbownes/R
>
>
>
>
> On Thu, Sep 10, 2009 at 2:34 AM, Peter Dalgaard <p.dalgaard at biostat.ku.dk>
> wrote:
> Prof Brian Ripley wrote:
> On Thu, 10 Sep 2009, bownes at gmail.com wrote:
>
> Full_Name: Bob Bownes
> Version: 2.9.2
> OS: Solaris 10
> Submission from: (NULL) (164.55.254.106)
>
>
> The sed lines in src/unix/Makefile
> confuse the grep distributed with
> Solaris
> that gets configured by ./configure.
>
>
> Well, it calls sed not grep! Which version was that
> -- it works for me and for several others. I have
> SED = /usr/xpg4/bin/sed (see file Makeconf), and
> that is 'distributed with Solaris': perhaps you do
> not have it installed?
>
> The danger of changing R to fix a broken OS tool is
> that the change may break on other people's tools --
> better to fix the tool.
>
>
>
> Is this a tool problem at all? The most common reason for separator
> breakage is that one of the substitution strings contains the
> separator.
>
> E.g., the sed line may break if @rhome contains a colon, and after
> the fix it will break if it contains a comma...
>
>
>
> Switching from a separator of ':' to a
> separator of ',' fixes the problem.
>
> 76,77c76,77
> < @$(SED) -e "s:@rhome:$(rhome):" -e
> "s:@rincludedir:$(rincludedir):" \
> < -e
> 's:@libsprivate:$(STATIC_LIBR_PC):' \
> ---
> @$(SED) -e
> "s, at rhome,$(rhome)," -e
> "s, at rincludedir,$(rincludedir)," \
> -e
> 's, at libsprivate,$(STATIC_LIBR_PC),'
> \
>
>
>
>
> --
> O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
> c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
> (*) \(*) -- University of Copenhagen Denmark Ph: (+45)
> 35327918
> ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45)
> 35327907
>
>
>
>
--
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
More information about the R-devel
mailing list