From rhurlin at gwdg.de  Sun Oct  3 17:45:01 2010
From: rhurlin at gwdg.de (Rainer Hurling)
Date: Sun, 03 Oct 2010 17:45:01 +0200
Subject: [Rd] R-beta_2010-10-02_r53128 fails to compile on FreeBSD
In-Reply-To: <4CA89C77.7050805@gmail.com>
References: <4CA89209.4030005@gwdg.de> <4CA89C77.7050805@gmail.com>
Message-ID: <4CA8A4FD.9090906@gwdg.de>

On 03.10.2010 17:08 (UTC+1), Peter Dalgaard wrote:
> On 10/03/2010 04:24 PM, Rainer Hurling wrote:
>> I tried to compile R-beta_2010-10-02_r53128 on FreeBSD 9.0-CURRENT
>> (amd64) with gcc-4.4.5 and it fails:
>
> Thanks for the report. WIFEXITED/WEXITSTATUS are usually defined in
> <sys/wait.h>  (usually /usr/include/sys/wait.h). Do you have any
> indication that this might be skipped? (configure output, etc.)

I think you are right, see the posting of Brian Ripley. With his 
suggested patch it works again.

> I'm not quite sure by which mechanism gcc is expected to include
> sys/wait.h, but the offending code is inside
>
> #ifdef HAVE_SYS_WAIT_H
>
> which configure is supposed to set only if it is available and POSIX
> compatible.
>
> Any chance you switched platform features (e.g. upgraded gcc) without
> reconfiguring?

No, nothing I am aware of. But 9.0-CURRENT is the development platform 
of FreeBSD and my system is very recent ;-)

> -pd

Many thanks for your answer,
Rainer Hurling


>> -----------------------------------------
>> gcc -std=gnu99 -I../../src/extra/zlib -I../../src/extra/bzip2
>> -I../../src/extra/pcre  -I../../src/extra   -I. -I../../src/include
>> -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H   -g -O2 -c
>> sysutils.c -o sysutils.o
>> sysutils.c: In function 'R_system':
>> sysutils.c:289: warning: implicit declaration of function 'WIFEXITED'
>> sysutils.c:289: warning: implicit declaration of function 'WEXITSTATUS'
>> gcc -std=gnu99 -I../../src/extra/zlib -I../../src/extra/bzip2
>> -I../../src/extra/pcre  -I../../src/extra   -I. -I../../src/include
>> -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H   -g -O2 -c
>> unique.c -o unique.o
>> gcc -std=gnu99 -I../../src/extra/zlib -I../../src/extra/bzip2
>> -I../../src/extra/pcre  -I../../src/extra   -I. -I../../src/include
>> -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H   -g -O2 -c
>> util.c -o util.o
>> gcc -std=gnu99 -I../../src/extra/zlib -I../../src/extra/bzip2
>> -I../../src/extra/pcre  -I../../src/extra   -I. -I../../src/include
>> -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H   -g -O2 -c
>> version.c -o version.o
>> gcc -std=gnu99 -I../../src/extra/zlib -I../../src/extra/bzip2
>> -I../../src/extra/pcre  -I../../src/extra   -I. -I../../src/include
>> -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H   -g -O2 -c
>> vfonts.c -o vfonts.o
>> gfortran   -g -O2 -c xxxpr.f -o xxxpr.o
>> ar cr libR.a CConverters.o CommandLineArgs.o Rdynload.o Renviron.o RNG.o
>> agrep.o apply.o arithmetic.o array.o attrib.o base.o bind.o builtin.o
>> character.o coerce.o colors.o complex.o connections.o context.o cov.o
>> cum.o dcf.o datetime.o debug.o deparse.o deriv.o devices.o dotcode.o
>> dounzip.o dstruct.o duplicate.o engine.o envir.o errors.o eval.o
>> format.o fourier.o gevents.o gram.o gram-ex.o gramLatex.o gramRd.o
>> graphics.o grep.o identical.o inlined.o inspect.o internet.o iosupport.o
>> lapack.o list.o localecharset.o logic.o main.o mapply.o match.o memory.o
>> model.o names.o objects.o optim.o optimize.o options.o par.o paste.o
>> platform.o plot.o plot3d.o plotmath.o print.o printarray.o printvector.o
>> printutils.o qsort.o random.o raw.o registration.o relop.o rlocale.o
>> saveload.o scan.o seq.o serialize.o size.o sort.o source.o split.o
>> sprintf.o startup.o subassign.o subscript.o subset.o summary.o
>> sysutils.o unique.o util.o version.o vfonts.o xxxpr.o libs/*o
>> ranlib libR.a
>> gcc -std=gnu99 -export-dynamic -L/usr/local/lib -o R.bin Rmain.o libR.a
>> -L../../lib -lRblas
>> -L/usr/local/lib/gcc44/gcc/x86_64-portbld-freebsd9.0/4.4.5
>> -L/usr/local/x86_64-portbld-freebsd9.0/lib -L/usr/local/lib/gcc44
>> -lgfortran -lm  /usr/local/lib/libintl.so /usr/local/lib/libiconv.so
>> -Wl,-rpath -Wl,/usr/local/lib -lreadline -llzma -lm -liconv -licuuc
>> -licui18n
>> libR.a(sysutils.o)(.text+0x1d5d): In function `R_system':
>> /usr/local/R-beta/src/main/sysutils.c:289: undefined reference to
>> `WIFEXITED'
>> libR.a(sysutils.o)(.text+0x1d76):/usr/local/R-beta/src/main/sysutils.c:289:
>> undefined reference to `WEXITSTATUS'
>> libR.a(sys-unix.o)(.text+0x475): In function `do_system':
>> /usr/local/R-beta/src/unix/sys-unix.c:290: undefined reference to
>> `WIFEXITED'
>> libR.a(sys-unix.o)(.text+0x551):/usr/local/R-beta/src/unix/sys-unix.c:290:
>> undefined reference to `WEXITSTATUS'
>> *** Error code 1
>> Stop in /usr/local/R-beta/src/main.
>> *** Error code 1
>> Stop in /usr/local/R-beta/src/main.
>> *** Error code 1
>> Stop in /usr/local/R-beta/src.
>> *** Error code 1
>> Stop in /usr/local/R-beta.
>> -----------------------------------------
>>
>> Is this a known error? I would really appreciate if someone could give
>> me a hint.
>>
>> Please let me know if more information is needed.
>>
>> Thanks in advance,
>> Rainer Hurling



[Rd] R-beta_2010-10-02_r53128 fails to compile on FreeBSD
Rainer Hurling