`
jiangshuiy
  • 浏览: 340053 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Ubuntu下编译libxml2出错

阅读更多
出错信息如下:

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
分享到:
评论
1 楼 spider_bug 2013-03-21  
     
吃水不忘打井人,谢谢了,gentoo上编译也有这个错误

相关推荐

    ubuntu 10.04下编译Android源码技术文档

    ### Ubuntu 10.04下编译Android源码技术文档 #### 一、环境准备与配置 在Ubuntu 10.04环境下编译Android源码是一项复杂但极具价值的任务。为了确保编译过程顺利进行,首先需要完成一系列准备工作。 1. **系统更新...

    linux下PHP编译安装各种出错及解决方法

    `libxml2` 是一个 XML 解析器库,在 PHP 编译时需要它。 **解决方案:** - 安装 `libxml2` 及其开发包。 ```bash # 对于 Red Hat 或 Fedora 系统 sudo yum install libxml2 libxml2-devel # 对于 Debian 或 ...

    mdm9607 mdm9x07编译环境安装

    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-...

    ubuntu12.04编译android4.1.1_r6源代码步骤.docx

    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,因此只需确认其已...

    lichee_20170502_1607_全志R16的linux系统编译需要改动的文件_使用parrotv1.1的内核_没有外层目录.7z

    获取:25 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main libxml-libxml-perl amd64 2.0108+dfsg-1ubuntu0.1 [337 kB] 获取:26 ...

    php安装问题

    2. 编译出错导致内部编译器错误(Segmentation fault) 如果在编译PHP时遇到内部编译器错误,可能是由于内存不足或编译环境存在bug。解决方法是确保系统内存大于1G,该问题可能与PHP 5.3.2版本的bug有关。如果硬件或...

    kamailio 安装配置过程

    使用`sudo apt-get install`命令来安装编译工具和依赖库,包括gcc、flex、bison、libmysqlclient-dev、make、libcurl4-openssl-dev、libxml2-dev、libpcre3-dev、libncurses5-dev、libreadline-dev、e2fsprogs-dev、...

    linux全志R16的linux系统编译的资料_20170502_1655.7z

    获取:25 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main libxml-libxml-perl amd64 2.0108+dfsg-1ubuntu0.1 [337 kB] 获取:26 ...

    zabbix5.0的安装包以及自动化脚本

    - 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-...

    mysql代码-mysql在线编译

    2. **依赖库**:MySQL编译需要一些基础库,如GCC编译器、CMake构建系统、OpenSSL、Zlib、Libxml2等。在Ubuntu/Debian上,你可以通过运行以下命令安装必要的依赖: ``` sudo apt-get update sudo apt-get install ...

    Python pip安装lxml出错的问题解决办法

    - 需要下载并安装`libxml2`和`libxslt`的预编译二进制文件,可以从官方或其他可信来源获取。 - 安装后,确保它们的安装目录添加到系统的PATH环境变量中。 2. **检查环境变量** - 确认环境变量中的`PATH`包含了`...

    zabbix ansible部署脚本

    1. **预安装步骤**:确保系统满足Zabbix的依赖,比如安装必要的库和依赖软件,如`apt-get install -y build-essential libxml2-dev libcurl4-openssl-dev libsnmp-dev`。 2. **下载和解压Zabbix源代码**:你可以...

    softap_ap6212a0_tinav2.1_验证通过_旧版本的系统_20170915_1223没有外层目录.7z

    将dnsmasq.tar.bz2解压并替换package/network/services下的dnsmasq文件夹。 3、配置内核: rootroot@cm-System-Product-Name:/home/wwt/softap_ap6212a0_tinav2.1$ make kernel_menuconfig [*] ...

Global site tag (gtag.js) - Google Analytics