# Complie Module Error: nginx-upload-module

**URL:** <https://www.ruby-forum.com/t/complie-module-error-nginx-upload-module/203324>\
**Category:** NGINX\
**Created:** [February 17, 2011, 6:54pm UTC](https://www.ruby-forum.com/t/complie-module-error-nginx-upload-module/203324 "2011-02-17T18:54:55Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [February 17, 2011, 6:54pm UTC](https://www.ruby-forum.com/t/complie-module-error-nginx-upload-module/203324/1 "2011-02-17T18:54:55Z")

</div>

Hello,

try to build the current nginx-upload-module, current version gives me  
the following errors:

/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c: In  
function ângx\_http\_upload\_merge\_loc\_confâ:  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1104:  
error: ângx\_garbage\_collector\_temp\_handlerâ undeclared (first use in  
this function)  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1104:  
error: (Each undeclared identifier is reported only once  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1104:  
error: for each function it appears in.)  
cc1: warnings being treated as errors  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1104:  
error: passing argument 1 of ângx\_conf\_merge\_path\_valueâ from  
incompatible pointer type  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1104:  
error: passing argument 2 of ângx\_conf\_merge\_path\_valueâ from  
incompatible pointer type  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1104:  
error: passing argument 3 of ângx\_conf\_merge\_path\_valueâ from  
incompatible pointer type  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1104:  
error: passing argument 4 of ângx\_conf\_merge\_path\_valueâ makes pointer  
from integer without a cast  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1104:  
error: too many arguments to function ângx\_conf\_merge\_path\_valueâ  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c: In  
function ângx\_http\_upload\_pass\_form\_fieldâ:  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1490:  
error: passing argument 1 of ângx\_regex\_compileâ from incompatible  
pointer type  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1490:  
error: too many arguments to function ângx\_regex\_compileâ  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1490:  
error: assignment makes pointer from integer without a cast  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1497:  
error: implicit declaration of function ângx\_regex\_capture\_countâ  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1501:  
error: ângx\_regex\_capture\_count\_nâ undeclared (first use in this  
function)  
/build/nginx/module/nginx-upload-module/ngx\_http\_upload\_module.c:1501:  
error: expected â)â before string constant  
make[1]: \*\*\* [objs/addon/nginx-upload-module/ngx\_http\_upload\_module.o]  
Error 1  
make[1]: \*\*\* Waiting for unfinished jobs…  
cc1: warnings being treated as errors  
/build/nginx/module/nginx-upload-module/ngx\_upload\_unzip\_filter\_module.c:201:  
error: ângx\_http\_unzip\_errorâ declared âstaticâ but never defined  
make[1]: \*\*\*  
[objs/addon/nginx-upload-module/ngx\_upload\_unzip\_filter\_module.o] Error  
1  
make: \*\*\* [build] Error 2

This is my build script:

./configure   
–conf-path=/etc/nginx/nginx.conf   
–pid-path=/var/run/nginx.pid   
–lock-path=/var/lock/nginx.lock   
–error-log-path=/var/log/nginx/error.log   
–http-log-path=/var/log/nginx/access.log   
–http-client-body-temp-path=/var/lib/nginx/client   
–http-proxy-temp-path=/var/lib/nginx/proxy   
–http-fastcgi-temp-path=/var/lib/nginx/fastcgi   
–http-uwsgi-temp-path=/var/lib/nginx/uwsgi   
–with-http\_dav\_module   
–with-http\_stub\_status\_module   
–with-http\_realip\_module   
–with-http\_secure\_link\_module   
–with-http\_ssl\_module   
–with-http\_flv\_module   
–without-http\_scgi\_module   
–without-http\_autoindex\_module   
–without-http\_empty\_gif\_module   
–add-module=/build/nginx/module/nginx-upload-module   
–with-cc-opt=‘-O3’

make -j2

Any ideas whats going wrong?

Thanks for your help.

–  
Schon gehört? GMX hat einen genialen Phishing-Filter in die  
Toolbar eingebaut! [http://www.gmx.net/de/go/toolbar](http://www.gmx.net/de/go/toolbar)

---

<div class="post-metadata">

**Author:** ![Elena\_Z](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/ce7236/32.png) [@Elena\_Z](https://www.ruby-forum.com/u/Elena_Z)\
**Post date:** [February 17, 2011, 7:00pm UTC](https://www.ruby-forum.com/t/complie-module-error-nginx-upload-module/203324/2 "2011-02-17T19:00:34Z")

</div>

Hi,

> try to build the current nginx-upload-module, current version gives me the  
> following errors:

If by “current” you mean “master” branch from GitHub, then you’re wrong.  
Try using “2.2” branch 😉

btw Valery: you should really push “2.2” to “master”, this issue is  
reported  
over and over again.

Best regards,  
Piotr S. \< [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) \>

---

<div class="post-metadata">

**Author:** ![Elena\_Z](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/ce7236/32.png) [@Elena\_Z](https://www.ruby-forum.com/u/Elena_Z)\
**Post date:** [February 18, 2011, 6:36am UTC](https://www.ruby-forum.com/t/complie-module-error-nginx-upload-module/203324/3 "2011-02-18T06:36:22Z")

</div>

The master branch contains some experimental code. I prefer to think  
about master as experimental and keep stable code on branches.

Piotr S. wrote:

> Hi,
> 
> > try to build the current nginx-upload-module, current version gives me  
> > the following errors:
> 
> If by “current” you mean “master” branch from GitHub, then you’re wrong.  
> Try using “2.2” branch 😉
> 
> btw Valery: you should really push “2.2” to “master”, this issue is  
> reported over and over again.

–  
Best regards,  
Valery K.

---

<div class="post-metadata">

**Author:** ![Elena\_Z](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/ce7236/32.png) [@Elena\_Z](https://www.ruby-forum.com/u/Elena_Z)\
**Post date:** [February 18, 2011, 7:33am UTC](https://www.ruby-forum.com/t/complie-module-error-nginx-upload-module/203324/4 "2011-02-18T07:33:47Z")

</div>

Hi Valery,

> The master branch contains some experimental code. I prefer to think about  
> master as experimental and keep stable code on branches.

I can understand such workflow, however your “master” branch (at least  
on  
GitHub) wasn’t updated in over 2 years. I doubt that there is any  
experimental code there 😉

Best regards,  
Piotr S. \< [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) \>

---

<div class="post-metadata">

**Author:** ![Elena\_Z](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/ce7236/32.png) [@Elena\_Z](https://www.ruby-forum.com/u/Elena_Z)\
**Post date:** [February 18, 2011, 7:59am UTC](https://www.ruby-forum.com/t/complie-module-error-nginx-upload-module/203324/5 "2011-02-18T07:59:26Z")

</div>

On 18/02/11, Valery K. wrote:

> > If by “current” you mean “master” branch from GitHub, then  
> > you’re wrong. Try using “2.2” branch 😉
> > 
> > btw Valery: you should really push “2.2” to “master”, this  
> > issue is reported over and over again.
> 
> The master branch contains some experimental code. I prefer  
> to think about master as experimental and keep stable code  
> on branches.

It should be the other way around, “always summer in trunk” where  
master is reasonably stable and various experiments are done in  
other branches and only merged to master when stabilised, possibly  
channeled through a “next” branch.

Why? Because knowing which branch is stable requires special  
knowledge about the project, and is a moving target, whereas the  
master branch is a single persistent and canonical target that  
newbies, and experts, can pull knowing it will always build and  
most likely operate as advertised.

Stable code in branches is what tags are for.

–markc
