Re: nbdkit -> openssl-devel-engine build dependency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 19, 2024 at 12:06:21PM +0100, Richard W.M. Jones wrote:
> Zbigniew (correctly) added this patch to nbdkit:
> 
>   https://src.fedoraproject.org/rpms/nbdkit/c/6b18b74749efbe1f618ea4bc010b56277157b0ac?branch=rawhide
> 
> I was wondering what it was for because we don't use openssl at all.
> However when I rebuild nbdkit without the BuildRequires, it fails [see
> below].
> 
> It seems the _real_ problem may be that either boost-devel or
> rb_libtorrent-devel should runtime Requires: openssl-devel-engine?
> 
> However I'm not confident enough to say for sure if I should file a
> bug in those packages (or which one to open a bug against).  I also
> have no idea what openssl "engine" is.
> 
> Can anyone help on this?
> 
> Rich.
> 
> Failed build:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=120734527
> 
> /bin/sh ../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../plugins/torrent -I../..  -I../../../include -I../../include -I../../../common/include -I../../../common/utils -I.    -pthread -fexceptions -DTORRENT_LINKING_SHARED -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_NO_DEPRECATED -DTORRENT_USE_OPENSSL -DTORRENT_USE_LIBCRYPTO -DTORRENT_SSL_PEERS -DOPENSSL_NO_SSL2  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  -c -o nbdkit_torrent_plugin_la-torrent.lo `test -f 'torrent.cpp' || echo '../../../plugins/torrent/'`torrent.cpp
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../../plugins/torrent -I../.. -I../../../include -I../../include -I../../../common/include -I../../../common/utils -I. -pthread -fexceptions -DTORRENT_LINKING_SHARED -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_NO_DEPRECATED -DTORRENT_USE_OPENSSL -DTORRENT_USE_LIBCRYPTO -DTORRENT_SSL_PEERS -DOPENSSL_NO_SSL2 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -c ../../../plugins/torrent/torrent.cpp  -fPIC -DPIC -o .libs/nbdkit_torrent_plugin_la-torrent.o
> make[3]: Leaving directory '/builddir/build/BUILD/nbdkit-1.39.10-build/nbdkit-1.39.10/build_native/plugins/torrent'
> In file included from /usr/include/boost/asio/ssl/context_base.hpp:19,
>                  from /usr/include/boost/asio/ssl/context.hpp:23,
>                  from /usr/include/boost/asio/ssl.hpp:18,
>                  from /usr/include/libtorrent/ssl.hpp:67,
>                  from /usr/include/libtorrent/tracker_manager.hpp:69,
>                  from /usr/include/libtorrent/alert_types.hpp:69,
>                  from ../../../plugins/torrent/torrent.cpp:48:
> /usr/include/boost/asio/ssl/detail/openssl_types.hpp:26:11: fatal error: openssl/engine.h: No such file or directory
>    26 | # include <openssl/engine.h>
>       |           ^~~~~~~~~~~~~~~~~~
> compilation terminated.

/usr/include/boost/asio/ssl/detail/openssl_types.hpp has
  #if !defined(OPENSSL_NO_ENGINE)
  # include <openssl/engine.h>
  #endif // !defined(OPENSSL_NO_ENGINE)
so it looks like boost-devel itself is fine with openssl-devel-engine
not being installed, so I don't think the package add the dependency.

Similarly, it seems that rb_libtorrent does't specifically care about
openssl engines in any way, so I don't think the package add the
dependency.

Thus, it seems that it's up to the "leaf" package including those
headers to decide whether to include with openssl engine headers
enabled. And to "decide", each package must either opt-in by pulling
in openssl-devel-engine or define OPENSSL_NO_ENGINE.

Zbyszek

-- 
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux