在ubuntu14.04的平台下安装skyeye1.2.6的过程中遇到了以下问题,做个简单的小节:
首先,ubuntu14.04的平台做的介绍:
|---内核3.13.0-24-generic
|---硬件平台x86_64
其次介绍一下skyeye的安装步骤:1、./configure 2、make 3、make install
接下来介绍遇到的两个问题:一个是关于g++编译器,一个是关于gcc编译器的问题。
问题一具体描述如下:
在进行./configure的时候出现g++:no
分析如下:
在ubuntu系统的安装中没有安装g++编译器。g++的详细介绍请看一下链接:
http://baike.so.com/doc/5045774.html
解决办法:
安装g++编译器,在ubuntu的终端界面安装命令为:apt-get install g++
问题二描述如下:
在进行make时出现/usr/include/bits/fcntl2.h:51:error:call to '__open_missing_mode' declared with attribute error:open with O_CREAT in second argument needs 3 arguments
分析如下:
经过在网上查找才知道这属于编译器的bug,在ubuntu14.04平台下gcc的版本是4.8.2,该版本对语法错误检查的较gcc-3.的版本较严格。上述问题是open函数缺少第三个参数。当open函数在第二个参数使用了O_CREART时,就必须添加第三个参数——创建文件时赋予的初始权限。如果没有添加第三个参数,在gcc-3.的版本中或许能通过编译(未试过),但在gcc-4.8.2的版本中肯定通不过编译。根据查找显示gcc-4.3的版本也不能通过编译。
相同的问题简答在如下链接:www.iteye.com/wiki/blog/617333
注:gcc版本查看命令为gcc -v
解决办法:
找到引用open函数的代码行,添加第三个参数,可以为777。
总结:在安装过程中,可能遇到各种各样的问题,根据出错的提示,查找出相应的问题。一般在源码安装过程中还会出现依赖项问题,查看提示找出相应的依赖包进行安装。