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行

        if ( ! nf- > writebuffer)
         free ( nf- > writebuffer) ;
        free ( nf) ;

提示是open有错,但是612行是free,注释掉前两行,居然误报成了free(nf),继续注释掉free(nf),终于,错误给出来了,是在519行的

if ( ( nf- > fdump= open ( dev- > dump, FILE_FLAG) ) < 0)

open在调用的时候只有两个参数,赶紧给加上个0777,代码成了

if ( ( nf- > fdump= open ( dev- > dump, FILE_FLAG, 0777) ) < 0)

 

更具上面所讲的话,修改源码中的/device/nadflash/nandflash_smallblock.c中的519行改成

if ( ( nf- > fdump= open ( dev- > dump, FILE_FLAG, 0777) ) < 0)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值