Generate opensslconf.h - openssl 1.0.2 vs openssl 1.1.1g

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

Generate opensslconf.h - openssl 1.0.2 vs openssl 1.1.1g

prudvi raj
Hello,

How do i  generate "opensslconf.h" in openssl 1.1.1g?
From docs, i assume it is created after we give  "./Configure <options> gcc".
I observe that "opensslconf.h" is created only on giving "make" after ./Configure... But this additionally created .d & .o files in crypto folders.
For openssl1.0.2 , the same opensslconf.h is created right after "./Configure" .
(all .h files in include directory are created after ./Configure, whereas in 1.1.1 .h files appear in include directory - without any ./Configure)

For context , we are upgrading our project to openssl 1.1.1g from 1.0.2k & i am concerned about this .d & .o files, in case i build the whole project - which is including openssl folder.

Thanks,
Prud.

  
Reply | Threaded
Open this post in threaded view
|

Re: Generate opensslconf.h - openssl 1.0.2 vs openssl 1.1.1g

Richard Levitte - VMS Whacker-2
On Thu, 16 Jul 2020 22:01:51 +0200,
prudvi raj wrote:
> How do i  generate "opensslconf.h" in openssl 1.1.1g?
> From docs, i assume it is created after we give  "./Configure <options> gcc".
> I observe that "opensslconf.h" is created only on giving "make" after ./Configure... But this
> additionally created .d & .o files in crypto folders.

Yes, generation of most such files have moved to the building phase
rather than the configuration phase, so to say.

The really quick way to get an individual file of this sort is to
simply make it, i.e.:

    make include/openssl/opensslconf.h

> For openssl1.0.2 , the same opensslconf.h is created right after "./Configure" .
> (all .h files in include directory are created after ./Configure, whereas in 1.1.1 .h files appear
> in include directory - without any ./Configure)

Yeah, before 1.1.0, the public header files were spread around in
diverse crypto/ subdirectories, and they got symlinked into
include/openssl, or copied, on platforms that don't support symbolic
links.  We moved them permanently to include/openssl in 1.1.0, which
means the symlinking is no longer needed.

> For context , we are upgrading our project to openssl 1.1.1g from 1.0.2k & i am concerned about
> this .d & .o files, in case i build the whole project - which is including openssl folder.

I don't quite understand why .o files are a concern, they are the
normal object files that are used to build up libraries and
applications, and are produced in OpenSSL before 1.1.0 as well.

Cheers,
Richard

--
Richard Levitte         [hidden email]
OpenSSL Project         http://www.openssl.org/~levitte/
Reply | Threaded
Open this post in threaded view
|

Re: Generate opensslconf.h - openssl 1.0.2 vs openssl 1.1.1g

prudvi raj
Hello,

--- Re : OPENSSLDIR in openssl 1.1.1--- 
I have successfully generated opensslconf.h  , 
(used make , not make...opensslconf.h - had to generate other .h files as well).
 
Upon comparing contents of opensslconf.h from 1.0.2 & 1.1.1 , i see that:

"OPENSSLDIR" is #define 'ed in opensslconf.h in 1.0.2 & not in 1.1.1.
Now, i got the error :
<my project path>/openssl/crypto/x509/x509_def.c: In function 'X509_get_default_private_dir': 
<my project path>/ openssl/crypto/x509/x509_def.c:17:12: error: 'OPENSSLDIR' undeclared (first use in this function)

Although , the log of "make" showed  OPENSSLDIR as "/usr/local/ssl" , which is default . I couldn't find where this is #define 'ed.

May I know , where it's defined in openssl 1.1.1g  or how this error can be resolved. ?

Thanks,
-Prud



On Fri, Jul 17, 2020 at 2:32 PM Richard Levitte <[hidden email]> wrote:
On Thu, 16 Jul 2020 22:01:51 +0200,
prudvi raj wrote:
> How do i  generate "opensslconf.h" in openssl 1.1.1g?
> From docs, i assume it is created after we give  "./Configure <options> gcc".
> I observe that "opensslconf.h" is created only on giving "make" after ./Configure... But this
> additionally created .d & .o files in crypto folders.

Yes, generation of most such files have moved to the building phase
rather than the configuration phase, so to say.

The really quick way to get an individual file of this sort is to
simply make it, i.e.:

    make include/openssl/opensslconf.h

> For openssl1.0.2 , the same opensslconf.h is created right after "./Configure" .
> (all .h files in include directory are created after ./Configure, whereas in 1.1.1 .h files appear
> in include directory - without any ./Configure)

Yeah, before 1.1.0, the public header files were spread around in
diverse crypto/ subdirectories, and they got symlinked into
include/openssl, or copied, on platforms that don't support symbolic
links.  We moved them permanently to include/openssl in 1.1.0, which
means the symlinking is no longer needed.

> For context , we are upgrading our project to openssl 1.1.1g from 1.0.2k & i am concerned about
> this .d & .o files, in case i build the whole project - which is including openssl folder.

I don't quite understand why .o files are a concern, they are the
normal object files that are used to build up libraries and
applications, and are produced in OpenSSL before 1.1.0 as well.

Cheers,
Richard

--
Richard Levitte         [hidden email]
OpenSSL Project         http://www.openssl.org/~levitte/