我已经通过enthought 7.2软件包安装了python 2.7,我一直在尝试安装pyraf软件包,但每次我尝试安装它时都会得到以下内容:
copying lib/pyraf/wutil.py -> build/lib.macosx-10.5-x86_64-2.7/pyraf
running build_ext
building 'pyraf.sscanfmodule' extension
creating build/temp.macosx-10.5-x86_64-2.7
creating build/temp.macosx-10.5-x86_64-2.7/src
gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -DNDEBUG -g -O3 -arch x86_64 -isysroot
/Developer/SDKs/MacOSX10.5.sdk
-I/Library/Frameworks/EPD64.framework/Versions/7.1/include/python2.7
-I/usr/X11R6/include
-I/Library/Frameworks/EPD64.framework/Versions/7.1/include/python2.7 -c
src/sscanfmodule.c -o build/temp.macosx-10.5-x86_64-2.7/src/sscanfmodule.o
gcc: error: x86_64: No such file or directory
gcc: error: x86_64: No such file or directory
gcc: error: unrecognized option ‘-arch’
gcc: error: unrecognized option ‘-arch’
error: command 'gcc' failed with exit status 1
所以我认为这是一个架构问题,所以我重新安装了包(i386,XCode),然后得到了这个
running install
running build
running build_py
copying lib/pyraf/svn_version.py -> build/lib.macosx-10.5-i386-2.7/pyraf
running build_ext
building 'pyraf.sscanfmodule' extension
gcc -fno-strict-aliasing -fno-common -dynamic -arch i386 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -DNDEBUG -g -O3 -arch i386 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -
I/Library/Frameworks/Python.framework/Versions/7.2/include/python2.7 -
I/usr/X11R6/include -
I/Library/Frameworks/Python.framework/Versions/7.2/include/python2.7 -c
src/sscanfmodule.c -o build/temp.macosx-10.5-i386-2.7/src/sscanfmodule.o
gcc: error: i386: No such file or directory
gcc: error: i386: No such file or directory
gcc: error: unrecognized option ‘-arch’
gcc: error: unrecognized option ‘-arch’
之后在我看来,真正的问题是gcc版本问题,所以我找了任何安装的gcc,我发现了这个:
Last login: Wed Feb 29 11:06:40 on ttys009
Giotto:~ Huguito$ which gcc
/usr/local/bin/gcc
Giotto:~ Huguito$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin10.7.0/4.6.0/lto-wrapper
Target: x86_64-apple-darwin10.7.0
Configured with: ../gcc-4.6.0/configure --enable-languages=fortran,c++
Thread model: posix
gcc version 4.6.0 (GCC)
gcc-4.2
alias gcc="/usr//bin/gcc-4.2"
Giotto:~ Huguito$ which gcc
/usr/local/bin/gcc
Giotto:~ Huguito$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5666.3~6/src/configure --disable-checking --enable-
werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --
program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-
apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --
target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)
gcc-4.0:
alias gcc="/usr//bin/gcc-4.0"
Giotto:~ Huguito$ which gcc
/usr/local/bin/gcc
Giotto:~ Huguito$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc_40/gcc_40-5494~315/src/configure --disable-checking -
enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --
program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0
--with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-arch=apple --with-
tune=generic --host=i686-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5494)
所以我决定使用.bash_profile文件中的别名行指出正确的gcc版本,它根本不起作用。
我尝试设置gcc环境并构建pyraf setup.py并得到了这个:
Giotto:pyraf-dev Huguito$ export CC=/usr/bin/gcc-4.2
Giotto:pyraf-dev Huguito$ python setup.py build
running build
running build_py
copying lib/pyraf/svn_version.py -> build/lib.macosx-10.5-i386-2.7/pyraf
running build_ext
building 'pyraf.sscanfmodule' extension
/usr/bin/gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -arch i386 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -DNDEBUG -g -O3 -arch i386 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -
I/Library/Frameworks/Python.framework/Versions/7.2/include/python2.7 -
I/usr/X11R6/include -
I/Library/Frameworks/Python.framework/Versions/7.2/include/python2.7 -c
src/sscanfmodule.c -o build/temp.macosx-10.5-i386-2.7/src/sscanfmodule.o
gcc -bundle -undefined dynamic_lookup -g -arch i386 build/temp.macosx-10.5-i386-
2.7/src/sscanfmodule.o -o build/lib.macosx-10.5-i386-2.7/pyraf/sscanfmodule.so
gcc: error: i386: No such file or directory
gcc: error: unrecognized option ‘-arch’
error: command 'gcc' failed with exit status 1
如果我键入gcc命令但没有-arch i386标志:
Giotto:pyraf-dev Huguito$ gcc -fno-strict-aliasing -fno-common -dynamic -isysroot
/Developer/SDKs/MacOSX10.5.sdk -DNDEBUG -g -O3 -isysroot /Developer/SDKs/MacOSX10.5.sdk
-I/Library/Frameworks/Python.framework/Versions/7.2/include/python2.7 -
I/usr/X11R6/include -
I/Library/Frameworks/Python.framework/Versions/7.2/include/python2.7 -c
src/sscanfmodule.c -o build/temp.macosx-10.5-i386-2.7/src/sscanfmodule.o
它似乎编译得很好,但是在重新编译之后它会忽略它并且根本不起作用。
答案 0 :(得分:0)