For other readers of the thread: apply the patch Simon gave and still use --with-blas='-framework vecLib'
Peter: Accelerate.h just includes vecLib.h (and also vImage.h), nothing else. Simon: after looking at the header files, I agree that it seems easiest to just define __ACCELERATE__. It might also be possible to define __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED, but I guess that is likely to have other consequences. Kasper On Wed, Aug 29, 2012 at 9:27 AM, Simon Urbanek <[email protected]> wrote: > > On Aug 29, 2012, at 2:29 AM, peter dalgaard wrote: > >> >> On Aug 29, 2012, at 02:51 , Simon Urbanek wrote: >> >>> You were on the right path - it's only about renaming vecLib to Accelerate, >>> so you just have to apply the patch below. It is annoying, since -framework >>> vecLib still works just fine so you don't even need to change the configure >>> flags. The patch will in some modified form make it to R eventually. >> >> Just to clarify: This is due to quite recent XCode changes? In my versions >> on Lion and Snow Leopard, Accelerate.h just #includes vecLib.h. >> > > It's just yet another Apple nonsense in Mountain Lion - it still just > includes vecLib but now vecLib checks whether __ACCELERATE__ is defined and > bails out with an error if it's not ... So another work-around is to set > CPPFLAGS=-D__ACCELERATE__ > > Cheers, > Simon > > >> >>> >>> Cheers, >>> Simon >>> >>> >>> Index: vecLibg95c.c >>> =================================================================== >>> --- vecLibg95c.c (revision 59442) >>> +++ vecLibg95c.c (working copy) >>> @@ -2,7 +2,7 @@ >>> #include <config.h> >>> #endif >>> >>> -#include <vecLib/vecLib.h> >>> +#include <Accelerate/Accelerate.h> >>> >>> void F77_FUNC_(rcblas_cdotu_sub,)(const int *N, const void *X, const int >>> *incX, >>> const void *Y, const int *incY, void *dotu) >>> >>> >>> >>> >>> >>> On Aug 28, 2012, at 5:22 PM, Kasper Daniel Hansen wrote: >>> >>>> I am running Lion, with the newest version of Xcode, and the 5666 >>>> build of gcc+gfortran from Simon's page. This is on Macbook pro last >>>> generation, with a quad core i7. I have installed the latest stable >>>> release of Xquartz. >>>> >>>> I am building R, not as a framework (--disable-framework), but I am >>>> using --with-blas='-framework vecLib' which at least used to be much >>>> better than the built-in BLAS. >>>> >>>> My entire configure call is >>>> ../${SRCDIR}/configure SHELL='/bin/bash' \ >>>> --prefix=/usr/local/R/R-${R_VERSION} --disable-R-framework\ >>>> CC="/usr/bin/gcc-4.2 -arch x86_64 -std=gnu99" \ >>>> CFLAGS="-g -O2 -std=gnu99 -march=nocona" \ >>>> CXX="/usr/bin/g++-4.2 -arch x86_64" \ >>>> CXXFLAGS="-g -O2 -march=nocona" \ >>>> OBJC="/usr/bin/gcc-4.2 -arch x86_64" \ >>>> F77="/usr/bin/gfortran-4.2 -arch x86_64" \ >>>> FFLAGS="-g -O2 -march=nocona" \ >>>> FC="/usr/bin/gfortran-4.2 -arch x86_64" \ >>>> FCFLAGS="-g -O2 -march=nocona" \ >>>> --enable-memory-profiling\ >>>> --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib\ >>>> --with-system-zlib\ >>>> --with-blas='-framework vecLib' --with-lapack >>>> >>>> When I build R-2.15.1-patched, I get >>>> >>>> making internet.d from >>>> ../../../../R-2.15.x-src/src/modules/internet/internet.c >>>> In file included from >>>> ../../../../R-2.15.x-src/src/modules/lapack/vecLibg95c.c:5: >>>> /System/Library/Frameworks/vecLib.framework/Headers/vecLib.h:22:4: >>>> error: #error "<vecLib/vecLib.h> is deprecated. Please #include >>>> <Accelerate/Accelerate.h> and link to Accelerate.framework." >>>> make[3]: *** [vecLibg95c.d] Error 1 >>>> make[2]: *** [make.lapack] Error 2 >>>> make[2]: *** Waiting for unfinished jobs.... >>>> making nanoftp.d from >>>> ../../../../R-2.15.x-src/src/modules/internet/nanoftp.c >>>> >>>> <SNIP> >>>> >>>> /usr/bin/gcc-4.2 -arch x86_64 -std=gnu99 -I. -I../../../src/include >>>> -I../../../../R-2.15.x-src/src/include -I/usr/local/include >>>> -DHAVE_CONFIG_H -fopenmp -fPIC -g -O2 -std=gnu99 -march=nocona -c >>>> ../../../../R-2.15.x-src/src/modules/internet/sockconn.c -o sockconn.o >>>> /usr/bin/gcc-4.2 -arch x86_64 -std=gnu99 -dynamiclib >>>> -Wl,-headerpad_max_install_names -undefined dynamic_lookup >>>> -single_module -multiply_defined suppress -L/usr/local/lib -o >>>> internet.so Rhttpd.o Rsock.o internet.o nanoftp.o nanohttp.o sock.o >>>> sockconn.o -Wl,-framework -Wl,CoreFoundation >>>> mkdir /Users/khansen/build/R/R-2.15.x-build/modules >>>> make[1]: *** [R] Error 1 >>>> make: *** [R] Error 1 >>>> >>>> So it seems that it does not like -framework vecLib. I tried with >>>> -framework Accelerate, but I get the same error. >>>> >>>> My guess is that there is some new thing I have to do here, but I >>>> tried reading the admin guide for R-devel and could not see anything >>>> particular (except I do not need -arch x86_64 anymore). >>>> >>>> Thanks, >>>> Kasper >>>> >>>> _______________________________________________ >>>> R-SIG-Mac mailing list >>>> [email protected] >>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac >>>> >>>> >>> >>> _______________________________________________ >>> R-SIG-Mac mailing list >>> [email protected] >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac >> >> -- >> Peter Dalgaard, Professor, >> Center for Statistics, Copenhagen Business School >> Solbjerg Plads 3, 2000 Frederiksberg, Denmark >> Phone: (+45)38153501 >> Email: [email protected] Priv: [email protected] >> >> >> >> >> >> >> >> >> > _______________________________________________ R-SIG-Mac mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-sig-mac
