I am the only member of my team that has the intel fortran compiler XE 15.0 being detected by XCODE. I am not sure what magic I pulled in order for the compiler to show up for me but for noone else on my team. Any insight on how to get XCODE to detect the compiler would be helpful.
They have reinstalled the compiler but XCODE still does not recognize the compiler for them. I am not sure if it matter but i am using XCODE 6.0.1 and they are all using XCODE 6.1.
That's probably it - is 6.1 even released yet? Pretty much every time Apple updates Xcode it breaks the ability for other compilers to integrate. I am sure our developers will be looking at this. Currently we claim support for 5.0 only, but 6.0 does work.
Initial release of 15.0 compiler supports Xcode 6.0, but does not support 6.1. The support will be added to the upcoming 15.0 compiler update.
Meanwhile you can enable compiler in Xcode 6.1 as follows:
$ cd /Library/Application\ Support/Developer/
$ sudo ln -s 6.0 6.1
and restart Xcode.
The problem with linking took me several days to get past. My objective was a little different as I was trying to use f2py using the intel compiler. I am not entirely sure how to link files with the intel compiler by itself but I was able to link the required files for f2py by adding the following commands to the commandline
-L/opt/intel/composer_xe_2015.0.077/mkl/lib -L/opt/intel/composer_xe_2015.0.077/compiler/lib -llibiomp5 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_intel_thread
The -L tells f2py to link the folder and the -<filename> are the files being linked. I am sure the intel guys have something similar for linking in files but I haven't tried to find it. I put the library files from the intel folder in the same folder containing my main.f file.
My original post to fix linking using f2py can be found here:
I haven't got around to moving to yosemite as yet but ifort does compile and link with mkl on xcode 5.1
eg following test program
include 'mkl_vsl.f90' program MKL_VSL_UNIFORM USE MKL_VSL_TYPE USE MKL_VSL real(kind=8) r(100) ! buffer for random numbers real(kind=8) s ! average real(kind=8) a, b ! parameters of normal distribution TYPE (VSL_STREAM_STATE) :: stream integer(kind=4) errcode integer(kind=4) i,j integer brng,method,seed,n n = 100 !buffer size s = 0.0 a = 0.0 b = 1.0 brng=VSL_BRNG_MT19937 method=VSL_RNG_METHOD_UNIFORM_STD seed=777 ! ***** Initializing ***** errcode=vslnewstream( stream, brng, seed ) ! ***** Generating ***** do i = 1,10*(1000/n) !number of blocks errcode=vdrnguniform( method, stream, n, r, a, b ) do j = 1, n s = s + r(j) end do end do s = s / 10000.0 ! ***** Deinitialize ***** errcode=vsldeletestream( stream ) ! ***** Printing results ***** print *,"Sample mean of normal distribution = ", s end Sample mean of normal distribution = 0.498502708818507 Program ended with exit code: 0
Sample mean of normal distribution = 0.498502708818507
Program ended with exit code: 0
There were some manual configs required - don't be tempted to drag the mkl files into your project if you have the library file path configured or you will get linker duplicate definition errors
The config I did in xcode was to add the MKL path to Product> Scheme> Edit Scheme then Run > Arguments then added /opt/intel/composer_xe_2015.0.077/mkl/../compiler/lib:/opt/intel/composer_xe_2015.0.077/mkl/lib to a new environment variable DYLD_LIBRARY_PATH
I also configured the Build Settings for my ifort project - gives you loads of lovely options
Seems to work on xcode 5. I have used xcode 6 and 6.1 for cocoa so I expect the config will be similar. - I recall the config is described in the manual although you may need a copy of xcode at hand and I seem to remember that there is an intel script that shows your compiler config in the build area ?
hope this helps
PS there is a graphical debugger front end called ddd which you can install via homebrew - just played with it, not really used properly
I just upgraded to OS X 10.10 in the last few days, downloaded latest xcode and ran the new Ifort service pack and xcode 6.1 (6A1042b) is working fine, just had to set up DYLD_LIBRARY_PATH in scheme
PS Instruments eg Time Profiler seems to work as well ;-)
Just tried with something more complex, xcode may not support debug but nice thing is it does show the offending assembler and the value of all variables after a runtime error