LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1343|回复: 15

Crossdev中USE="openmp"的小修正

[复制链接]
发表于 2008-10-15 02:19:07 | 显示全部楼层 |阅读模式
其实出错原因在/usr/portage/eclass/toolchain.eclass这个文件,详细作用没有探究.不过其中:
判断条件中"if is_crosscompile ; then"内,全文件1315行:

  1. if [[ ${GCCMAJOR}.${GCCMINOR} > 4.1 ]] ; then
  2.   confgcc="${confgcc} --disable-bootstrap --disable-libgomp"
  3. if
复制代码


查阅Gentoo BUG LIST:#234841虽然是修正4.3.1-r1的本机GCC编译器问题(好像并没有添加到,不过同样受用.拿来主义:-)修改如下:

  1. if [[ ${GCCMAJOR}.${GCCMINOR} > 4.1 ]] && [[ ${GCCMAJOR}.${GCCMINOR} < 4.2 ]] ; then
  2.   confgcc="${confgcc} --disable-bootstrap --disable-libgomp"
  3. elif tc_version_is_at_least "4.2" ; then
  4.   confgcc="${confgcc} --disable-bootstrap $(use_enable openmp libgomp)"
  5. fi
复制代码


提醒penmp在mingw中需要pthread支持
发表于 2008-10-15 10:14:38 | 显示全部楼层
crossdev 是个好东东,好像没什么人在用,都不冒泡泡
回复 支持 反对

使用道具 举报

发表于 2008-10-15 11:43:44 | 显示全部楼层
我用阿,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-15 11:58:24 | 显示全部楼层
crossdev对于USE的使用,并没有想像中那么好.
mingw必须废弃几个USE: openmp 一个越界检查(忘记名字)
才能够编译完成.
回复 支持 反对

使用道具 举报

发表于 2008-10-15 12:04:11 | 显示全部楼层
大家都来完善不就好了么
linux一开始也不好,只能跑在386上
建议你把你的改动发给Mike Frysinger
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-15 12:05:48 | 显示全部楼层
OK
我找找他邮箱.

---
我描述的问题出现在toolchain.eclass这个文件里,并不在crossdev里.
而另外一个越界检查的USE标签,我还没有查找原因,个人认为,这个标签不应该作为默认.
晚上我查查这个问题在给Mike Frysinger发邮件.

---
版主用那个跨平台?
也来试试开openmp*~)哈哈
回复 支持 反对

使用道具 举报

发表于 2008-10-15 12:19:57 | 显示全部楼层
我不用openmp
我只是在x86上构建x86-mipsel/x86-powerpc交叉工具链
回复 支持 反对

使用道具 举报

发表于 2008-10-15 21:54:33 | 显示全部楼层
~amd64好像不能直接(gcc-4.3.2)
crossdev -t -S powerpc-unknown-linux-gnu
了,stable的貌似没有问题
mipsel的binutils貌似不能>2.18-r1
另外sparc/sparc64无法crossdev

有没有人遇到相同的问题啊?
回复 支持 反对

使用道具 举报

发表于 2008-10-15 23:20:26 | 显示全部楼层
mipsel是不是遇到了gnu hash的问题
另外gentoo已经不再支持sparc,只支持sparc64
不知道crossdev是否还支持sparc
回复 支持 反对

使用道具 举报

发表于 2008-10-15 23:25:22 | 显示全部楼层
有多架构的人少啊,现在我也没有设备了。
以前有sparc也用crossdev哈,只有64bit kernel+32bit userland,纯64现在不晓得有没有。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表