[openssl-dev] libcrypto.pc needs to list libpthread as a dependency

Richard Levitte levitte at openssl.org
Thu Sep 21 15:40:52 UTC 2017


In message <59BEBF25.5040701 at roumenpetrov.info> on Sun, 17 Sep 2017 21:29:57 +0300, Roumen Petrov <openssl at roumenpetrov.info> said:

openssl> Hi Howard,
openssl> 
openssl> Howard Chu wrote:
openssl> > Roumen Petrov wrote:
openssl> >> Howard Chu via openssl-dev wrote:
openssl> >>> In OpenSSL 1.1 on Linux (at least) libcrypto now has a dependency on
openssl> >>> libpthread but this is not reflected in the pkgconfig file. As a
openssl> >>> result, tools like CMake fail to detect libcrypto properly when
openssl> >>> linking against the static library. libpthread should be added to the
openssl> >>> Libs.private line of the pkgconfig file.
openssl> >>>
openssl> >>> For example:
openssl> >>> https://github.com/monero-project/monero/issues/2402#issuecomment-327514216
openssl> >>>
openssl> >>
openssl> >> Problem is that OpenSSL does not add it directly.
openssl> >> Build process does not know libraries added by compiler flags like
openssl> >> -pthread.
openssl> >>
openssl> >> Does not look like OpenSSL issue.
openssl> >
openssl> > That sounds like a lame cop-out. Currently the build process already
openssl> > knows that -ldl goes in ${EX_LIBS}. The Makefile is full of
openssl> > system-dependent settings already.
openssl> >
openssl> 
openssl> Case is totally different. Library dl is needed by DSO functionality.
openssl> 
openssl> Thread library is platform dependent . For instance it is not added on android. See gcc spec file (version 4.9+?).
openssl> 
openssl> Dunno what will be impact if openssl exports C-flag -pthread.

-pthread should be part of both compiling and linking, so Howard is
perfectly correct, we're not doing this quite right.  When -pthread is
used, it should also be added to the libcrypto.pc's Libs.private line.

I'm currently travelling, but will give this more concrete attention
when I've returned, i.e. next week.

Cheers,
Richard

-- 
Richard Levitte         levitte at openssl.org
OpenSSL Project         http://www.openssl.org/~levitte/


More information about the openssl-dev mailing list