From ripley at stats.ox.ac.uk  Thu Sep 10 17:39:31 2009
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Thu, 10 Sep 2009 16:39:31 +0100 (BST)
Subject: [Rd] 'make install' fails on Solaris (PR#13946)
In-Reply-To: <6f68bf030909100820t635fd512yd01d63d9bf4f52e8@mail.gmail.com>
References: <20090909225009.9ED5E282EF51@mail.pubhealth.ku.dk>
	<alpine.LFD.2.00.0909100600300.3323@gannet.stats.ox.ac.uk>
	<4AA89DFA.3060003@biostat.ku.dk>
	<6f68bf030909100820t635fd512yd01d63d9bf4f52e8@mail.gmail.com>
Message-ID: <alpine.LFD.2.00.0909101629420.13955@gannet.stats.ox.ac.uk>

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


[Rd] 'make install' fails on Solaris (PR#13946)
Prof Brian Ripley