Nginx compile with OpenSSL 1.1.1 and DESTDIR=

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Nginx compile with OpenSSL 1.1.1 and DESTDIR=

Anoop Alias

Hi,

I am trying to compile nginx 1.15.3 (mainline) with OpenSSL 1.1.1

# ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1

# make DESTDIR=/opt/test install

But this error out with
---------------
cc: error: ./openssl-1.1.1/.openssl/lib/libssl.a: No such file or directory
cc: error: ./openssl-1.1.1/.openssl/lib/libcrypto.a: No such file or directory
make[1]: *** [objs/nginx] Error 1
------------------

I could find that the openssl-1.1.1/.openssl directory is not created but instead

/opt/test/$nginxsrcpath/openssl-1.1.1/.openssl

That is if the nginx src is in /root/nginx-1.15.3/

The directory .openssl will be /opt/test/root/nginx-1.15.3/openssl-1.1.1/.openssl/

The make DESTDIR=/opt/test install works fine in nginx 1.13.x with OpenSSL 1.0.2p
I am not sure the change is caused by nginx 1.15.3 or openssl-1.1.1 to be honest



--
Anoop P Alias 


_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx
Reply | Threaded
Open this post in threaded view
|

Re: Nginx compile with OpenSSL 1.1.1 and DESTDIR=

Sergey Kandaurov

> On 18 Sep 2018, at 10:55, Anoop Alias <[hidden email]> wrote:
>
>
> Hi,
>
> I am trying to compile nginx 1.15.3 (mainline) with OpenSSL 1.1.1
>
> # ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1
>
> # make DESTDIR=/opt/test install
>
> But this error out with
> ---------------
> cc: error: ./openssl-1.1.1/.openssl/lib/libssl.a: No such file or directory
> cc: error: ./openssl-1.1.1/.openssl/lib/libcrypto.a: No such file or directory
> make[1]: *** [objs/nginx] Error 1
> ------------------
>
> I could find that the openssl-1.1.1/.openssl directory is not created but instead
>
> /opt/test/$nginxsrcpath/openssl-1.1.1/.openssl
>
> That is if the nginx src is in /root/nginx-1.15.3/
>
> The directory .openssl will be /opt/test/root/nginx-1.15.3/openssl-1.1.1/.openssl/
>
> The make DESTDIR=/opt/test install works fine in nginx 1.13.x with OpenSSL 1.0.2p
> I am not sure the change is caused by nginx 1.15.3 or openssl-1.1.1 to be honest

What effect do you expect from DESTDIR?
Starting from OpenSSL 1.1.0, it is used there as install prefix.

--
Sergey Kandaurov

_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx
Reply | Threaded
Open this post in threaded view
|

Re: Nginx compile with OpenSSL 1.1.1 and DESTDIR=

Anoop Alias
Hi,

./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1
make DESTDIR=/opt/test install

Did not create the .openssl directory inside the openssl source , but instead, this created the .openssl directory in the DESTDIR

I found out that if we use an explicit make command
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1
make
make DESTDIR=/opt/test install

This works

But the former command without the explicit make used to work on openssl 1.0.xx releases

Starting from OpenSSL 1.1.0, it is used there as install prefix.  ==> This may be an after effect of this 



On Tue, Sep 18, 2018 at 9:47 PM Sergey Kandaurov <[hidden email]> wrote:

> On 18 Sep 2018, at 10:55, Anoop Alias <[hidden email]> wrote:
>
>
> Hi,
>
> I am trying to compile nginx 1.15.3 (mainline) with OpenSSL 1.1.1
>
> # ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1
>
> # make DESTDIR=/opt/test install
>
> But this error out with
> ---------------
> cc: error: ./openssl-1.1.1/.openssl/lib/libssl.a: No such file or directory
> cc: error: ./openssl-1.1.1/.openssl/lib/libcrypto.a: No such file or directory
> make[1]: *** [objs/nginx] Error 1
> ------------------
>
> I could find that the openssl-1.1.1/.openssl directory is not created but instead
>
> /opt/test/$nginxsrcpath/openssl-1.1.1/.openssl
>
> That is if the nginx src is in /root/nginx-1.15.3/
>
> The directory .openssl will be /opt/test/root/nginx-1.15.3/openssl-1.1.1/.openssl/
>
> The make DESTDIR=/opt/test install works fine in nginx 1.13.x with OpenSSL 1.0.2p
> I am not sure the change is caused by nginx 1.15.3 or openssl-1.1.1 to be honest

What effect do you expect from DESTDIR?
Starting from OpenSSL 1.1.0, it is used there as install prefix.

--
Sergey Kandaurov

_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx


--
Anoop P Alias 


_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx
Reply | Threaded
Open this post in threaded view
|

Re: Nginx compile with OpenSSL 1.1.1 and DESTDIR=

Sergey Kandaurov

> On 19 Sep 2018, at 05:41, Anoop Alias <[hidden email]> wrote:
>
> Hi,
>
> ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1
> make DESTDIR=/opt/test install
>
> Did not create the .openssl directory inside the openssl source , but instead, this created the .openssl directory in the DESTDIR
>

As expected.

> I found out that if we use an explicit make command
> ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1
> make
> make DESTDIR=/opt/test install
>
> This works
>

And this is expected too.
Just use a separate ``make'' command to not mix
nginx's DESTDIR and openssl's DESTDIR means.

> But the former command without the explicit make used to work on openssl 1.0.xx releases
>
> Starting from OpenSSL 1.1.0, it is used there as install prefix.  ==> This may be an after effect of this

As previously noted.  You can also find this note in CHANGES:
  *) The INSTALL_PREFIX Makefile variable has been renamed to
     DESTDIR.  That makes for less confusion on what this variable
     is for.  Also, the configuration option --install_prefix is
     removed.
     [Richard Levitte]


--
Sergey Kandaurov

_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx
Reply | Threaded
Open this post in threaded view
|

Re: Nginx compile with OpenSSL 1.1.1 and DESTDIR=

Anoop Alias
Thanks Sergey

On Wed, Sep 19, 2018 at 4:24 PM Sergey Kandaurov <[hidden email]> wrote:

> On 19 Sep 2018, at 05:41, Anoop Alias <[hidden email]> wrote:
>
> Hi,
>
> ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1
> make DESTDIR=/opt/test install
>
> Did not create the .openssl directory inside the openssl source , but instead, this created the .openssl directory in the DESTDIR
>

As expected.

> I found out that if we use an explicit make command
> ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --with-openssl=./openssl-1.1.1
> make
> make DESTDIR=/opt/test install
>
> This works
>

And this is expected too.
Just use a separate ``make'' command to not mix
nginx's DESTDIR and openssl's DESTDIR means.

> But the former command without the explicit make used to work on openssl 1.0.xx releases
>
> Starting from OpenSSL 1.1.0, it is used there as install prefix.  ==> This may be an after effect of this

As previously noted.  You can also find this note in CHANGES:
  *) The INSTALL_PREFIX Makefile variable has been renamed to
     DESTDIR.  That makes for less confusion on what this variable
     is for.  Also, the configuration option --install_prefix is
     removed.
     [Richard Levitte]


--
Sergey Kandaurov

_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx


--
Anoop P Alias 


_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx