Skip to content

Solution to (well known) problem with Rdconv.pm on Sun Solaris (PR#1093)

5 messages · Henrik Bengtsson, Brian Ripley, Kurt Hornik +1 more

#
Full_Name: Henrik Bengtsson
Version: 1.3.1
OS: Sun Solaris 8
Submission from: (NULL) (130.235.3.49)


I have been trying to install [R] v1.3.1 locally on a Sun Solaris 8 machine and
I ran into the (already known) perl problems that express theselves as:

Bare word found where operator expected at
/usr/matcent/hb/R/R-1.3.1/share/perl/R/Rdconv.pm line 1390, near "$txtout
mywrap"
        (Missing operator before mywrap?)
Bare word found where operator expected at
/usr/matcent/hb/R/R-1.3.1/share/perl/R/Rdconv.pm line 1405, near "$txtout
txt_header"
        (Missing operator before txt_header?)
Bare word found where operator expected at
/usr/matcent/hb/R/R-1.3.1/share/perl/R/Rdconv.pm line 1420, near "$txtout
txt_header"
        (Missing operator before txt_header?)
Bare word found where operator expected at
/usr/matcent/hb/R/R-1.3.1/share/perl/R/Rdconv.pm line 1448, near "$txtout
txt_header"
        (Missing operator before txt_header?)
Bare word found where operator expected at
/usr/matcent/hb/R/R-1.3.1/share/perl/R/Rdconv.pm line 1491, near "$txtout
txt_header"
        (Missing operator before txt_header?)

I searched the web for solutions and found Brian Ripley's suggestion one of the
replies to "Re: [Rd] several documentation problems (PR#675)". There he
suggested to add a '&' infront of 'mywrap' and 'txt_header'; "Another guess is
that it might require &mywrap there.". I tried this and it works. I also tried
the alternative to add parentesis around the function calls, which also seemed
to work. 

My suggestion is to add this to Rdconv.pm at the 5 lines above. This would make
the building of [R] a little bit easier.


Perl version used: 

"This is perl, version 5.003 with EMBED built under solaris at Sep 14 1996
22:39:00 + suidperl security patch". 

This is the version of perl installed on a brand new (2001-09-10) Sun
SunBlade100 Solaris machine.

[R] version: Trying to install R v1.3.1.


Regards

Henrik Bengtsson
Lund University
Sweden

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
#
On Sat, 15 Sep 2001 hb@maths.lth.se wrote:

            
[...]
^^^^
It was a bug in one version of perl around five years ago.  Incidentally,
it must have been built under a much older version of Solaris (as I recall
2.6 came out in 1998: certainly we first used it in late 1998), and
we find it is a good idea to rebuild perl at Solaris upgrades, especially
upgrading from 2.5.x.

We don't know (and don't have the resources to check) if the changed
version works on all more recent perl versions in use by R installers.

I do believe the solution is well-known: use perl 5.005, 5.6.0 or
(preferably) 5.6.1.  Perhaps we should test for perl >= 5.005?
#
Not sure, from a theoretical point of view: we really only require Perl
version 5.  But if we think that anything less than 5.005 is too buggy
then let's go for the change.  (Something like

	${PERL} -e 'require 5.005 or exit 1'

in PERL5_CHECK() of m4/R.m4?)

-k
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
#
Kurt Hornik scribeva...
I'm still using Perl 5.004, and R installs without problems.
Wouldn't like to update Perl just to install a new version of R.
Perhaps a warning message would be more appropriate than an
error.
#
On Sun, 16 Sep 2001, Peter Kleiweg wrote:

            
which I guess means we want an implementation of the Camel book 2nd edition
(`Programming Perl'), as Perl 5 is not a standard.  And my understanding is
that our code is legal by the Camel book, but 5.003 mis-parses it.
Thanks for the confirmation.
Would people notice a warning in all the output from configure?  This has
come up twice in the last year and a few more times before (with RedHat 5.2
as I recall).  We know that 5.003 is the one that caused the last two, so I
do think

${PERL} -e 'require 5.004 or exit 1'

would be a good idea.

B