[Rd] R-2.3.1 does not install on FreeBSD 4.11-RELEASE (PR#8971)

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Jun 13 07:53:43 CEST 2006


The first point is already changed in R-patched: please try it and 
confirm.  The NEWS file says:

     o   There were problems in src/main/printutils.c on platforms
         that did not have va_copy.

What architecture and compiler is this (and is FreeBSD 4.11-RELEASE not 
rather old)?  va_copy is a C99 feature, and was introduced as __va_copy 
well before 1999.  (__va_copy was in gcc 2.95.3 for example, and 2.3.1 
builds on platforms with __va_copy and not va_copy.)


Your second point seems to be covered by the instructions to set umask 
appropriately: people who have are not having to change permissions after 
installation.


On Tue, 13 Jun 2006, kenji.rikitake at acm.org wrote:

> Full_Name: Kenji Rikitake
> Version: 2.3.1
> OS: FreeBSD 4.11-RELEASE-p18
> Submission from: (NULL) (220.157.163.221)
>
>
> After doing
> ./configure --disable-mbcs
> (as default in FreeBSD 4.x)

Why do you claim that is `default in FreeBSD 4.x'?

> and
> make
> the compilation stops at src/main/printutils.c as:
> printutils.c: In function `Rvprintf':
> printutils.c:582: `va_start' used in function with fixed args
> printutils.c:591: syntax error before `}'
>
> the following patch includes two fixes:
>
> 1) removing unnecessary va_start() and va_end() macro for Rvprintf() in
>   src/main/printutils.c
> 2) fixing error by adding {} around calling error() in src/main/printutils.c
>
> --- src/main/printutils.c.FCS   Mon Apr 10 07:19:28 2006
> +++ src/main/printutils.c       Tue Jun 13 12:07:05 2006
> @@ -579,14 +579,15 @@
>       (con->vfprintf)(con, format, argcopy);
>       va_end(argcopy);
> #else /* don't support sink(,split=TRUE) */
> -      va_start(arg, format);
> +      /* va_start(arg, format); */ /* not for FREEBSD_4 */
>       (con->vfprintf)(con, format, arg);
> -      va_end(arg);
> +      /* va_end(arg); */
> +      /* not for FREEBSD_4 */
> #endif
>       con->fflush(con);
>       con_num = getActiveSink(i++);
> #ifndef HAVE_VA_COPY
> -      if (con_num>0) error("Internal error: this platform does not support
> split output")
> +      if (con_num>0) {error("Internal error: this platform does not support
> split output");}
> #endif
>     } while(con_num>0);
>
> Also, I needed to fix the permission after doing
> make install
> using the following set of commands:
>
> cd /usr/local/lib/R/exec
> chmod 0755 R
> cd /usr/local/lib/R/lib
> chmod 0755 libRlapack.so
> cd /usr/local/lib/R/base
> chmod 755 Meta R R-ex demo help html latex man po
> find . -type d -not -perm -001 | xargs chmod go+rx
> find . -type f -and -not -perm -444 | xargs chmod go+r
> cd /usr/local/lib/R/modules
> chmod 755 *.so
>
> [End of bug report]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

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



More information about the R-devel mailing list