Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Dec 2013 00:32:23 GMT
From:      Bozhidara Marinchovska <quintessence@bulinfo.net>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/184484: 3rd-party upload module for nginx, nginx-devel build failed (regarding PR 182010)
Message-ID:  <201312040032.rB40WNFA056075@oldred.freebsd.org>
Resent-Message-ID: <201312040040.rB40e0Uc060138@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312040032.rB40WNFA056075>