Skip to content

'make install' fails on Solaris (PR#13946)

6 messages · bownes at gmail.com, Peter Dalgaard, Brian Ripley +1 more

#
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. 

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):' \
---
#
On Thu, 10 Sep 2009, bownes at gmail.com wrote:

            
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.

  
    
#
Prof Brian Ripley wrote:
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...

  
    
#
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:

            
===========
===========