设为首页 收藏本站
查看: 371|回复: 0

[经验分享] x86_64 centos7 编译calltree

[复制链接]

尚未签到

发表于 2015-12-12 15:52:27 | 显示全部楼层 |阅读模式
tar -xjvf calltree-2.3.tar.bz2
cd calltree-2.3
./Gmake.linux
在x86-64位的机器上编译calltree的时候会出现提示这样的错误而无法运行的情况:
RULES/rules1.top:234: incs/Dcc.x86_64-linux: 没有该文件或目录
RULES/rules.top:39: RULES/x86_64-linux-cc.rul: 没有该文件或目录
RULES/rules.cnf:56: incs/x86_64-linux-cc/Inull: 没有该文件或目录
RULES/rules.cnf:57: incs/x86_64-linux-cc/rules.cnf: 没有该文件或目录
p incs/x86_64-linux-cc
make: p:命令未找到
make: [incs/x86_64-linux-cc/Inull] 错误 127 (忽略)
/bin/sh: cannot create incs/x86_64-linux-cc/Inull: Directory nonexistent
make: *** [incs/x86_64-linux-cc/Inull] 错误 2
  问题是calltree的这个版本里头还有X86064位对应的Makefile规则文件,可以直接把i686-linux-cc.rul复制为x86_64-linux-cc.rul
$ cd /path/to/calltree-2.3
$ cp RULES/i686-linux-cc.rul RULES/x86_64-linux-cc.rul
  cankao:http://www.xuebuyuan.com/1691222.html
再make。
点击(此处)折叠或打开



  • ../include/schily.h:110:12: 错误:与‘fexecve’类型冲突

  • extern int fexecve __PR((const char *, FILE *, FILE *, FILE *,
  •             ^
  • In file included from ../include/unixstd.h:37:0,
  •                  from stdio/io.h:27,
  •                  from stdio/cvmod.c:21:
  • /usr/include/unistd.h:557:12: 附注:‘fexecve’的上一个声明在此
  • extern int fexecve (int __fd, char *const __argv[], char *const __envp[])
  •             ^
  • In file included from stdio/io.h:29:0,
  •                  from stdio/cvmod.c:21:
  • ../include/schily.h:186:12: 错误:与‘getline’类型冲突
  • extern int getline __PR((char *, int));
  •             ^
  • In file included from stdio/io.h:25:0,
  •                  from stdio/cvmod.c:21:
  • /usr/include/stdio.h:678:20: 附注:‘getline’的上一个声明在此
  • extern _IO_ssize_t getline (char **__restrict __lineptr,
  •                     ^
  • make[2]: *** [OBJ/x86_64-linux-cc/cvmod.o] 错误 1
  • make[1]: *** [all] 错误 2
  • In file included from calltree.c:33:0:
  • ../include/schily.h:110:12: 错误:与‘fexecve’类型冲突
  • extern int fexecve __PR((const char *, FILE *, FILE *, FILE *,
  •             ^
  • In file included from ../include/unixstd.h:37:0,
  •                  from calltree.c:31:
  • /usr/include/unistd.h:557:12: 附注:‘fexecve’的上一个声明在此
  • extern int fexecve (int __fd, char *const __argv[], char *const __envp[])
  •             ^
  • In file included from calltree.c:33:0:
  • ../include/schily.h:186:12: 错误:与‘getline’类型冲突
cankao:http://blog.csdn.net/younggift/article/details/9238383
将所有 getline 和 fexecve 修改位 get_line f_execve
编译通过
    calltree -b -dot lf=start_kernel KERNEL_DIR/init/*.c > ~/start_kernel.dot
  dot -T png ~/start_kernel.dot -o ~/start_kernel.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-150180-1-1.html 上篇帖子: 如何在CentOS 7中禁用IPv6 下篇帖子: RH401 - Centos6.4制作Tengine的rpm包
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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