MacPort 安装 git-core +svn 失败
我尝试了几种技巧,全部清理干净,但没有运气。有什么建议吗?
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.
I tried several tricks, clean all, and no luck. Any tips?
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
已建议(例如此处和此处)将 /usr/local 移到一边,然后执行 port clean db46 然后安装将解决问题。
这对我不起作用。然而,这确实是:
我实际上不知道 /usr/local 步骤是否与我的情况相关 - 我怀疑不是,因为我在那里没有安装 db46。我认为这只是 db46 的早期版本引起的问题。
我觉得这是 db46 和/或其端口定义或配置脚本或其他内容中的错误,这导致它引用安装在系统某处的头文件,而不是构建树中同一头文件的版本。不过,我还没有深入研究它。
另请注意:我实际上是为另一个端口构建这个,它想要+通用变体(不知道为什么,但无论如何)——所以我上面的端口安装步骤有点无用,因为当我在另一个包上进行端口安装时我想要,它用+universal重新做了一遍,又遇到了同样的问题!叹。尽管如此,再次执行 sudo port -f uninstall db46 和 sudo port clean db46 然后进行主安装使一切正常。
It has been suggested (e.g. here and here) that moving aside /usr/local and then doing port clean db46 and then installing will fix things.
This didn't work for me. However, this did:
I don't actually know if the /usr/local steps were relevant in my case -- I suspect not, as I don't have db46 installed there. I think it was just that a previous version of db46 was causing problems.
This strikes me as being a bug in db46 and/or its port definition or configure script or something, which causes it to reference a header file that's installed on the system somewhere instead of a version of the same header file from the build tree. I haven't dug into it to find out, though.
Also note: I was actually building this for another port, and it wanted the +universal variant (not sure why, but whatever) -- so my port install step above was kinda useless, because when I did a port install on the other package I wanted, it re-did it with +universal, and had the same problem again! Sigh. Still, doing a
sudo port -f uninstall db46
andsudo port clean db46
again and then doing my main install made everything work.您最近是否升级到 SNOW LEOPARD(或任何其他 Mac OS X 版本)?
遵循此指南,您的问题就会消失。
Did you upgrade to SNOW LEOPARD (or any other Mac OS X version) recently?
Follow this guide and your problems will go away.