2015-10-06 1 views
2

J'ai essayé de mettre à niveau vers El-Capitan et Xcode 7.0 et maintenant gfortran ne fonctionne pas. Chaque fois que je lance gfortran, je reçois des erreurs qui recherche Google ne semble pas résoudre si je demande un dépassement de pile:gfortran ne fonctionne pas après la mise à niveau vers El Capitan

Je suis en train de compiler un programme exemple minimal:

program hello 
print *, "Hello World" 
end program hello 

Quand je lance gfortran test.f

gfortran: warning: couldn’t understand kern.osversion ‘15.0.0 
ld: library not found for -lgcc_s.10.4 
collect2: error: ld returned 1 exit status 

Je ne suis pas inquiet au sujet de l'avertissement, mais l'erreur de la ld est ce qui me dérange vraiment. Il y a libgcc_s.10.4.tbd dans le dossier/usr/lib mais il ne semble pas être utilisé par gfortran.

Quelqu'un peut-il m'aider à résoudre ce problème, car je voudrais utiliser gfortran pour compiler certaines bibliothèques?

Plus d'informations: en cours d'exécution gfortran -v sorties

gfortran: warning: couldn’t understand kern.osversion ‘15.0.0 
Using built-in specs. 
COLLECT_GCC=gfortran 
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin12.2.0/4.8.0/lto-wrapper 
Target: x86_64-apple-darwin12.2.0 
Configured with: ../gcc-4.8-20120930/configure --enable languages=c++,fortran 
Thread model: posix 
gcc version 4.8.0 20120930 (experimental) (GCC) 
+0

Où avez-vous installé gfortran à partir de (par exemple, macports, homebrew, manuellement, etc.)? – casey

+0

Je pense que c'est à partir des outils de ligne de commande installés via "xcode-select --install" Je n'ai pas homebrew ou macports (que je connais). – jdwhitfield

+0

dans ce cas, qu'est-ce que 'gfortran -v' imprime. AFAIK xcode ne fournit pas de compilateur Fortran et le gcc qu'ils expédient est juste un frontal pour llvm/clang. – casey

Répondre

3

La version de gfortran vous avez (4.8 installé dans /usr/local) n'est pas une version de GCC que Apple aurait distribué avec Xcode (autant que je sache, ils ne sont jamais arrivés à un version de GCC que les nouvelles avant de passer à LLVM, qui n'a pas frontal Fortran La version de gcc distribué avec Xcode 7 sur El Capitan s'identifie comme:.

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 
Apple LLVM version 7.0.0 (clang-700.0.72) 
Target: x86_64-apple-darwin15.0.0 
Thread model: posix 

Votre version est venu d'ailleurs et est o Assez pour ne pas connaître la cible x86_64-apple-darwin15.0.0. Vous devrez mettre à jour ce compilateur pour obtenir un gfortran fonctionnel. Les deux macports et homebrew fournissent des installations faciles de diverses versions de gcc/gfortran sur OS X el capitan, et je recommanderais d'utiliser un de ceux pour installer gcc. Alternativement, vous pouvez retrouver tout ce que vous avez utilisé pour installer gcc 4.8 avant et voir si elles fournissent une mise à jour pour el capitan.

+0

Comment puis-je obtenir la version xcode? – jdwhitfield

+0

@jdwhitfield La version xcode de gcc se trouve dans '/ usr/bin'. Vous pouvez l'appeler directement comme '/ usr/bin/gcc' ou changer votre' PATH' pour qu'il soit trouvé en premier. Vous pouvez interroger sa version sous la forme '/ usr/bin/gcc -v'. Il utilisera lvm/clang/clang ++ pour compiler C, C++, ObjC mais la version Xcode n'a pas de frontal Fortran et pas de qualité de production Le frontal Fortran existe pour llvm. – casey