【问题标题】:Install git-core +svn fails with MacPortMacPort 安装 git-core +svn 失败
【发布时间】:2009-12-01 16:36:29
【问题描述】:

我尝试了几个技巧,全部清除,但没有运气。有什么建议吗?

sudo port install git-core +svn +doc

--->  Computing dependencies for git-core
--->  Building db46
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_db46/work/db-4.6.21/build_unix" && /usr/bin/make -j2 all " returned error 2

Command output: /bin/sh ./libtool --mode=compile /usr/bin/gcc-4.2 -c -O2 -arch x86_64  -I../dist/.. -I/opt/local/include -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers ../dist/../db_dump185/db_dump185.c
/bin/sh ./libtool --mode=compile /usr/bin/gcc-4.2 -c -I. -I../dist/.. -I/opt/local/include -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -O2 -arch x86_64  ../dist/../common/util_sig.c
 /usr/bin/gcc-4.2 -c -O2 -arch x86_64 -I../dist/.. -I/opt/local/include -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers ../dist/../db_dump185/db_dump185.c  -fno-common -DPIC -o .libs/db_dump185.o
 /usr/bin/gcc-4.2 -c -I. -I../dist/.. -I/opt/local/include -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -O2 -arch x86_64 ../dist/../common/util_sig.c  -fno-common -DPIC -o .libs/util_sig.o
../dist/../db_dump185/db_dump185.c: In function 'main':
../dist/../db_dump185/db_dump185.c:211: warning: assignment makes pointer from integer without a cast
../dist/../db_dump185/db_dump185.c:213: warning: assignment makes pointer from integer without a cast
../dist/../db_dump185/db_dump185.c:228: error: 'DB' has no member named 'seq'
../dist/../db_dump185/db_dump185.c:228: error: 'R_NEXT' undeclared (first use in this function)
../dist/../db_dump185/db_dump185.c:228: error: (Each undeclared identifier is reported only once
../dist/../db_dump185/db_dump185.c:228: error: for each function it appears in.)
../dist/../db_dump185/db_dump185.c:233: error: 'DB' has no member named 'seq'
../dist/../db_dump185/db_dump185.c: In function 'db_hash':
../dist/../db_dump185/db_dump185.c:261: error: 'DB' has no member named 'internal'
../dist/../db_dump185/db_dump185.c:263: error: 'DB' has no member named 'internal'
../dist/../db_dump185/db_dump185.c: In function 'db_btree':
../dist/../db_dump185/db_dump185.c:288: error: 'DB' has no member named 'internal'
make: *** [db_dump185.lo] Error 1
make: *** Waiting for unfinished jobs....
 /usr/bin/gcc-4.2 -c -I. -I../dist/.. -I/opt/local/include -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -O2 -arch x86_64 ../dist/../common/util_sig.c -o util_sig.o >/dev/null 2>&1


Error: The following dependencies failed to build: p5-svn-simple subversion-perlbindings apr-util db46 cyrus-sasl2 gettext neon serf subversion p5-term-readkey rsync popt
Error: Status 1 encountered during processing.

【问题讨论】:

    标签: git svn installation macports


    【解决方案1】:

    有人建议(例如herehere)将 /usr/local 移到一边,然后执行 port clean db46 然后安装会解决问题。

    这对我不起作用。但是,这样做了:

    sudo mv /usr/local /usr/local.hold
    # using -f to ignore dependencies, since we're about to re-install it
    sudo port -f uninstall db46
    sudo port clean db46
    # See note below, you may actually want to install something different
    # (like your git-core install)
    sudo port install db46
    sudo mv /usr/local.hold /usr/local
    

    我实际上不知道 /usr/local 步骤是否与我的情况相关——我怀疑不是,因为我没有在那里安装 db46。我认为只是以前版本的 db46 引起了问题。

    这让我觉得这是 db46 和/或其端口定义或配置脚本或其他东西中的一个错误,这导致它引用安装在系统上某处的头文件,而不是来自构建的相同头文件的版本树。不过,我还没有深入研究。

    另请注意:我实际上是为另一个端口构建它,它想要 +universal 变体(不知道为什么,但无论如何)——所以我上面的端口安装步骤有点没用,因为当我在我想要的另一个包,它用 +universal 重新做了,又遇到了同样的问题!叹。尽管如此,再次执行sudo port -f uninstall db46sudo port clean db46,然后进行我的主要安装,一切正常。

    【讨论】:

    • 这似乎很彻底,但是很久以前我发布了这个问题,我记得我走了另一条路,我不想错过它。感谢您与其他人分享它(也许将来是我)
    • 不客气。是的,希望其他人会发现它有用。这个页面是我所做的一些搜索或其他搜索的热门搜索,所以我想我会添加答案,一旦我想通了。 ;) 很高兴您同时发现了其他东西。
    【解决方案2】:

    您最近是否升级到 SNOW LEOPARD(或任何其他 Mac OS X 版本)?

    按照this 指导,您的问题将迎刃而解。

    【讨论】:

    • 谢谢巴勃罗。我以前经历过雪豹的黑暗日子,希望它们结束了。尽管如此,我还是尝试了你的建议,同样的事情:(
    • 哇,卸载所有东西,然后挑选要重新安装的东西,对吧?听起来有时可能是个好主意,但这也很有破坏性。而且它不一定真正解决这个问题(根据 OP 的评论),所以,-1 表示“你的问题会消失”的声明。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    相关资源
    最近更新 更多