Hi Simon,

On a related note, there has been progress on openmp in llvm/clang:

http://www.phoronix.com/scan.php?page=news_item&px=MTQ0NjQ

http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-August/065169.html

http://clang-omp.github.io/

That might be an alternative route to consider if needed. Clang (I have not openmp/clang) usually builds easily on Mac OS.

Best, Anirban

On Sep 13, 2013, at 2:16 AM, Simon Zehnder <szehnder@uni-bonn.de<mailto:szehnder@uni-bonn.de>> wrote:

Simon,

I found the fix: I needed the configure option --with-included-gettext. This is now the whole sequence of processes I did:

1. Install XCode (newest version)
2. Install Command Line Tools (in XCode)
3. On the shell I used sudo xcodebuild -license
4. I installed MacTex and MacPorts
5. In MacPorts I installed the ports: gcc48 (GCC 4-8-1 Compiler), valgrind-devel, gettext
6. I had to remove /usr/local/bin and /usr/local/sbin from my PATH variable, as these folders do not exist.
7. I had to add /usr/texbin to the PATH variable for R to find the pdflatex command.
8. Then I installed the Oracle JDK and added this to the config.site file in the R-3.0.1 folder:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/HomeJAVA_CPPFLAGS="-I/${JAVA_HOME}/include -I/${JAVA_HOME}/include/darwin"
JAVA_LD_LIBRARY_PATH="${JAVA_HOME}/jre/lib/server"
JAVA_LIBS="-L/${JAVA_HOME}/jre/lib/server -ljvm"
9. On the shell I used:
export LANG=en_US.UTF-8
export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:/usr/lib/pkgconfig
10. In a '~/Downloads/build' folder run:
../R-3.0.1/configure --bindir=/usr/bin --sbindir=/usr/bin --with-system-zlib --enable-memory-profiling --with-blas="-framework Accelerate" --with-lapack --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib --with-valgrind-instrumentation=2 OBJC="clang" LDFLAGS=-L/opt/local/lib CPPFLAGS=-I/opt/local/include --with-included-gettext
11. make && make check && sudo make install
12. I run on the shell (do not know why --bindir and --sbindir didn't make it)
sudo ln -s /Library/Frameworks/R.framework/Resources/bin/R /usr/bin/R
13. I had to add
export LANG=en_US.UTF-8 in .profile
(defaults write org.R-project.R force.LANG en_US.UTF-8 did not work, did it several times with reopening the terminal)

I installed the packages nloptr (this still worked) and Rcpp (this worked now as well - the ld error: library not found: lintel, has gone)

So far this works quite nice. If there are some updates on stability I let you know.

My config.log can be seen here:

https://gist.github.com/anonymous/6541684


Thanks again for your help!

Simon

On Sep 12, 2013, at 5:16 PM, Simon Zehnder <szehnder@uni-bonn.de<mailto:szehnder@uni-bonn.de>> wrote:

Simon,

thanks for the help. This did make the work. I wonder why the --bindir and --sbindir options during configure did not let that happen.

R runs on my system and here is what I precisely did:

1. Install XCode (newest version)
2. Install Command Line Tools (in XCode)
3. On the shell I used sudo xcodebuild -license
4. I installed MacTex and MacPorts
5. In MacPorts I installed the ports: gcc48 (GCC 4-8-1 Compiler), valgrind-devel, gettext
6. I had to remove /usr/local/bin and /usr/local/sbin from my PATH variable, as these folders do not exist.
7. I had to add /usr/texbin to the PATH variable for R to find the pdflatex command.
8. Then I installed the Oracle JDK and added this to the config.site file in the R-3.0.1 folder:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/HomeJAVA_CPPFLAGS="-I/${JAVA_HOME}/include -I/${JAVA_HOME}/include/darwin"
JAVA_LD_LIBRARY_PATH="${JAVA_HOME}/jre/lib/server"
JAVA_LIBS="-L/${JAVA_HOME}/jre/lib/server -ljvm"
9. On the shell I used:
export LANG=en_US.UTF-8
export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig:/usr/lib/pkgconfig
10. In a '~/Downloads/build' folder run:
../R-3.0.1/configure --bindir=/usr/bin --sbindir=/usr/bin --with-system-zlib --enable-memory-profiling --with-blas="-framework Accelerate" --with-lapack --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib --with-valgrind-instrumentation=2 OBJC="clang" LDFLAGS=-L/opt/local/lib CPPFLAGS=-I/opt/local/include
11. make && make check && sudo make install
12. I run on the shell (do not know why --bindir and --sbindir didn't make it)
sudo ln -s /Library/Frameworks/R.framework/Resources/bin/R /usr/bin/R
13. I had to add
export LANG=en_US.UTF-8 in .profile
(defaults write org.R-project.R force.LANG en_US.UTF-8 did not work, did it several times with reopening the terminal)

All seemed to work fine. I installed the package nloptr (which did not install in my last R app) and it did compile without a hassle (that's great!). But then with Rcpp I got the error: ld: library not found for -lintl. I looked into the files of the gcc48 of MacPorts under /opt/local/lib and I have three libraries in there: libintl.8.dylib, libintl.a, libintl.la. I do not know though if this error wrong linking via R's environment variables or I miss an export in my .profile.

I also have now a warning when using MacPorts, which is already reported: http://openradar.appspot.com/11894054

Here is my config.log

https://gist.github.com/anonymous/6539093

and here the output from Sys.getenv():

https://gist.github.com/anonymous/6539133

So, I cannot tell, if this should be considered a stable build on the Mac. But maybe everything can be solved quite easily.


Best

Simon


On Sep 12, 2013, at 2:54 PM, Simon Urbanek <simon.urbanek@r-project.org> wrote:


On Sep 12, 2013, at 5:50 AM, Simon Zehnder wrote:

I compiled R and made a check-all without errors (only for the PDF manuals - but this is ok). Then I used

sudo make install

to install it to the R.framework. Now, when I want to use R on the shell no command can be found, as the installation has not installed the binaries in /usr/bin. If I try to change my PATH variable and add /Library/Frameworks/R.framework/Ressources/bin it does not change a thing, I still get the error: -bash: R: command not found. The only thing to make it work is to go into the folder /Libraries/Frameworks/R.framework/Ressources/bin/ and start it via ./R.


What the CRAN installer does is essentially

sudo ln -s /Library/Frameworks/R.framework/Resources/bin/R /usr/bin/R

Obviously, changing the PATH works as well  - make sure you check the value of PATH in the session you're running (bash uses a cached lookup, but recent versions should have no trouble re-trying after PATH changes) -- assuming running
/Libraries/Frameworks/R.framework/Ressources/bin/R
works. If it doesn't then maybe check the version symlinks.

Re you earlier post - FSF builds of gcc don't support ObjC with Apple runtime, so you have to use Apple's clang (as you did). In my tests few months ago gcc 4.7/4.8 was too unreliable - it was miscompiling R so things were breaking randomly at run-time. If your build seems reliable, please share with use the exact version and settings.

Thanks,
Simon


I remember no such behaviour for prior builds of R. It seems Mac has changed something since my last compilation of R sources.

Can anyone help?

Best

Simon

On Sep 12, 2013, at 10:49 AM, Simon Zehnder <szehnder@uni-bonn.de> wrote:

I did some progress on my problem:

Using LDFLAGS and CPPFLAGS on the shell instead of in the config.site file changes the directories and make can find all the libraries.

The next thing that came up, was the Mac-specific Cocoa issue. When I compile R sources with OBJC="gcc -arch x86_64" I get the following outputs:

config.log: https://gist.github.com/anonymous/6534550

make.log: https://gist.github.com/anonymous/6534560

with errors starting in line 883 of the make.log. So it seems the gcc cannot handle the .m files properly.

Then I used OBJC="clang" and I get the following output:

config.log: https://gist.github.com/anonymous/6534614

make.log: https://gist.github.com/anonymous/6534606

Here I get (see line 879 in the make.log) some weird warning. I know these are only warnings, they do not influence the way R works later on, but I am interested why gcc cannot handle the Cocoa files at all and clang has these warnings.


Best

Simon


On Sep 11, 2013, at 11:08 PM, Simon Zehnder <szehnder@uni-bonn.de> wrote:

Dear R-Users and R-Devels,

I made a brand new install of Mac OS X Mountain Lion 10.8.4 on a new hard drive and want to build R from sources. As I use OpenMP 3.1 in my C++ extensions I used MacPorts to get the gcc48 compiler collection. Installation run without a hassle and I set the mp-gcc48 active.

I downloaded the R-3.0.1 tar.gz and extracted it. Then I changed the config.site to the following:

https://gist.github.com/anonymous/6529767

Furthermore I had to change my PATH variable in the .profile as it included /usr/local/bin:/usr/local/sbin and I have not such a folder in my /usr.

Now when I run configure I get the following config.log

https://gist.github.com/anonymous/6529743

with the warning:  "ld: warning: directory not found for option '-L/usr/local/lib' "on line 217. This warning becomes an error if running the make command. I still see the C linker using -L/usr/local/lib which does not exist. I changed the LDFLAGS in the config.site to -L/opt/local/lib but Rs configure script seems to be very resistant to my new proposal.

I need some help. How should I proceed? Which FLAGS can change the directory the make script searches for libraries? What configure options should be used with R-3.0.1 on OS X 10.8.4 using gcc-4.8.1?


Best

Simon

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac




_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org<mailto:R-SIG-Mac@r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-sig-mac


	[[alternative HTML version deleted]]

