博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mac gentoo-prefix安装git svn
阅读量:6115 次
发布时间:2019-06-21

本文共 1242 字,大约阅读时间需要 4 分钟。

之前参照yegal的文章在mac上安装了gentoo-prefix。但是在emerge git的时候,会发现如果增加了subversion这个USE,就会编译失败。

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

[cce]
Undefined symbols for architecture x86_64:
“_libintl_ngettext”, referenced from:
_show_date_relative in libgit.a(date.o)
“_libintl_gettext”, referenced from:
_show_date_relative in libgit.a(date.o)
_warn_on_inaccessible in libgit.a(wrapper.o)
_xgetpwuid_self in libgit.a(wrapper.o)
ld: symbol(s) not found for architecture x86_64
[/cce]
大致可以看出,是intl相关的库没有链接。在gentoo的bugzilla上也查到了的bug。按照附件提供的补丁,需要判断当前系统为mac的时候,增加-lintl,以链接intl这个库。

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

最后修改完的ebuild文件大致为:

[cce lang=”diff”]
— git-1.9.2.ebuild.old 2014-04-20 15:10:34.000000000 +0800
+++ git-1.9.2.ebuild 2014-04-20 15:09:54.000000000 +0800
@@ -324,6 +324,7 @@

if use subversion ; then

cd “${S}”/contrib/svn-fe
+ [[ ${CHOST} = *-darwin* ]] && EXTLIBS=”${EXTLIBS} -lintl -liconv”
git_emake EXTLIBS=”${EXTLIBS}” || die “emake svn-fe failed”
if use doc ; then
git_emake svn-fe.{1,html} || die “emake svn-fe.1 svn-fe.html failed”
[/cce]

转载自:https://coolex.info/blog/431.html

你可能感兴趣的文章
Debian 6.05安装后乱码
查看>>
欢迎大家观看本人录制的51CTO精彩视频课程!
查看>>
IntelliJ IDEA中设置忽略@param注释中的参数与方法中的参数列表不一致的检查
查看>>
关于软件开发的一些感悟
查看>>
uva 10806
查看>>
纯CSS3绘制的黑色图标按钮组合
查看>>
Linux中环境变量文件及配置
查看>>
从0开始学Flutter
查看>>
mysql操作入门基础之对数据库和表的增删改查
查看>>
IIS负载均衡
查看>>
分布式事务,EventBus 解决方案:CAP【中文文档】
查看>>
Linux下的CPU性能瓶颈分析案例
查看>>
spring mvc入门
查看>>
2012在数据库技术会议上的讲话PPT打包
查看>>
【Android】 TextView设置个别字体样式
查看>>
python svn
查看>>
raise语句
查看>>
sequence2(高精度dp)
查看>>
如何向 Linux 内核上游提交 Patch ?
查看>>
Go编程笔记(7)
查看>>