gordon.harrington@uni.edu
1998-Sep-12 21:25 UTC
R-beta: Sun native compiler SC2.0.1, R-0.62.x
Several multiple definition fatal errors occur compiling R-0.62.2 and more with 0.62.3 using the Sun native compiler SC2.0.1. Earlier versions of R did not present the problem. It does not occur with gcc. The problem lies in the SC2.0.1 library in sunmath.h which is not fully ANSI compliant. The compiler, with appropriate options, compiles non-ANSI usages but does not recognize alternatives as aliases of each other. Thus it will properly compile either "long" or "int" but it will not accept a variable which is defined as "int" in one place and as "long" in another. I have not seen any released patch for the includes to make them ANSI compliant. Since R is a work in progress it seems better to use gcc than to tinker with the Sun library or with program coding to gain the slight advantages of native compiler optimization. Gordon Gordon M. Harrington Mail: 3720 Village Place, #6308 Professor Emeritus Waterloo, IA 50702-5848 University of Northern Iowa Phone: 319-291-8535 gordon.harrington at uni.edu Fax: 319-291-8324 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help 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-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
On Sat, 12 Sep 1998 gordon.harrington at uni.edu wrote:> Several multiple definition fatal errors occur compiling R-0.62.2 and more with > 0.62.3 using the Sun native compiler SC2.0.1. Earlier versions of R did not > present the problem. It does not occur with gcc.You don't say what OS (and SunPro compilers do not only apply to Suns, let alone two OSes and at least 3 architectures on Suns). As far as I can remember SC2.0.1 was not `native' but an additional cost-product from a separate Sun company. I just wanted to point out that is a _very_ old SunPro compiler: the current version on both Solaris and SunOS is at least SC4.2, and I see we used SC3.0.1 in 1994. I doubt if people are trying gcc of similar age (2.5.x?), and if they were I would expect problems with header files.> The problem lies in the SC2.0.1 library in sunmath.h which is not fully ANSI > compliant. The compiler, with appropriate options, compiles non-ANSI usages but > does not recognize alternatives as aliases of each other. Thus it will properly > compile either "long" or "int" but it will not accept a variable which is > defined as "int" in one place and as "long" in another. I have not seen any > released patch for the includes to make them ANSI compliant.There are very many released patches to the Sun compilers, but I think it is unrealistic to expect them to still be available for so long superseded a product.> Since R is a work in progress it seems better to use gcc than to tinker with > the Sun library or with program coding to gain the slight advantages of native > compiler optimization.On Solaris fairly recent versions of cc work: as indeed is listed in PLATFORMS. Those of us who have tried both cc (SC4.x) and gcc (2.8.1) with R see very little advantage to cc: I posted some comparative timings a while ago (possibly to R-devel) that showed negligible differences. A small point for R-core: PLATFORMS lists rather precise OS versions (e.g. Solaris 2.5.1) but not compiler versions which are probably more critical. -- 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 272860 (secr) Oxford OX1 3TG, UK Fax: +44 1865 272595 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help 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-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._