[Rd] Incorrect behavior in 64-bit version (PR#11034) (solved)
Lodewijk Bonebakker
Lodewijk.Bonebakker at sun.com
Wed Mar 26 00:21:24 CET 2008
Peter,
thank you for your reply, the provided link had the answer:
The problem is the Sun cc compiler not following the C99 syntax
standard. Adding -xc99 to compiler flags fixed the problem.
My incorrect assumption was that configure.in would contain most of
the recommended flags for compilation, combined with using the same
wrapper script for compilation that has worked successfully since
version 1.9. Obviously it is no longer current and I have added 'make
check' as additional safety.
Thank you again,
Lodewijk Bonebakker
For general interest (since this is going to be public anyway), here
is my wrapper script:
#!/bin/bash
## quick-buildR,64
##
## build R, libiconv and readline should be installed in /usr/sfw/lib/
amd64
##
export CC="cc -xc99"
export CPP=""
export CXX=CC
export FC=f95
export F77=f95
##
export BASEFLAGS="-m64 -I/usr/sfw/include"
# export FPICFLAGS="-Bdynamic -G"
# export CXXPICFLAGS="-pic"
# export SHLIB_CXXFLAGS="-Bdynamic -G"
# export MAIN_CFLAGS="-m64 -I/usr/sfw/include"
# export SHLIB_CFLAGS="-m64"
# export MAIN_FFLAGS="-m64"
# export SHLIB_FFLAGS="-m64"
##
export CFLAGS="${BASEFLAGS} -O -xO5 -xc99 -xlibmieee -xlibmil -nofstore"
export FFLAGS="${BASEFLAGS} -O5 -libmil -nofstore"
export CXXFLAGS="${BASEFLAGS} -O -xO5 -xlibmil -nofstore"
export FCFLAGS=${FFLAGS}
export SHLIB_CXXLDFLAGS="-G -lCstd"
export SAFE_FFLAGS="-O5 -libmil -fstore"
##
export LDFLAGS="-m64 -L/usr/sfw/lib/amd64 -L/usr/sfw/lib"
##
./configure --prefix=/opt/R/v2.6.2,64 --with-blas=sunperf --with-lapack
RESULT=$?
if [ $RESULT -eq 0 ]; then
gmake
RESULT=$?
fi
if [ $RESULT -eq 0 ]; then
gmake check
RESULT=$?
fi
if [ $RESULT -eq 0 ]; then
gmake install
RESULT=$?
fi
echo "RESULT $RESULT"
## end of script
On Mar 25, 2008, at 15:09, Peter Dalgaard wrote:
> lodewijk.bonebakker at sun.com wrote:
>> Full_Name: Lodewijk Bonebakker
>> Version: v2.6.2
>> OS: Solaris, x86, snv_80
>> Submission from: (NULL) (192.18.43.225)
>>
>>
>> when I build R in 32-bit mode on my 64-bit OS, R works as expected:
>>
>> R version 2.6.2 (2008-02-08)
>> ...
>> Type 'q()' to quit R.
>>
>>
>>> m <- matrix(ncol=2,c(1:6))
>>>
>>> m
>>>
>> [,1] [,2]
>> [1,] 1 4
>> [2,] 2 5
>> [3,] 3 6
>>
>>> n <- log10(m)
>>> n
>>>
>> [,1] [,2]
>> [1,] 0.0000000 0.6020600
>> [2,] 0.3010300 0.6989700
>> [3,] 0.4771213 0.7781513
>>
>>
>> On a 64-bit build, uisng *only* the "-m64" to instruct the sun
>> compilers to
>> generate a 64 bit binary, the following happens (there are no
>> compilation
>> errors)
>>
>>
>> R version 2.6.2 (2008-02-08)
>> ...
>> Type 'q()' to quit R.
>>
>>
>>> m <- matrix(ncol=2,c(1:6))
>>> m
>>>
>> [,1] [,2]
>> [1,] 1 4
>> [2,] 2 5
>> [3,] 3 6
>>
>>> n <- log10(m)
>>>
>> Warning message:
>> In log(1:6, 10) : NaNs produced
>>
>>> n
>>>
>> [,1] [,2]
>> [1,] 0.1428914 0
>> [2,] -1.1834403 0
>> [3,] NaN 0
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
> There is not sufficient information to go on here (with a sun.com
> address you could be expected to know better). R works fine as a 64
> bit program on several platforms, as far as I know including
> Solaris, so the issue has to be specific to your compiler and
> library setup.
>
> This has all the hallmarks of a math header file error (either args
> or return value declared of the wrong type), or a linker issue (log
> not really log). I surely hope it fails "make check"!
>
> So, exactly what did you do, which compiler and build tools and
> which version?
> Did you read the http://cran.r-project.org/doc/manuals/R-admin.html,
> including Appendix C?
> (Please keep R-bugs in the recipient list. I'm not the resident
> expert.)
>
> --
> O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
> c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
> (*) \(*) -- University of Copenhagen Denmark Ph: (+45)
> 35327918
> ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45)
> 35327907
>
>
More information about the R-devel
mailing list