I have been building R-devel daily for years. In the last week or so, R-devel has failed make check with the error in tests/Examples/parallel-Ex.R The specific error is> pkgname <- "parallel" > source(file.path(R.home("share"), "R", "examples-header.R")) > options(warn = 1) > library('parallel')Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/hpscc/usr/local/gcc-4.1.2/build/R/R-devel-build/library/parallel/libs/parallel.so': /hpscc/usr/local/gcc-4.1.2/build/R/R-devel-build/library/parallel/libs/parallel.so: undefined symbol: CPU_COUNT Error: package/namespace load failed for ?parallel? Execution halted I am building on Red Hat Enterprise Linux version 4, using # gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The specifics of the distro is # cat /proc/version Linux version 2.6.18-274.12.1.el5 (mockbuild at x86-001.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-51)) #1 SMP Tue Nov 8 21:37:35 EST 2011 I am happy to provide any additional information Best, Kasper
Seems your ancient OS (that compiler has a 6-year-old copyright date) has a broken implementation of affinity with CPU_ZERO but not CPU_COUNT. I've added some checks which should catch this. On 17/05/2012 13:52, Kasper Daniel Hansen wrote:> I have been building R-devel daily for years. In the last week or so, > R-devel has failed make check with the error in > tests/Examples/parallel-Ex.R > > The specific error is >> pkgname<- "parallel" >> source(file.path(R.home("share"), "R", "examples-header.R")) >> options(warn = 1) >> library('parallel') > Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object > '/hpscc/usr/local/gcc-4.1.2/build/R/R-devel-build/library/parallel/libs/parallel.so': > /hpscc/usr/local/gcc-4.1.2/build/R/R-devel-build/library/parallel/libs/parallel.so: > undefined symbol: CPU_COUNT > Error: package/namespace load failed for ?parallel? > Execution halted > > I am building on Red Hat Enterprise Linux version 4, usingHmm, it says .el5: RHEL5 is ancient but RHEL4 is pre-historic!> # gcc --version > gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51) > Copyright (C) 2006 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > The specifics of the distro is > # cat /proc/version > Linux version 2.6.18-274.12.1.el5 > (mockbuild at x86-001.build.bos.redhat.com) (gcc version 4.1.2 20080704 > (Red Hat 4.1.2-51)) #1 SMP Tue Nov 8 21:37:35 EST 2011 > > I am happy to provide any additional information > > Best, > Kasper > > ______________________________________________ > 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
On May 17, 2012, at 6:08 PM, Murray Stokely wrote:> On Thu, May 17, 2012 at 8:09 AM, Prof Brian Ripley > <ripley at stats.ox.ac.uk> wrote: >> This is getting increasingly difficult. GCC 4.6.x and 4.7.x detect a lot of >> errors (especially C++ errors) that earlier versions did not -- and that >> means CRAN gets a fair number of submissions that we cannot compile. And >> there have been a lot of optimization advances since 4.1.x. > > I would also point out that clang has significantly better error detection and diagnostics compared to current GCC. Installations stuck with old GCC releases for GPL3 reasons should really migrate to clang / llvm. >The problem is that unfortunately clang is too incomplete for that -- it lacks Fortran and OpenMP support - both are quite important for R so migrating to clang is not realistic so far. Cheers, Simon