Warum erhalte ich "nicht unterstützte Architektur" -Fehler beim Installieren einer Python-Bibliothek in OSX?

1

Ich versuche eine Python-Bibliothek im Presto-Paket zu installieren http://www.cv.nrao.edu/~sransom/presto/

Mit "gmake fftfit" erhalte ich folgende Fehlermeldung:

cd fftfit_src ; f2py-2.7 -c fftfit.pyf *.f
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "fftfit" sources
creating /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7
f2py options: []
f2py: fftfit.pyf
Reading fortran codes...
    Reading file 'fftfit.pyf' (format:free)
Post-processing...
    Block: fftfit
            Block: cprof
            Block: fftfit
Post-processing (stage 2)...
Building modules...
    Building module "fftfit"...
        Constructing wrapper function "cprof"...
          c,amp,pha = cprof(y,[nmax,nh])
        Constructing wrapper function "fftfit"...
          shift,eshift,snr,esnr,b,errb,ngood = fftfit(prof,s,phi,[nmax])
    Wrote C/API module "fftfit" to file     "/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-  2.7/fftfitmodule.c"
  adding '/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7/fortranobject.c' to sources.
  adding '/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7' to include_dirs.
copying /Library/Python/2.7/site-packages/numpy-1.8.2-py2.7-macosx-10.9-    intel.egg/numpy/f2py/src/fortranobject.c ->    /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7
copying /Library/Python/2.7/site-packages/numpy-1.8.2-py2.7-macosx-10.9-intel.egg/numpy/f2py/src/fortranobject.h ->   /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7
build_src: building npy-pkg config files
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize Gnu95FCompiler
Found executable /usr/local/bin/gfortran
customize Gnu95FCompiler
customize Gnu95FCompiler using build_ext
building 'fftfit' extension
compiling C sources
C compiler: /usr/bin/clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch ppc -arch i386 -arch x86_64 -g -O2

creating /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/var
creating /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/var/folders
creating /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/var/folders/sx
creating /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp
creating  /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h00 00gp/T
creating  /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h00 00gp/T/tmp9MmLz8
creating  /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h00 00gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7
compile options: '-I/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9- x86_64-2.7 -I/Library/Python/2.7/site-packages/numpy-1.8.2-py2.7-macosx-10.9- intel.egg/numpy/core/include - I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
clang: /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64- 2.7/fftfitmodule.c
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from   /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:19:
In file included from  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/    5.1/include/limits.h:38:
In file included from /usr/include/limits.h:63:
/usr/include/sys/cdefs.h:658:2: error: Unsupported architecture
#error Unsupported architecture
 ^
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from    /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:19:
In file included from  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/ 5.1/include/limits.h:38:
In file included from /usr/include/limits.h:64:
/usr/include/machine/limits.h:8:2: error: architecture not supported
#error architecture not supported
 ^
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from    /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:
In file included from /usr/include/stdio.h:67:
In file included from /usr/include/_types.h:27:
In file included from /usr/include/sys/_types.h:33:
/usr/include/machine/_types.h:34:2: error: architecture not supported
#error architecture not supported
 ^
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from   /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:
In file included from /usr/include/stdio.h:67:
In file included from /usr/include/_types.h:27:
/usr/include/sys/_types.h:94:9: error: unknown type name '__int64_t'
typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
        ^
/usr/include/sys/_types.h:95:9: error: unknown type name '__int32_t'
typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
        ^
/usr/include/sys/_types.h:96:9: error: unknown type name '__int32_t'
typedef __int32_t       __darwin_dev_t;         /* dev_t */
        ^
/usr/include/sys/_types.h:99:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
        ^
/usr/include/sys/_types.h:100:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
        ^
/usr/include/sys/_types.h:101:9: error: unknown type name '__uint64_t'
typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
        ^
/usr/include/sys/_types.h:107:9: error: unknown type name '__darwin_natural_t'
typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
        ^
/usr/include/sys/_types.h:109:9: error: unknown type name '__uint16_t'
typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
        ^
/usr/include/sys/_types.h:110:9: error: unknown type name '__int64_t'
typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
        ^
/usr/include/sys/_types.h:111:9: error: unknown type name '__int32_t'
typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
        ^
/usr/include/sys/_types.h:131:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
        ^
/usr/include/sys/_types.h:132:9: error: unknown type name '__int32_t'
typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
        ^
/usr/include/sys/_types.h:133:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
        ^
/usr/include/sys/_types.h:134:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
        ^
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:
In file included from /usr/include/stdio.h:71:
/usr/include/sys/_types/_va_list.h:31:9: error: unknown type name '__darwin_va_list'; did you  mean '__builtin_va_list'?
typedef __darwin_va_list va_list;
        ^
note: '__builtin_va_list' declared here
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:
In file included from /usr/include/stdio.h:72:
/usr/include/sys/_types/_size_t.h:30:9: error: unknown type name '__darwin_size_t'; did you mean    '__darwin_ino_t'?
typedef __darwin_size_t        size_t; 
        ^
/usr/include/sys/_types.h:103:26: note: '__darwin_ino_t' declared here
typedef __darwin_ino64_t __darwin_ino_t;        /* [???] Used for inodes */
                     ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from   /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:19:
In file included from  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h:38:
In file included from /usr/include/limits.h:63:
/usr/include/sys/cdefs.h:658:2: error: Unsupported architecture
#error Unsupported architecture
 ^
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:19:
In file included from  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/ 5.1/include/limits.h:38:
In file included from /usr/include/limits.h:64:
/usr/include/machine/limits.h:8:2: error: architecture not supported
#error architecture not supported
 ^
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:
In file included from /usr/include/stdio.h:67:
In file included from /usr/include/_types.h:27:
In file included from /usr/include/sys/_types.h:33:
/usr/include/machine/_types.h:34:2: error: architecture not supported
#error architecture not supported
 ^
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from   /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:
In file included from /usr/include/stdio.h:67:
In file included from /usr/include/_types.h:27:
/usr/include/sys/_types.h:94:9: error: unknown type name '__int64_t'
typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
        ^
/usr/include/sys/_types.h:95:9: error: unknown type name '__int32_t'
typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
        ^
/usr/include/sys/_types.h:96:9: error: unknown type name '__int32_t'
typedef __int32_t       __darwin_dev_t;         /* dev_t */
        ^
/usr/include/sys/_types.h:99:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
        ^
/usr/include/sys/_types.h:100:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
        ^
/usr/include/sys/_types.h:101:9: error: unknown type name '__uint64_t'
typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
        ^
/usr/include/sys/_types.h:107:9: error: unknown type name '__darwin_natural_t'
typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
        ^
/usr/include/sys/_types.h:109:9: error: unknown type name '__uint16_t'
typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
        ^
/usr/include/sys/_types.h:110:9: error: unknown type name '__int64_t'
typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
        ^
/usr/include/sys/_types.h:111:9: error: unknown type name '__int32_t'
typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
        ^
/usr/include/sys/_types.h:131:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
        ^
/usr/include/sys/_types.h:132:9: error: unknown type name '__int32_t'
typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
        ^
/usr/include/sys/_types.h:133:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
        ^
/usr/include/sys/_types.h:134:9: error: unknown type name '__uint32_t'
typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
        ^
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:
In file included from /usr/include/stdio.h:71:
/usr/include/sys/_types/_va_list.h:31:9: error: unknown type name '__darwin_va_list'; did you  mean  '__builtin_va_list'?
typedef __darwin_va_list va_list;
        ^
note: '__builtin_va_list' declared here
In file included from /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7/fftfitmodule.c:16:
In file included from  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:33:
In file included from /usr/include/stdio.h:72:
/usr/include/sys/_types/_size_t.h:30:9: error: unknown type name '__darwin_size_t'; did you mean  '__darwin_ino_t'?
typedef __darwin_size_t        size_t; 
        ^
/usr/include/sys/_types.h:103:26: note: '__darwin_ino_t' declared here
typedef __darwin_ino64_t __darwin_ino_t;        /* [???] Used for inodes */
                         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: Command "/usr/bin/clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch ppc -arch   i386 -arch x86_64 -g -O2 -I/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx- 10.9-x86_64-2.7 -I/Library/Python/2.7/site-packages/numpy-1.8.2-py2.7-macosx-10.9- intel.egg/numpy/core/include - I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c  /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7/fftfitmodule.c  -o  /var/folders/sx/j_l_qvys4bv00_38pfvy3m8h0000gp/T/tmp9MmLz8/var/folders/sx/j_l_qvys4bv00_38pfvy3m8h00 00gp/T/tmp9MmLz8/src.macosx-10.9-x86_64-2.7/fftfitmodule.o" failed with exit status 1
Makefile:5: recipe for target 'fftfit' failed
gmake: *** [fftfit] Error 1

Wie kann ich dieses Architekturproblem lösen?

Emma518
quelle

Antworten:

1

Normalerweise liegt dies an der -arch ppc Flag, das in die Build-Flags übergeben wird. Ich vermute, ein Teil dieses Codes könnte aus älteren PowerPC-Tagen stammen, als OSX auf der PowerPC statt auf der x86 / Intel-Plattform lief.

Die Ausgabe beginnt hier:

C compiler: /usr/bin/clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch ppc -arch i386 -arch x86_64 -g -O2

Versuchen Sie, mit einer leeren CFLAGS-Variablen zu erstellen:

CFLAGS="" f2py-2.7 -c fftfit.pyf *.f

Wenn dies funktioniert, erbt die Build-Umgebung möglicherweise einige Compiler-Flags von einem anderen Ort.

Thomas Farvour
quelle
Dies ist die Version von Python, die ich gerade ausführte, aber ich bekomme immer noch diesen Fehler.
Emma518
Versuchen Sie, dies über XCode zu erstellen? Wenn Sie nicht alle Architekturen auf Ihrem System installiert haben, können Sie die PPC-Architektur nicht überkompilieren. Soweit ich weiß, wurde XCode 4.0+ für ppc nicht mehr unterstützt. Dies ist ein häufiges Problem mit numpy aus dem, was ich sehe: github.com/numpy/numpy/issues/1685
Thomas Farvour
Ich habe gerade versucht, diese Erweiterung von Hand mit Python 2.7 zu erstellen, und es gelang mir. Ich habe dann CFLAGS = "- arch ppc" exportiert, und der Build ist fehlgeschlagen (wie ich vermute, da ich in meiner Build-Umgebung keine PowerPC-Header habe), genauso wie bei Ihnen. Sind Sie sicher, dass Sie keine CFLAGs haben, die in Ihrer Build-Umgebung vererbt werden und an f2py-2.7 weitergeleitet werden?
Thomas Farvour