出错信息如下:
gcc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g -O2 -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -MT nanohttp.lo -MD -MP -MF .deps/nanohttp.Tpo -c nanohttp.c -fPIC -DPIC -o .libs/nanohttp.o
nanohttp.c: In function 'xmlNanoHTTPFetch__internal_alias':
nanohttp.c:1558: warning: ignoring return value of 'write', declared with attribute warn_unused_result
nanohttp.c: In function 'xmlNanoHTTPSave__internal_alias':
nanohttp.c:1597: warning: ignoring return value of 'write', declared with attribute warn_unused_result
In function 'open',
inlined from 'xmlNanoHTTPSave__internal_alias' at nanohttp.c:1588:
/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
make[1]: *** [nanohttp.lo] Error 1
make[1]: Leaving directory `/home/winetcn/libxml2-2.6.30'
make: *** [install-recursive] Error 1
解决方法:
打开目录下的nanohttp.c,第1588行由
fd = open(filename, O_CREAT | O_WRONLY);更换为
fd = open(filename, O_CREAT | O_WRONLY,0777);
参考资料:
http://temix.blog.163.com/blog/static/364133200810237854799/
偶遇gcc-4.3 fcntl2.h错误
/usr/include/bits/fcntl2.h:51: 错误: 调用‘__open_missing_mode’,声明有错误属性:open with O_CREAT in second argument needs 3 arguments
网上查了一下,说是gcc-4.3对语法检查严格的结果,找到出错的那一句,在我编译的程序里是这句
int fd = open(fn.c_str(), O_WRONLY | O_CREAT | O_TRUNC);
将之改为
int fd = open(fn.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0777);
就OK了
参考资料:
http://linux.chinaunix.net/techdoc/system/2008/11/08/1044060.shtml
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/286565
分享到:
相关推荐
### Ubuntu 10.04下编译Android源码技术文档 #### 一、环境准备与配置 在Ubuntu 10.04环境下编译Android源码是一项复杂但极具价值的任务。为了确保编译过程顺利进行,首先需要完成一系列准备工作。 1. **系统更新...
`libxml2` 是一个 XML 解析器库,在 PHP 编译时需要它。 **解决方案:** - 安装 `libxml2` 及其开发包。 ```bash # 对于 Red Hat 或 Fedora 系统 sudo yum install libxml2 libxml2-devel # 对于 Debian 或 ...
get install build-essential chrpath coreutils cvs cvsnt desktop-file-utils diffstat docbook-utils fakeroot g++ gawk gcc git git-core help2man libgmp3-dev libmpfr-dev libreadline6-dev libtool libxml2-...
markdown libxml2-utils xsltproc zlib1g-dev:i386 libsdl1.2-dev libesd0-dev libwxgtk2.8-dev ia32-libs` 来安装一系列必要的软件包。 **3. 配置GCC** Ubuntu 12.04 已经自带了GCC版本为4.6,因此只需确认其已...
获取:25 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main libxml-libxml-perl amd64 2.0108+dfsg-1ubuntu0.1 [337 kB] 获取:26 ...
2. 编译出错导致内部编译器错误(Segmentation fault) 如果在编译PHP时遇到内部编译器错误,可能是由于内存不足或编译环境存在bug。解决方法是确保系统内存大于1G,该问题可能与PHP 5.3.2版本的bug有关。如果硬件或...
使用`sudo apt-get install`命令来安装编译工具和依赖库,包括gcc、flex、bison、libmysqlclient-dev、make、libcurl4-openssl-dev、libxml2-dev、libpcre3-dev、libncurses5-dev、libreadline-dev、e2fsprogs-dev、...
获取:25 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main libxml-libxml-perl amd64 2.0108+dfsg-1ubuntu0.1 [337 kB] 获取:26 ...
- Ubuntu/CentOS: `sudo apt-get install -y gcc libxml2-dev libcurl4-openssl-dev libmysqlclient-dev libzlib-dev libssl-dev` 或 `sudo yum install -y gcc libxml2-devel libcurl-devel mysql-devel zlib-...
2. **依赖库**:MySQL编译需要一些基础库,如GCC编译器、CMake构建系统、OpenSSL、Zlib、Libxml2等。在Ubuntu/Debian上,你可以通过运行以下命令安装必要的依赖: ``` sudo apt-get update sudo apt-get install ...
- 需要下载并安装`libxml2`和`libxslt`的预编译二进制文件,可以从官方或其他可信来源获取。 - 安装后,确保它们的安装目录添加到系统的PATH环境变量中。 2. **检查环境变量** - 确认环境变量中的`PATH`包含了`...
1. **预安装步骤**:确保系统满足Zabbix的依赖,比如安装必要的库和依赖软件,如`apt-get install -y build-essential libxml2-dev libcurl4-openssl-dev libsnmp-dev`。 2. **下载和解压Zabbix源代码**:你可以...
将dnsmasq.tar.bz2解压并替换package/network/services下的dnsmasq文件夹。 3、配置内核: rootroot@cm-System-Product-Name:/home/wwt/softap_ap6212a0_tinav2.1$ make kernel_menuconfig [*] ...