tsuru/docker-nginx-with-modules

Issue while building jwt module along with tsuru.

omkarphadke84 opened this issue · 1 comments

Hello,

I tried including https://github.com/TeslaGov/ngx-http-auth-jwt-module in to flavors.json and hoped that I could use tsuru along with jwt module but it fails with the following error.

./ngx-http-auth-jwt-module/src/ngx_http_auth_jwt_module.c:13:10: fatal error: jwt.h: No such file or directory
 #include <jwt.h>
          ^~~~~~~
compilation terminated.
make[1]: *** [objs/Makefile:3101: objs/addon/src/ngx_http_auth_jwt_module.o] Error 1
make[1]: Leaving directory '/usr/local/src/nginx-1.16.1'
make: *** [Makefile:14: modules] Error 2
The command '/bin/bash -c set -x     && nginx_version=$(echo ${NGINX_VERSION} | sed 's/-.*//g')     && curl -fSL "https://nginx.org/download/nginx-${nginx_version}.tar.gz"     |  tar -C /usr/local/src -xzvf-     && ln -s /usr/local/src/nginx-${nginx_version} /usr/local/src/nginx     && cd /usr/local/src/nginx     && configure_args=$(nginx -V 2>&1 | grep "configure arguments:" | awk -F 'configure arguments:' '{print $2}');     IFS=',';     for module in ${modules}; do         module_repo=$(echo $module | sed -E 's@^(((https?|git)://)?[^:]+).*@\1@g');         module_tag=$(echo $module | sed -E 's@^(((https?|git)://)?[^:]+):?([^:/]*)@\4@g');         dirname=$(echo "${module_repo}" | sed -E 's@^.*/|\..*$@@g');         git clone "${module_repo}";         cd ${dirname};         git fetch --tags;         if [ -n "${module_tag}" ]; then             if [[ "${module_tag}" =~ ^(pr-[0-9]+.*)$ ]]; then                 pr_numbers="${BASH_REMATCH[1]//pr-/}";                 IFS=';';                 for pr_number in ${pr_numbers}; do                     git fetch origin "pull/${pr_number}/head:pr-${pr_number}";                     git merge --no-commit pr-${pr_number} master;                 done;                 IFS=',';             else                 git checkout "${module_tag}";            fi;         fi;         cd ..;         configure_args="${configure_args} --add-dynamic-module=./${dirname}";     done; unset IFS     && eval ./configure ${configure_args}     && make modules     && cp -v objs/*.so /usr/lib/nginx/modules/' returned a non-zero code: 2
make: *** [image] Error 2

I am not sure if this is something needs to be fixed in the jwt module or tsuru.
Please let me know how could I use tsuru/nginx-tsuru along with jwt.

Thanks,
Omkar

Hi,

You also need to include libjwt-dev package in main Dockerfile. This package contain missing JWT headers described on your error message.

fatal error: jwt.h: No such file or directory 
#include <jwt.h>