0

私はpytho2.5.6のソースコードを読んで学ぼうとしており、コードを変更するたびにコードを再コンパイルしようとしています。

しかし、次のコマンドを使用してソース コードをコンパイルすると、機能しないようです。

./configure --prefix=/path/to/somewhere/that/don't/messup/myenv/
make

の後make、コンソールには次のようなエラーが表示されます。

cc1: error: unrecognized command line option "-Wno-long-double" 

Google を検索しましたが、使用している gcc(4.2.1) は python2.5.6 と互換性がないようです。

私のsysのいくつかの情報:

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Xcode 4.6.2(installed via the xcode command cline tool )
python2.5.6 source code(download from python.org)

私は次のようないくつかの解決策を試しました:

1. 2.5.4 などの diff python コード バージョンをダウンロードし、手順をもう一度実行します。

2.その後configure、Makefileを変更し、削除します--Wno-long-doubleが、新しいエラーは次のように表示されました:

        ➜  Python-2.5.6  make
        gcc -c -fno-strict-aliasing -no-cpp-precomp -mno-fused-madd -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes  -I. -IInclude -I./Include   -DPy_BUILD_CORE -o Python/mactoolboxglue.o Python/mactoolboxglue.c
        In file included from Include/Python.h:57,
                         from Python/mactoolboxglue.c:26:
        Include/pyport.h:547: warning: ‘struct winsize’ declared inside parameter list
        Include/pyport.h:547: warning: its scope is only this definition or declaration, which is probably not what you want
        Include/pyport.h:548: warning: ‘struct winsize’ declared inside parameter list
        In file included from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:67,
                         from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:38,
                         from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:18,
                         from /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20,
                         from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:18,
                         from /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20,
                         from Include/pymactoolbox.h:10,
                         from Python/mactoolboxglue.c:27:
        /usr/include/AvailabilityMacros.h:109:14: warning: #warning Building for Intel with Mac OS X Deployment Target < 10.4 is invalid.
        In file included from Python/mactoolboxglue.c:27:
       .......
       Python/mactoolboxglue.c: In function ‘MediaObj_Convert’:
       Python/mactoolboxglue.c:431: error: ‘cobj’ undeclared (first use in this function)
       Python/mactoolboxglue.c:431: error: too many arguments to function ‘PyMacGluePtr_MediaObj_Convert’
       make: *** [Python/mactoolboxglue.o] Error 1

では、gcc4.0 を手動でインストールする方法はあるのでしょうか?

PS: 私が python2.5.6 を使用する理由は、中国語で書かれた本を読んだからです。または、2.7 のソース コードを読むのが最善の解決策かもしれません =.=....うーん.....

4

0 に答える 0