Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

XCODE 6 does not detect fortran compiler for my team but XCODE detects compiler for me

james_r_1
Beginner
769 Views

Hello,

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.

Thanks!

0 Kudos
9 Replies
Steven_L_Intel1
Employee
769 Views

Reinstall the compiler. You need to do this after updating Xcode.

0 Kudos
james_r_1
Beginner
769 Views

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.

0 Kudos
Steven_L_Intel1
Employee
769 Views

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.

0 Kudos
Denis_B_Intel1
Employee
769 Views

Hello james,

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.

Thanks,
Denis

0 Kudos
Anagnostou__Georgios
769 Views
Hello! I installed Intel Parallel Studio XE Composer Edition for Fortran OS X: 2015.0.077 on a MacBook Pro, 2.8 GHz Intel Core i7, under MacOSX 10.10 Yosemite, Xcode 6.0.1 (Xcode 6.1 does note recognize ifort15 unfortunately). The compiler works well, but cannot link the program. It seems that there is something wrong with the MKL linking (or with OMP?). In the attached file you can see the error messages produced when attempting to link the code as well as a compilation statement. Do I make a mistake in the settings? Kind regards, George
0 Kudos
james_r_1
Beginner
769 Views

Hello George,

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:

http://stackoverflow.com/questions/26663199/f2py-how-do-i-fix-symbol-not-found-errors-such-as-kmpc-begin

--james

0 Kudos
steve_o_
Beginner
769 Views

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

Screen Shot 2014-11-08 at 16.10.47.png

 

 

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

 

0 Kudos
steve_o_
Beginner
769 Views

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

 

 

0 Kudos
steve_o_
Beginner
769 Views

 

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

0 Kudos
Reply