I do not think the CRYPTO_TDEBUG macro is really useful, it pre-dates 3.x releases and basically switches off multithreading support. But it is not tested and I would be very much surprised if the OpenSSL code builds with it being defined. It is not clear to me, why are you seeing any compilation errors. Unless you try to typedef CRYPTO_ONCE or the other typedefs we have in the crypto.h header yourself. Could you please share a snippet of your code where you see the compilation error? Tomas Mraz, OpenSSL On Thu, 2025-01-16 at 22:46 +0000, 'Taralekar, SankalpSuhas' via openssl-users wrote: > > > > Hello, > In crypto.h.in file I see the following: > # if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) > 480 # if defined(_WIN32) > 481 # if defined(BASETYPES) || defined(_WINDEF_H) > 482 /* application has to include <windows.h> in order to use this */ > 483 typedef DWORD CRYPTO_THREAD_LOCAL; > 484 typedef DWORD CRYPTO_THREAD_ID; > 485 > 486 typedef LONG CRYPTO_ONCE; > 487 # define CRYPTO_ONCE_STATIC_INIT 0 > 488 # endif > 489 # else > 490 # if defined(__TANDEM) && defined(_SPT_MODEL_) > 491 # define SPT_THREAD_SIGNAL 1 > 492 # define SPT_THREAD_AWARE 1 > 493 # include <spthread.h> > 494 # else > 495 # include <pthread.h> > 496 # endif > 497 typedef pthread_once_t CRYPTO_ONCE; > 498 typedef pthread_key_t CRYPTO_THREAD_LOCAL; > 499 typedef pthread_t CRYPTO_THREAD_ID; > > We have our own wrappers for the above pthread_once_t, pthread_t. So, > we are getting an error in compilation of our code. Could you please > let me know how do I avoid this issue with reference to the above > openssl variables or any other workaround that is available? In > openssl 1.0.2 version these pthread variables were not present. We > were using openssl 1.0.2 before. We do not want to declare the above > pthread variables of openssl 3.0.15 as we have our own wrappers. > Thanks! > > > > > > Internal Use - Confidential > > > From: Taralekar, SankalpSuhas > Sent: Wednesday, January 15, 2025 1:59 PM > To: openssl-users@xxxxxxxxxxx > Subject: CRYPTO_TDEBUG in openssl 3.x code > > Hello, > Could not find much information about what exactly CRYPTO_TDEBUG does > after going through the code. Can someone please share any > information on its purpose if you are aware of it? What is the use > case of defining CRYPTO_TDEBUG and not defining it? > > Thanks, > Sankalp > -- > You received this message because you are subscribed to the Google > Groups "openssl-users" group. > To unsubscribe from this group and stop receiving emails from it, > send an email to openssl-users+unsubscribe@xxxxxxxxxxx. > To view this discussion visit > https://groups.google.com/a/openssl.org/d/msgid/openssl-users/BY3PR19MB50737F1F73E788BD6009AB6DE81A2%40BY3PR19MB5073.namprd19.prod.outlook.com > . -- Tomáš Mráz, OpenSSL -- You received this message because you are subscribed to the Google Groups "openssl-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to openssl-users+unsubscribe@xxxxxxxxxxx. To view this discussion visit https://groups.google.com/a/openssl.org/d/msgid/openssl-users/cc99f32b14237fe93e7fcd64255002a69cd55401.camel%40openssl.org.