'make install' fails on Solaris (PR#13946)
Interesting. None of my paths have ':' in them. make install without --enable-R-static-lib works fine. On Thu, Sep 10, 2009 at 11:39 AM, Prof Brian Ripley
<ripley at stats.ox.ac.uk>wrote:
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 =3D=3D=3D. There is no space after -Rblas, and ot=
her 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 =3D $(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=3D'"/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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
-lRblas-R/home/dev/forte/10.0/SUNWspro/lib/v8plus:/home/dev/forte/10.0/S=
UNWspro/li
b:/opt/SUNWspro/lib/v8plus:/opt/SUNWspro/lib
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
-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/S=
UNWspro/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=3Dno --with-iconv=3Dno --with-x=3Dno
--enable-static=3Dyes --enable-R-static-lib
--prefix=3D/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 =3D /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 =D8ster 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/<http=
://www.stats.ox.ac.uk/%7Eripley/>
University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595