首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用nginx-gridfs编译nginx,在make过程中获取mongo-c-驱动程序错误。

用nginx-gridfs编译nginx,在make过程中获取mongo-c-驱动程序错误。
EN

Server Fault用户
提问于 2011-12-27 04:50:51
回答 1查看 2K关注 0票数 2

我试图在Ubuntu 11.10 (gcc版本4.6)上使用nginx模块编译具有gridfs支持的nginx (版本1.0.11) (nginx版本0.8):

代码语言:javascript
复制
https://github.com/mdirolf/nginx-gridfs

这里描述的安装说明很简单:

代码语言:javascript
复制
* Clone the nginx-gridfs repository (`git clone https://github.com/mdirolf/nginx-gridfs`)
* Check out the mongo-c-driver submodule (`git submodule init` then `git submodule update`)
* Download and unpack the nginx source (from `http://nginx.org/download/nginx-1.0.11.tar.gz`)
* Run `./configure` with `--add-module=/path/to/nginx-gridfs/repository`
* `make` and `sudo make install`

上一次我在一台机器上安装nginx-gridfs (大约四个月前在Ubuntu10.04上,gcc 4.5和nginx版本1.0.5),这些步骤对我来说很好,但是现在(在一个新的Ubuntu安装上)我得到了一个错误。./configure运行良好,但make在以下方面失败:

代码语言:javascript
复制
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c: In function 'mongo_count':
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:939:5: error: missing initializer [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:939:5: error: (near initialization for 'out.dataSize') [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c: In function 'mongo_simple_int_command':
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:981:5: error: missing initializer [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:981:5: error: (near initialization for 'out.dataSize') [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c: In function 'mongo_simple_str_command':
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:1013:5: error: missing initializer [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:1013:5: error: (near initialization for 'out.dataSize') [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c: In function 'mongo_cmd_get_error_helper':
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:1055:5: error: missing initializer [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:1055:5: error: (near initialization for 'out.dataSize') [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c: In function 'mongo_cmd_ismaster':
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:1098:5: error: missing initializer [-Werror=missing-field-initializers]
/path/to/nginx-gridfs/mongo-c-driver/src/mongo.c:1098:5: error: (near initialization for 'out.dataSize') [-Werror=missing-field-initializers]
cc1: all warnings being treated as errors
make[1]: *** [objs/addon/src/mongo.o] Error 1

知道为什么会失败吗?

cc1: all warnings being treated as errors使我相信,我可以将-Wno-error添加到CFLAGS中,告诉它不要将警告视为错误,以避免此问题。但我担心,在这里启用警告作为错误是有原因的,关闭它只会使编译在表面上成功,但实际上行不通。

有人知道这是怎么回事吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-01-03 16:35:14

使用忽略警告方法可以完成编译工作,但实际上,如果使用用户/密码错误,则无法连接到数据库。对我起作用的是从零开始构建mongo到用更新的lib提供nginx构建的组合:http://pastebin.com/tMsL2eC9

但这还不够。我还必须特别检查nginx子模块中的mongo驱动程序v0.3.1。也就是说,nginx网格资源的v0.8。V0.3.1 mongo c驱动程序,而新的mongo构建是来自该链接中指定的env的引用。然后,我构建了nginx1.0.11,没有任何错误,而且成功了。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/345516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档