gcc-3.4编译strace-4.6

来源:互联网 发布:linux安装unzip命令 编辑:程序博客网 时间:2024/06/17 13:38

gcc 3.4编译strace-4.6的话,会遇到这样的错误:

block.c: In function `block_ioctl':
block.c:271: error: `BLKTRACESTOP' undeclared (first use in this function)
block.c:271: error: (Each undeclared identifier is reported only once
block.c:271: error: for each function it appears in.)
make[2]: *** [block.o] Error 1
make[2]: Leaving directory `/home/liangry/download/strace-4.6'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/liangry/download/strace-4.6'
make: *** [all] Error 2

问题不在第271行,而在于block.c前面的宏定义:



本意是如果没有定义BLKTRACESTART的话,定义BLKTRACESTART和BLKTRACESTOP,这是能够被gcc 4识别的,却不能够被gcc 3.4识别,所以需打上补丁:



在strace-4.6编译目录下,把上述内容保存为strace-4.6_gcc-3.4.patch,然后执行:

$ patch -p0 < strace-4.6_gcc-3.4.patch
patching file block.c

原创粉丝点击