[stunnel-users] undefined reference to `CRYPTO_set_id_callback'

Somchai Smythe buraphalinuxserver at gmail.com
Fri Nov 29 06:45:05 CET 2019


Well, OK, but why doesn't configure detect this and error out then?  I
put a lot of work into moving my system to openssl 1.1.1d since that
is supposed to be the current version.

Should I build a private, older openssl static library just for
stunnel?  I worry maybe that would miss out on bugs fixed in the
current openssl that aren't fixed in older versions.  To get everyting
else working, I wound up with this for my openssl:

CC=gcc \
./Configure linux-x86_64 \
   --prefix=/usr \
   --openssldir=/etc/ssl \
   --api=1.0.0 \
   threads \
   enable-mdc2 \
   no-asm \
   shared \
   no-ssl2 \
   no-ssl3 \
   zlib-dynamic \
   disable-fuzz-libfuzzer \
   -DOPENSSL_USE_IPV6=0 \
   -DMAKEDEPPROG=gcc

All of my other stuff works with that build of openssl.  So yeah, I
guess I'll have to build a special stunnel-only openssl.  What version
should I use, and how should I build it?  My system is a pure64 x86_64
system (no /usr/lib64, just /usr/lib) with no 32bit support at all,
and no ipv6.

I'd appreciate any hint you can give....

On 11/28/19, Flo Rance <trourance at gmail.com> wrote:
> If I understand correctly, CRYPTO_set_id_callback has been deprecated since
> version 1.0
>
> So you don't use the right version of openssl or deprecated code is
> compiled in (OPENSSL_NO_DEPRECATED is not set).
>
> #if OPENSSL_VERSION_NUMBER<0x10000000L || !defined(OPENSSL_NO_DEPRECATED)
>     CRYPTO_set_id_callback(stunnel_thread_id);
> #endif
>
> On Thu, 28 Nov 2019 at 05:13, Somchai Smythe <buraphalinuxserver at gmail.com>
> wrote:
>
>> Version 5.56 of stunnel, but I got the same error on 5.55.  I didn't
>> report it for 5.55 since 5.56 came out and I had hoped that would fix
>> it.
>>
>> The configure line was this:
>> CC=gcc \
>> CFLAGS='-O3 -m64 -march=x86-64 -mtune=generic -pipe -std=gnu17' \
>> ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
>> --mandir=/usr/man --disable-libwrap --with-pic
>>
>> Then I did a make -j4.  Should I avoid parallel builds?
>>
>>
>> On 11/27/19, Flo Rance <trourance at gmail.com> wrote:
>> > Which version of stunnel ?
>> >
>> > On Wed, 27 Nov 2019 at 11:56, Somchai Smythe <
>> buraphalinuxserver at gmail.com>
>> > wrote:
>> >
>> >> How do I fix this?
>> >>
>> >> gcc -DHAVE_CONFIG_H -I.  -I/usr/kerberos/include -I/usr/include
>> >> -DLIBDIR='"/usr/lib/stunnel"' -DCONFDIR='"/etc/stunnel"'   -O3 -m64
>> >> -march=x86-64 -mtune=generic -pipe -std=gnu17 -pthread -Wall -Wextra
>> >> -Wpedantic -Wformat=2 -Wconversion -Wno-long-long
>> >> -Wno-deprecated-declarations -fPIE -fstack-protector
>> >> -D_FORTIFY_SOURCE=2 -MT stunnel-sthreads.o -MD -MP -MF
>> >> .deps/stunnel-sthreads.Tpo -c -o stunnel-sthreads.o `test -f
>> >> 'sthreads.c' || echo './'`sthreads.c
>> >> sthreads.c: In function 'thread_id_init':
>> >> sthreads.c:116:5: warning: implicit declaration of function
>> >> 'CRYPTO_set_id_callback'; did you mean 'CRYPTO_set_locking_callback'?
>> >> [-Wimplicit-function-declaration]
>> >>   116 |     CRYPTO_set_id_callback(stunnel_thread_id);
>> >>       |     ^~~~~~~~~~~~~~~~~~~~~~
>> >>       |     CRYPTO_set_locking_callback
>> >>
>> >> ...
>> >>
>> >> libtool: link: ( cd ".libs" && rm -f "libstunnel.la" && ln -s
>> >> "../libstunnel.la" "libstunnel.la" )
>> >>
>> >>
>> /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld:
>> >> stunnel-sthreads.o: in function `sthreads_init':
>> >> sthreads.c:(.text+0xb0): undefined reference to
>> >> `CRYPTO_set_id_callback'
>> >>
>> >>
>> /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld:
>> >> stunnel-sthreads.o: in function `thread_id_init':
>> >> sthreads.c:(.text+0x3a): undefined reference to
>> >> `CRYPTO_set_id_callback'
>> >> collect2: error: ld returned 1 exit status
>> >> make[2]: *** [Makefile:550: stunnel] Error 1
>> >>
>> >> I'm using openssl-1.1.1d if it matters.
>> >> _______________________________________________
>> >> stunnel-users mailing list
>> >> stunnel-users at stunnel.org
>> >> https://www.stunnel.org/cgi-bin/mailman/listinfo/stunnel-users
>> >>
>> >
>>
>


More information about the stunnel-users mailing list