0

I try to compile the ldap module with nginx on Centos7. However I am greeted with tons of compile errors.

The first few I got here:

cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 \
        -o objs/src/http/modules/ngx_http_stub_status_module.o \
        src/http/modules/ngx_http_stub_status_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g   -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 -I src/mail -I src/stream \
        -o objs/addon/ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.o \
        ./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:6:1: error: expected identifier or ‘(’ before ‘<’ token
 <!DOCTYPE html>
 ^
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:31:3: error: stray ‘\302’ in program
   <title>nginx-auth-ldap/ngx_http_auth_ldap_module.c at master · kvspb/nginx-auth-ldap · GitHub</title>
   ^
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:31:3: error: stray ‘\267’ in program
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:31:3: error: stray ‘\302’ in program
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:31:3: error: stray ‘\267’ in program
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:148:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
               </a>
               ^
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:174:267: error: expected identifier or ‘(’ before ‘<’ token
                     <a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>
                                                                                                                                                                                                                                                                           ^
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:187:332: error: expected identifier or ‘(’ before ‘<’ token
                       <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
                                                                                                                                                                                                                                                                                                                                            ^
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:188:308: error: expected identifier or ‘(’ before ‘<’ token
                       <li class="edge-item-fix"><a href="/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
                                                                                                                                                                                                                                                                                                                    ^
./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:211:299: error: expected identifier or ‘(’ before ‘<’ token
                       <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>

I try to compile with nginx 1.19 and got the latest version off github .

Before making I did:

Download and unpack sources of nginx 1.19 Download and unpack (as subdir in sourcetree of nginx) source of nginx-ldap-auth module

yum install gcc zlib-devel openssl-devel make pcre-devel libxml2-devel libxslt-devel libgcrypt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel

and

./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_sub_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_secure_link_module --add-module=./nginx-auth-ldap-master --with-http_auth_request_module --with-ipv6 --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' 

What am I missing? I did this same excercition long ago which went OK. Just too long to remember and the sources of that moment are long gone.

Tuckson
  • 3
  • 1

1 Answers1

0

It appears that you are trying to "compile HTML". It is obvious from the errors, just look closely:

./ngx_http_auth_ldap_module/ngx_http_auth_ldap_module.c:6:1: error: expected identifier or ‘(’ before ‘<’ token
<!DOCTYPE HTML>
...

or

<a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>

This may have happened because you used the wrong link to download either of NGINX or module's source tarball.

CentOS stands for Community Enterprise OS. By compiling software as opposed to using available packages, there is a notable security risk for production servers.

Better alternatives are:

Danila Vershinin
  • 5,286
  • 5
  • 17
  • 21
  • As for the latter comment... yes, I understand. Unfortunately I don't know of any decent rpm which provides met with nginx, including this module. I would definately prefer that route. – Tuckson Jul 23 '20 at 12:25
  • As for the html.Interesting.... Did not notice that at all.... thnx, I will go see what I did wrong. – Tuckson Jul 23 '20 at 12:26
  • The last 2 mentioned alternatives allow you to install NGINX and any module for it as a separate package. So you can build up the necessary functionality by merely installing the base NGINX package and any number of required module packages. – Danila Vershinin Jul 23 '20 at 12:28
  • Thnx, will have a look at it. As for now, my problem is solved bij getting the correct file from github. It appears that when you copy the soruce from the github without first going to 'raw' you get the underlying html as well? – Tuckson Jul 23 '20 at 12:59