MichaelChirico / r-bugs

A ⚠️read-only⚠️mirror of https://bugs.r-project.org/
20 stars 0 forks source link

[BUGZILLA #13946] 'make install' fails on Solaris #3684

Closed MichaelChirico closed 4 years ago

MichaelChirico commented 4 years ago

From: bownes@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::> 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):' \ ---

@$(SED) -e "s,@rhome,$(rhome)," -e "s,@rincludedir,$(rincludedir)," \
-e 's,@libsprivate,$(STATIC_LIBR_PC),' \

METADATA

MichaelChirico commented 4 years ago

From: Prof Brian Ripley <ripley@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>> On Thu, 10 Sep 2009, bownes@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::> 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.

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,@rhome,$(rhome)," -e "s,@rincludedir,$(rincludedir)," \
>         -e 's,@libsprivate,$(STATIC_LIBR_PC),' \

-- Brian D. Ripley, ripley@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ <CENSORING FROM DETECTED PHONE NUMBER ONWARDS; SEE BUGZILLA>


METADATA

MichaelChirico commented 4 years ago

From: Peter Dalgaard <p.dalgaard@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>> Prof Brian Ripley wrote:

On Thu, 10 Sep 2009, bownes@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::> 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,@rhome,$(rhome)," -e 
>> "s,@rincludedir,$(rincludedir)," \
>>         -e 's,@libsprivate,$(STATIC_LIBR_PC),' \

-- O_ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B c/ /' --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K <CENSORING FROM DETECTED PHONE NUMBER ONWARDS; SEE BUGZILLA>


METADATA

MichaelChirico commented 4 years ago

From: Bob Bownes <bownes@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>> 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/lib:/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/lib:/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 targetinstall' 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@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>>wrote:


Prof Brian Ripley wrote:

> On Thu, 10 Sep 2009, bownes@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::> 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,@rhome,$(rhome)," -e "s,@rincludedir,$(rincludedir),"
>>> \
>>>        -e 's,@libsprivate,$(STATIC_LIBR_PC),' \
>>>
>>
>

--
O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
<CENSORING FROM DETECTED PHONE NUMBER ONWARDS; SEE BUGZILLA>

-----------

#### METADATA
 - Comment author - Jitterbug compatibility account
 - Timestamp - 2009-09-10 20:20:11 UTC
MichaelChirico commented 4 years ago

From: Prof Brian Ripley <ripley@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>> 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@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>>
wrote:
Prof Brian Ripley wrote:
On Thu, 10 Sep 2009, bownes@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::> 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,@rhome,$(rhome)," -e
"s,@rincludedir,$(rincludedir)," \
       -e
's,@libsprivate,$(STATIC_LIBR_PC),'
\

--
  O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
 c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
<CENSORING FROM DETECTED PHONE NUMBER ONWARDS; SEE BUGZILLA>

-----------

#### METADATA
 - Comment author - Jitterbug compatibility account
 - Timestamp - 2009-09-10 20:39:31 UTC
MichaelChirico commented 4 years ago

From: Bob Bownes <bownes@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>> 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@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>>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 ===.  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@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::>
> >
> wrote:
>      Prof Brian Ripley wrote:
>            On Thu, 10 Sep 2009, bownes@<::CENSORED -- SEE ORIGINAL ON BUGZILLA::> 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,@rhome,$(rhome)," -e
>                  "s,@rincludedir,$(rincludedir)," \
>                         -e
>                  's,@libsprivate,$(STATIC_LIBR_PC),'
>                  \
>
>
>
>
> --
>   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
>  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
<CENSORING FROM DETECTED PHONE NUMBER ONWARDS; SEE BUGZILLA>

-----------

#### METADATA
 - Comment author - Jitterbug compatibility account
 - Timestamp - 2009-09-10 20:55:45 UTC
MichaelChirico commented 4 years ago

Audit (from Jitterbug): Wed Sep 16 05:43:16 2009 ripley moved from incoming to System-specific-fixed


METADATA