2009-07-25 10 views
6

私は水銀をビルドしようとしています。1.3.1。私はこれまで、Mac OS Xマシンと、実行しているLinux Ubuntu仮想マシンでこれを試してきました。Ubuntu LinuxでMercurial 1.3.1をビルドする

メイクの実行中にエラーが発生します。私はバイナリがLinuxとMacの両方で利用可能であることを知っていますが、自分のコピーを作成したいのです。私はいつも建物を飛び越えてきました。私はこれをやる方法を学びたいと思っています。

しかし、今、私は助けが必要です。ここで私のUbuntu Linux v9.04マシンからのビルドプロセス全体の結果です...エラーerror: Python.h: No such file or directory最後に。これが誰かのトラブルシューティングを助ける場合に備えて、私はすべての結果を含めました。

[email protected]:~/Desktop/mercurial-1.3.1$ sudo make install 
[sudo] password for frank: 
python setup.py build 
running build 
running build_py 
creating build 
creating build/lib.linux-i686-2.6 
creating build/lib.linux-i686-2.6/mercurial 
copying mercurial/dirstate.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/bundlerepo.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/subrepo.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/httprepo.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/__version__.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/changelog.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/repo.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/config.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/byterange.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/verify.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/encoding.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/keepalive.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/sshserver.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/fancyopts.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/__init__.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/merge.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/i18n.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/archival.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/match.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/mail.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/help.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/win32.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/posix.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/repair.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/dispatch.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/error.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/templatefilters.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/localrepo.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/sshrepo.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/node.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/templater.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/streamclone.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/context.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/strutil.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/ignore.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/hook.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/mdiff.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/ui.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/lsprofcalltree.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/transaction.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/commands.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/windows.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/revlog.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/store.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/lock.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/changegroup.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/lsprof.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/manifest.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/url.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/util.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/demandimport.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/graphmod.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/statichttprepo.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/cmdutil.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/extensions.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/filemerge.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/hg.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/filelog.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/copies.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/hbisect.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/patch.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/ancestor.py -> build/lib.linux-i686-2.6/mercurial 
copying mercurial/simplemerge.py -> build/lib.linux-i686-2.6/mercurial 
creating build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/webutil.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/request.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/wsgicgi.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/protocol.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/server.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/__init__.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/common.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/hgwebdir_mod.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/webcommands.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
copying mercurial/hgweb/hgweb_mod.py -> build/lib.linux-i686-2.6/mercurial/hgweb 
creating build/lib.linux-i686-2.6/hgext 
copying hgext/pager.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/purge.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/graphlog.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/win32text.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/gpg.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/hgk.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/color.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/bugzilla.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/bookmarks.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/__init__.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/notify.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/record.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/interhg.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/rebase.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/churn.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/keyword.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/mq.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/transplant.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/acl.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/children.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/fetch.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/extdiff.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/win32mbcs.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/share.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/parentrevspec.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/hgcia.py -> build/lib.linux-i686-2.6/hgext 
copying hgext/patchbomb.py -> build/lib.linux-i686-2.6/hgext 
creating build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/bzr.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/convcmd.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/gnuarch.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/cvsps.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/__init__.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/git.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/p4.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/subversion.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/transport.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/common.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/hg.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/monotone.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/cvs.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/filemap.py -> build/lib.linux-i686-2.6/hgext/convert 
copying hgext/convert/darcs.py -> build/lib.linux-i686-2.6/hgext/convert 
creating build/lib.linux-i686-2.6/hgext/highlight 
copying hgext/highlight/highlight.py -> build/lib.linux-i686-2.6/hgext/highlight 
copying hgext/highlight/__init__.py -> build/lib.linux-i686-2.6/hgext/highlight 
creating build/lib.linux-i686-2.6/hgext/zeroconf 
copying hgext/zeroconf/__init__.py -> build/lib.linux-i686-2.6/hgext/zeroconf 
copying hgext/zeroconf/Zeroconf.py -> build/lib.linux-i686-2.6/hgext/zeroconf 
creating build/lib.linux-i686-2.6/hgext/inotify 
copying hgext/inotify/server.py -> build/lib.linux-i686-2.6/hgext/inotify 
copying hgext/inotify/__init__.py -> build/lib.linux-i686-2.6/hgext/inotify 
copying hgext/inotify/common.py -> build/lib.linux-i686-2.6/hgext/inotify 
copying hgext/inotify/client.py -> build/lib.linux-i686-2.6/hgext/inotify 
creating build/lib.linux-i686-2.6/hgext/inotify/linux 
copying hgext/inotify/linux/__init__.py -> build/lib.linux-i686-2.6/hgext/inotify/linux 
copying hgext/inotify/linux/watcher.py -> build/lib.linux-i686-2.6/hgext/inotify/linux 
running build_ext 
building 'mercurial.base85' extension 
creating build/temp.linux-i686-2.6 
creating build/temp.linux-i686-2.6/mercurial 
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c mercurial/base85.c -o build/temp.linux-i686-2.6/mercurial/base85.o 
mercurial/base85.c:12:20: error: Python.h: No such file or directory 
mercurial/base85.c: In function ‘b85prep’: 
mercurial/base85.c:23: warning: implicit declaration of function ‘memset’ 
mercurial/base85.c:23: warning: incompatible implicit declaration of built-in function ‘memset’ 
mercurial/base85.c: At top level: 
mercurial/base85.c:28: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token 
mercurial/base85.c:76: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token 
mercurial/base85.c:141: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘methods’ 
mercurial/base85.c:150: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘initbase85’ 
error: command 'gcc' failed with exit status 1 
make: *** [build] Error 1 

答えて

12

あなたのpython-devパッケージがインストールされていることを確認してください:Googleで

apt-get install python-dev 
+0

私はPython 2.6.2を持っています –

+0

pythonとpython-devの両方のパッケージがインストールされている必要があります。上記のコマンドを実行し、Mercurialのインストールを再度実行してください。 – Jon

+0

ありがとうございます。私は "Python"とPython-devの違いが分かっていませんでした。 –

2

まず結果:http://ubuntuforums.org/showthread.php?t=497109

をその助けをしていますか?

EDIT:Linux用です。 OS XではPython.hがデベロッパーツールをインストールした場合にのみインストールされることは確かです。あなたはそれらをインストールしましたか?

+0

はい、これは助けましたが、コマンドが答えであったので、私はJonにそれを渡さなければなりません。 –

+0

はい、Mac OS用の開発ツールがあります。しかし、この特定の投稿は私のUbuntuセットアップ用です。 –

+0

ああ、あなたはOS Xのビルドが成功したかどうかは言及していませんでした。元の質問から、それはそうではなかったように聞こえました。 –

2

私はあなたがソースからビルドしたい知っているが、OS X(および他の場所)のために、あなたは単にPythonのeasy_installを(Setuptoolsとそれを得る)を使用することができます:Mercurialのは、Pythonで書かれているので

sudo easy_install mercurial 

を。これは、最新バージョン(執筆時点で1.3.1)を検出し、(私はMacPortsのかフィンクを使用していない)で大騒ぎとうまくそれをインストールします。私は、Mac OS 10.4でPython 2.6を(実行

/Library/Frameworks/Python.framework/Versions/2.6/bin/ 

。 11)、これはまた、Mercurial OS X installer package(2009年7月25日時点の1.2.1のみ)のPython 2.5が必要であるとの苦情を回します。

+0

チップをありがとう。 –

関連する問題