ports/184484: 3rd-party upload module for nginx, nginx-devel build failed (regarding PR 182010)
Bozhidara Marinchovska
quintessence at bulinfo.net
Wed Dec 4 00:40:01 UTC 2013
>Number: 184484
>Category: ports
>Synopsis: 3rd-party upload module for nginx, nginx-devel build failed (regarding PR 182010)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Dec 04 00:40:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Bozhidara Marinchovska
>Release: 9.1
>Organization:
>Environment:
9.1-STABLE FreeBSD 9.1-STABLE #2: Tue Nov 12 19:00:18 EET 2013 amd64
>Description:
Trying to build 3rd party upload module for Nginx 1.4.4 and/or 1.5.7 (ports from 04.12.2013 00:11 EET):
Nginx 1.4.4:
make -f objs/Makefile
cc -c -O2 -pipe -fno-strict-aliasing -I /usr/local/include -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules -I src/mail -o objs/addon/nginx_upload_module-2.2.0/ngx_http_upload_module.o /usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:179: error: expected specifier-qualifier-list before 'SHA256_CTX'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:184: error: expected specifier-qualifier-list before 'SHA512_CTX'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_start_handler':
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1383: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1386: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_finish_handler':
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1482: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1482: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1485: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1485: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_flush_output_buffer':
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1650: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1653: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_sha256_variable':
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: 'SHA256_DIGEST_LENGTH' undeclared (first use in this function)
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: (Each undeclared identifier is reported only once
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: for each function it appears in.)
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2386: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2387: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2390: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_sha512_variable':
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2417: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2417: error: 'SHA512_DIGEST_LENGTH' undeclared (first use in this function)
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2423: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2424: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2427: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
*** [objs/addon/nginx_upload_module-2.2.0/ngx_http_upload_module.o] Error code 1
Stop in /usr/ports/www/nginx/work/nginx-1.4.4.
*** [build] Error code 1
Nginx 1.5.7:
===> Building for nginx-devel-1.5.7
make -f objs/Makefile
cc -c -O2 -pipe -fno-strict-aliasing -I /usr/local/include -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules -I src/mail -o objs/addon/nginx_upload_module-2.2.0/ngx_http_upload_module.o /usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:179: error: expected specifier-qualifier-list before 'SHA256_CTX'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:184: error: expected specifier-qualifier-list before 'SHA512_CTX'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_start_handler':
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1383: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1386: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_finish_handler':
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1482: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1482: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1485: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1485: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_flush_output_buffer':
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1650: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:1653: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_sha256_variable':
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: 'SHA256_DIGEST_LENGTH' undeclared (first use in this function)
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: (Each undeclared identifier is reported only once
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: for each function it appears in.)
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2386: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2387: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2390: error: 'ngx_http_upload_sha256_ctx_t' has no member named 'sha256_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_sha512_variable':
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2417: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2417: error: 'SHA512_DIGEST_LENGTH' undeclared (first use in this function)
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2423: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2424: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
/usr/ports/www/nginx-devel/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2427: error: 'ngx_http_upload_sha512_ctx_t' has no member named 'sha512_digest'
*** [objs/addon/nginx_upload_module-2.2.0/ngx_http_upload_module.o] Error code 1
Stop in /usr/ports/www/nginx-devel/work/nginx-1.5.7.
>How-To-Repeat:
Try to build 3rd-party upload module for Nginx 1.4.4 or Nginx 1.5.7 from ports (04.12.2013 00:11 EET)
>Fix:
Should be added small fix in extra-patch about upload module that includes openssl/sha.h instead sha.h in ngx_http_upload_module.c NGX_HAVE_OPENSSL_SHA1_H else case.
Currently I edited direct your "extra-patched" ngx_http_upload_module.c (not ngx_http_upload_module.c.orig which is w/o the extra-patch from files).
Tested and working:
*** ngx_http_upload_module.c Wed Dec 4 02:19:05 2013 #(mine)
--- ngx_http_upload_module.c.PR Wed Dec 4 02:18:55 2013 #(yours)
***************
*** 23,29 ****
#if (NGX_HAVE_OPENSSL_SHA1_H)
#include <openssl/sha.h>
#else
! #include <openssl/sha.h>
#endif
#define MULTIPART_FORM_DATA_STRING "multipart/form-data"
--- 23,29 ----
#if (NGX_HAVE_OPENSSL_SHA1_H)
#include <openssl/sha.h>
#else
! #include <sha.h>
#endif
or some not fully tested patch if it is working correctly (but built is successfull):
*** ngx_http_upload_module.c.PR182010 Wed Dec 4 01:48:15 2013 #(yours)
--- ngx_http_upload_module.c2 Wed Dec 4 01:55:21 2013 #(mine)
***************
*** 24,33 ****
--- 24,45 ----
#include <openssl/sha.h>
#else
#include <sha.h>
#endif
+ #if (NGX_HAVE_OPENSSL_SHA256_H)
+ #include <openssl/sha.h>
+ #else
+ #include <openssl/sha.h>
+ #endif
+
+ #if (NGX_HAVE_OPENSSL_SHA512_H)
+ #include <openssl/sha.h>
+ #else
+ #include <openssl/sha.h>
+ #endif
+
#define MULTIPART_FORM_DATA_STRING "multipart/form-data"
#define BOUNDARY_STRING "boundary="
#define CONTENT_DISPOSITION_STRING "Content-Disposition:"
#define CONTENT_TYPE_STRING "Content-Type:"
#define CONTENT_RANGE_STRING "Content-Range:"
or (NOT tested if it is actually working, but built process is successfull):
*** ngx_http_upload_module.c.PR182010 Wed Dec 4 01:48:15 2013 #yours
--- ngx_http_upload_module.c Wed Dec 4 01:48:29 2013 #mine
***************
*** 5,14 ****
--- 5,15 ----
*/
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
#include <nginx.h>
+ #include </usr/src/sys/crypto/sha2/sha2.h>
#if (NGX_HAVE_OPENSSL_MD5_H)
#include <openssl/md5.h>
#else
#include <md5.h>
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list