skyeye error : open with O_CREAT in second argument needs 3 arguments
转载 : http://blog.chinaunix.net/u1/44250/showart_1762618.html
都说ubuntu的支持相当的强大,我承认,那是因为ubuntu的问题相当多。比如:由于Debian包管理的依赖性问题,导致了eva没有依赖上kdebase,对话框中右键崩溃。
今天在编译skyeye时又报错
/usr/include/bits/fcntl2.h:51: 错误: 调用‘__open_missing_mode’,声明有错误属性:open with O_CREAT in second argument needs 3 arguments
按理说在Fedora 10中都可以编译过的,在ubuntu下应该也没什么问题才对,可是偏偏出现这个问题。赶紧跟踪,首先对比两个版本的/usr/include/bits/fcntl2.h,发现没有区别,那么就是代码的问题了。改代码,报错是在612行
|
提示是open有错,但是612行是free,注释掉前两行,居然误报成了free(nf),继续注释掉free(nf),终于,错误给出来了,是在519行的
|
open在调用的时候只有两个参数,赶紧给加上个0777,代码成了
|
更具上面所讲的话,修改源码中的/device/nadflash/nandflash_smallblock.c中的519行改成
if
(
(
nf-
>
fdump=
open
(
dev-
>
dump,
FILE_FLAG,
0777)
)
<
0)
作者:许强1. 本博客中的文章均是个人在学习和项目开发中总结。其中难免存在不足之处 ,欢迎留言指正。 2. 本文版权归作者和博客园共有,转载时,请保留本文链接。