mac上gentoo-prefix系统安装git svn分布式

sunshine技术博客 sunshine技术博客

本文是记录在mac的gentoo-prefix上安装git svn的问题总结,感兴趣的朋友可以参考一下,或许你也会遇到这些小问题折腾,之前在mac上安装了gentoo-prefix,但是在emerge git的时候,会发现如果增加了subversion这个USE,就会编译失败.

从编译失败的错误上,可以看出,编译失败的来源是svn相关的代码,然后错误是链接的时候提示一些符号找不到,代码如下:

  1. Undefinedsymbolsforarchitecturex86_64:
  2. "_libintl_ngettext",referencedfrom:
  3. _show_date_relativeinlibgit.a(date.o)
  4. "_libintl_gettext",referencedfrom:
  5. _show_date_relativeinlibgit.a(date.o)
  6. _warn_on_inaccessibleinlibgit.a(wrapper.o)
  7. _xgetpwuid_selfinlibgit.a(wrapper.o)
  8. ld:symbol(s)notfoundforarchitecturex86_64
  9. --phpfensi.com

大致可以看出,是intl相关的库没有链接,在gentoo的bugzilla上也查到了类似的bug,按照附件提供的补丁,需要判断当前系统为mac的时候,增加-lintl,以链接intl这个库.

除了这个库之外,还有一个iconv相关的符号找不到,bug里面没有描述,在另一台gentoo的机器上用e-file查询了之后,发现原生linux的iconv是由glibc提供的,但是prefix是不能自由安装glibc的库的,但是系统里面已经安装了dev-libs/libiconv这个包,提供了iconv相关的库,因此和前面一样,需要手工在链接的时候增加-liconv.

最后修改完的ebuild文件大致为,代码如下:

  1. ---git-1.9.2.ebuild.old2014-04-2015:10:34.000000000+0800
  2. +++git-1.9.2.ebuild2014-04-2015:09:54.000000000+0800
  3. @@-324,6+324,7@@
  4. ifusesubversion;then
  5. cd"${S}"/contrib/svn-fe
  6. +[[${CHOST}=*-darwin*]]&&EXTLIBS="${EXTLIBS}-lintl-liconv"
  7. git_emakeEXTLIBS="${EXTLIBS}"||die"emakesvn-fefailed"
  8. ifusedoc;then
  9. git_emakesvn-fe.{1,html}||die"emakesvn-fe.1svn-fe.htmlfailed"
  10. NoComments

相关广告
  • mac上gentoo-prefix系统安装git svn分布式 mac上gentoo-prefix系统安装git svn分布式 mac上gentoo-prefix系统安装git svn分布式
相关阅读

mac上gentoo-prefix系统安装git svn分布式

2019/10/10 17:44:50 | 谷歌SEO算法 | 夫唯SEO视频教程