[openssl-users] What to do with deprecation errors

Blumenthal, Uri - 0553 - MITLL uri at ll.mit.edu
Sun Oct 21 00:36:28 UTC 2018


I'm not sure I understand what you're doing, but:

$ cat ttt.c
#include <stdio.h>
#include <openssl/opensslv.h>

int main(void)
{
  printf("OPENSSL_VERSION_NUMBER %lx\n",OPENSSL_VERSION_NUMBER);
  return 0;
}
$ gcc -o ttt ttt.c -lcrypto
$ ./ttt
OPENSSL_VERSION_NUMBER 1000210f
$ gcc -o ttt -I$HOME/openssl-1.1/include ttt.c -L$HOME/openssl-1.1/lib -lcrypto
$ ./ttt
OPENSSL_VERSION_NUMBER 10101010
$

--
Regards,
Uri 

On 10/20/2018, 15:36, "openssl-users on behalf of Skip Carter" <openssl-users-bounces at openssl.org on behalf of skip at taygeta.com> wrote:

    All,
    
    I am thinking that the DEPRECATED... macros are not expanded by the
    pre-parser so the compiler sees them as a weirdly formed function and
    doesn't like it.
    
    I "installed" the header files with 'cp' was there a make command that
    I was supposed to use ?
    
     
    On Fri, 2018-10-19 at 16:54 -0700, Skip Carter wrote:
    > On Fri, 2018-10-19 at 22:54 +0100, Matt Caswell wrote:
    > > 
    > > 
    > > It looks like its not picking up the definition of the
    > > DEPRECATEDIN_1_2_0 macro for some reason.
    > > 
    > > That macro should be defined in opensslconf.h (which is included
    > > from
    > > ec.h), and looks like this:
    > > 
    > > /*
    > >  * Do not deprecate things to be deprecated in version 1.2.0 before
    > > the
    > >  * OpenSSL version number matches.
    > >  */
    > > #if OPENSSL_VERSION_NUMBER < 0x10200000L
    > > # define DEPRECATEDIN_1_2_0(f)   f;
    > > #elif OPENSSL_API_COMPAT < 0x10200000L
    > > # define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
    > > #else
    > > # define DEPRECATEDIN_1_2_0(f)
    > > #endif
    > > 
    > > And where OPENSSL_VERSION_NUMBER is declared in opensslv.h (which
    > > is
    > > included from opensslconf.h). Since 1.1.1 is less than 1.2.0, the
    > > first
    > > definition of DEPRECATEDIN_1_2_0 should apply, i.e. this macro
    > > should
    > > effectively be ignored and the parameter should be processed just
    > > like
    > > any other function declaration.
    > > 
    > > So do you have an opensslconf.h? And does it have that macro
    > > defined
    > > in
    > > it? My theory is that somehow or other you are picking up an old
    > > version
    > > of that header (maybe the system version) which doesn't have the
    > > macro
    > > defined.
    > > 
    > > Matt
    > > 
    > 
    > I found:
    > 
    > opensslv.h:# define OPENSSL_VERSION_NUMBER  0x1010100fL
    > 
    > Also to be sure my compilation environment isn't doing anything
    > funky:
    > 
    > #include <stdio.h>
    > 
    > #include <openssl/opensslv.h>
    > 
    > int main(void)
    > {
    >   
    >   printf("OPENSSL_VERSION_NUMBER %lx\n",OPENSSL_VERSION_NUMBER);
    >   
    >   return 0;
    > }
    > 
    > gave me the same thing.
    > 
    > 
    > 
    > -- 
    > Skip Carter
    > Taygeta Scientific Inc.
    -- 
    Skip Carter
    Taygeta Scientific Inc.
    
    -- 
    openssl-users mailing list
    To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
    
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5211 bytes
Desc: not available
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20181021/5af1de96/attachment.bin>


More information about the openssl-users mailing list