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. 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: #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): + #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): #if (NGX_HAVE_OPENSSL_MD5_H) #include <openssl/md5.h> #else #include <md5.h>--xWD0iS3s455KzFn9LHcFZUnZF2HMORLW7spJMveYzqz1XEgJ Content-Type: text/plain; name="file.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="file.diff" *** 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 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)
Responsible Changed From-To: freebsd-ports-bugs->osa Over to maintainer (via the GNATS Auto Assign Tool)
Could you provide how to reproduce the issue?
Hello, Placing tick/mark/X on 3rd party upload module in make config for nginx (and/or) nginx-devel and try to fresh install nginx 1.4.4 and/or 1.5.7 with make install from ports (ports from 04.12.2013 00:11 EET). All ticks from make config are defaults + added by me tick on 3rd party upload module. No SSL support tick placed. I'm fitting in the case: trying to build Nginx without OpenSSL support (NGX_HAVE_OPENSSL_SHA1_H else case - include sha.h) which causes to include sha.h (which does not support SHA256, SHA512), instead openssl/sha.h, defaults ticks on make config + extra added 3rd party upload module. For example in you try to install Nginx + SSL support + 3rd party upload module, build process will be OK because it will fill in the case including openssl/sha.h instead sha.h (NGX_HAVE_OPENSSL_SHA1_H - if case - include openssl/sha.h). I tried it, it works, but I don't need SSL support, so I don't want to built it. On 04.12.2013 06:55 Ñ., Sergey A. Osokin wrote: > Could you provide how to reproduce the issue?
Current version of www/nginx (upload module marked, http ssl module unmarked) fails to build like that: /ngx_http_upstream_ip_hash_module.c cc -c -O2 -pipe -fstack-protector -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 -o objs/src/http/modules/ngx_http_upstream_least_conn_module.o src/http/modules/ngx_http_upstream_least_conn_module.c cc -c -O2 -pipe -fstack-protector -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 -o objs/src/http/modules/ngx_http_upstream_keepalive_module.o src/http/modules/ngx_http_upstream_keepalive_module.c cc -c -O2 -pipe -fstack-protector -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 -o objs/src/http/modules/ngx_http_stub_status_module.o src/http/modules/ngx_http_stub_status_module.c cc -c -O2 -pipe -fstack-protector -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 /wrkdirs/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c /wrkdirs/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' /wrkdirs/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' /wrkdirs/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_start_handler': /wrkdirs/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' /wrkdirs/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' /wrkdirs/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_finish_handler': /wrkdirs/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' /wrkdirs/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' /wrkdirs/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' /wrkdirs/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' /wrkdirs/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_flush_output_buffer': /wrkdirs/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' /wrkdirs/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' /wrkdirs/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_sha256_variable': /wrkdirs/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' /wrkdirs/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) /wrkdirs/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 /wrkdirs/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c:2380: error: for each function it appears in.) /wrkdirs/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' /wrkdirs/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' /wrkdirs/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' /wrkdirs/usr/ports/www/nginx/work/nginx_upload_module-2.2.0/ngx_http_upload_module.c: In function 'ngx_http_upload_sha512_variable': /wrkdirs/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' /wrkdirs/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) /wrkdirs/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' /wrkdirs/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' /wrkdirs/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' *** Error code 1 Stop in /wrkdirs/usr/ports/www/nginx/work/nginx-1.6.2. *** Error code 1 Stop in /wrkdirs/usr/ports/www/nginx/work/nginx-1.6.2. *** Error code 1 Stop in /usr/ports/www/nginx. ====>> Cleaning up wrkdir ===> Cleaning for nginx-1.6.2_1,2 build of www/nginx ended at Sat Mar 14 09:58:31 CET 2015 build time: 00:00:42 !!! build failure encountered !!!
Moving the ticket back to the pool, since the maintainer havent responded to it in a while.
@robak, thank you, with 1.6.2 I also confirm that the same happens. Unfortunately, the 3rd party upload module was recently dropped off :( http://svnweb.freebsd.org/ports?view=revision&revision=384807 . I was badly suprised when I updated my ports on Apr 27 this year, because my ports fetch was from Apr 27 15:58 EEST, a couple of hours after the official drop from Apr 27 02:16:04 UTC and I obviously missed to read about that change :( Last day when I checked out for changes in head was the previous day Apr 26 ... I definitely have bad luck :( Nevermind about my luck, @osa thank you for supporting this module in the years.