免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1910 | 回复: 4
打印 上一主题 下一主题

AS5/CentOS5 里面的 /usr/include/linux/threads.h 哪里去了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-12 15:47 |只看该作者 |倒序浏览
以前AS4里面有 /usr/include/linux/threads.h, 现在在AS5里面找不到这个文件了

导致我编译某个头文件 XXX.h 里面的代码在 include <linux/threads.h> 这一行就报错
cat XXX.h
#if defined(__linux__)
#  define HAS_PRCTL
#  define HAS_EXECINFO
#  define HAS_NATIVE_SETENV
#  define HAS_GMTOFF_IN_STRUCT_TM
#  define HAS_U_INT32_T
#  define PID_T_FMT     "%d"
#  include <linux/threads.h>
#  define PORTABLE_MAX_PID      PID_MAX
#endif
...

XXX.h:19:29: error: linux/threads.h: No such file or directory

请大家帮忙看看这个问题 多谢了

论坛徽章:
0
2 [报告]
发表于 2009-02-12 16:59 |只看该作者
rpm -qa | grep kernel

论坛徽章:
0
3 [报告]
发表于 2009-02-12 17:11 |只看该作者
说明你现在的系统使用的是NPTL线程模型,你的程序应该改一下。

论坛徽章:
0
4 [报告]
发表于 2009-02-12 20:26 |只看该作者
建议LZ到 /usr/include 目录下,find下threads.h文件,然后往linux目录下做个软链接试试。

论坛徽章:
0
5 [报告]
发表于 2009-02-13 11:04 |只看该作者
我的AS5环境如下
$ pwd
/usr/include/linux
$ find . -name "threads.h" -print
./libxml2/libxml/threads.h

$ rpm -qa | grep kernel
kernel-xen-devel-2.6.18-92.el5
kernel-headers-2.6.18-128.el5
kernel-debug-2.6.18-128.1.1.el5
kernel-xen-2.6.18-128.el5
kernel-xen-2.6.18-92.el5
kernel-devel-2.6.18-128.1.1.el5
kernel-xen-devel-2.6.18-128.el5

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)

$ uname -a
Linux co-532-2.eo.geminimobile.com 2.6.18-128.el5xen #1 SMP Wed Dec 17 12:22:24 EST 2008 i686 athlon i386 GNU/Linux

我试着link到从对应内核里面的threads.h
$ ln -s /usr/src/kernels/2.6.18-128.el5xen-i686/include/linux/threads.h threads.h

这步编译通过了 但是新的一些问题出现了 不过这是正常的 本来代码都是基于AS4的 现在直接到AS5上面来编译 要想完全适应AS5 还得费一般功夫
多谢大家的宝贵意见了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP