gentoo设置单个软件编译的CFLAGS参数和patches
2016-07-03 20:23
375 查看
http://phpcj.org/gentoo%e8%ae%be%e7%bd%ae%e5%8d%95%e4%b8%aa%e8%bd%af%e4%bb%b6%e7%bc%96%e8%af%91%e7%9a%84cflags%e5%8f%82%e6%95%b0%e5%92%8cpatches/
[20160510]最新:gcc-5.3编译wine已修复。
gentoo升级到gcc-5.3后,编译最新的wine,始终有问题(详见:https://bugs.gentoo.org/show_bug.cgi?id=574044)。
这是gcc-5.3的一个bug,一直没有修复,解决办法无非是给gcc或者wine打补丁,上述链接中也给出了这两种方案。
给wine打补丁,每次wine版本升级之后,需要重新打,比较麻烦,原来我一直这样做。
直接给gcc打补丁,也比较麻烦,后来有人给出了一个傻瓜式方案,简单的多了:
这样,wine就可以直接安装了。
但是这样做还有一个问题,编译出来的wine,运行QQ的话,还是不行,打开后会直接崩溃。yuking说是编译参数CFLAGS的问题,不能用O2,必须用O0才行,有人遇到过这个问题。
因此,编译wine时,需要将CFLAGS修改为O0。每次编译时都去修改,也比较麻烦。后来搜索出了一个单独给软件设置参数的方法:
当然,上面有些参数根据你的实际情况填写。
[20160510]最新:gcc-5.3编译wine已修复。
gentoo升级到gcc-5.3后,编译最新的wine,始终有问题(详见:https://bugs.gentoo.org/show_bug.cgi?id=574044)。
这是gcc-5.3的一个bug,一直没有修复,解决办法无非是给gcc或者wine打补丁,上述链接中也给出了这两种方案。
给wine打补丁,每次wine版本升级之后,需要重新打,比较麻烦,原来我一直这样做。
直接给gcc打补丁,也比较麻烦,后来有人给出了一个傻瓜式方案,简单的多了:
sudo mkdir -p /etc/portage/patches/sys-devel/gcc-5.3.0 curl https://574044.bugs.gentoo.org/attachment.cgi?id=428646 | sudo tee /etc/portage/patches/sys-devel/gcc-5.3.0/wine-fix.patch sudo emerge -1 gcc-5.3.0 sudo emerge -1u wine
这样,wine就可以直接安装了。
但是这样做还有一个问题,编译出来的wine,运行QQ的话,还是不行,打开后会直接崩溃。yuking说是编译参数CFLAGS的问题,不能用O2,必须用O0才行,有人遇到过这个问题。
因此,编译wine时,需要将CFLAGS修改为O0。每次编译时都去修改,也比较麻烦。后来搜索出了一个单独给软件设置参数的方法:
sudo mkdir /etc/portage/env sudo echo "CFLAGS=\"-O0 -march=native -fomit-frame-pointer -pipe\"" > /etc/portage/env/wine sudo echo "=app-emulation/wine-9999 wine" > /etc/portage/package.env sudo emerge -1u wine
当然,上面有些参数根据你的实际情况填写。
相关文章推荐
- 文本文件和二进制文件学习
- 程序语言设计(第二天学习)
- CentOS 6.5下samba服务器搭建与配置
- bug_ _
- PAT (Advanced Level) 1088. Rational Arithmetic (20)
- 自定义结果类型(result的type属性)
- 桌面程序、图标到电脑左上角如何拽回
- 华为OJ——名字的漂亮度
- 华为OJ——迷宫问题
- matlab中自带的classification
- 搭建本地yum源服务器
- java迷宫
- 选择器的优先级
- 面试题26:复杂链表的复制
- VC与JavaScript交互(三) ———— JS调用C++
- 华为OJ——学英语
- 计算机原理(三)
- Python学习-函数补充2-内置函数
- static成员变量,non-static成员变量,局部变量,global 变量作用域和生存周期
- 华为OJ——称砝码