anomalizer / ngx_aws_auth

nginx module to proxy to authenticated AWS services
BSD 2-Clause "Simplified" License
470 stars 144 forks source link

Fix static and dynamic mode compilation with nginx >= 1.9.11 #23

Closed irasnyd closed 8 years ago

irasnyd commented 8 years ago

The commit 42eeda5fbe3b "Dynamic Module support." does not compile in the static module mode on nginx >= 1.9.11. It gives the compiler error message:

objs/ngx_modules.o:(.data+0x320): undefined reference to
`ngx_http_aws_auth'
collect2: error: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/nginx-1.9.11'
make: *** [install] Error 2

It is possible to fix static mode, by changing ngx_module_name to "ngx_http_aws_auth_module", however, this breaks dynamic mode instead.

To make both modes work correctly, the name of the C source code file is required to match the module struct name. And now both modes work correctly.

Tested on nginx-1.9.11 and nginx-1.9.12 in both static and dynamic module modes.