Opened 2 years ago
Closed 2 years ago
#66096 closed defect (fixed)
libevent @2.12.12_1: Fails when libressl @3.6.0 installed, due to BIO_get_init
Reported by: | daphnediane (Daphne Pfister) | Owned by: | jerryyhom |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.0 |
Keywords: | haspatch | Cc: | artkiver (グレェ), neverpanic (Clemens Lang) |
Port: | libevent, libressl |
Description
libevent fails to build with newer versions of libressl. Cause is related to BIO_get_init() becoming an opaque interface in 3.5+.
The attached patch file based on this upstream commit: https://github.com/libevent/libevent/pull/1227/commits/883630f76cbf512003b81de25cd96cb75c6cf0f9 fixes the problem.
Example error seen without the patch
:info:build libtool: compile: /usr/bin/clang -DHAVE_CONFIG_H -I. -I./compat -I./include -I./include -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -arch x86_64 -Wall -fno-strict-aliasing -Wno-deprecated-declarations -D_THREAD_SAFE -W -Wfloat-equal -Wundef -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wmissing-declarations -Wnested-externs -Wbad-function-cast -Wno-unused-parameter -Wstrict-aliasing -Winit-self -Wmissing-field-initializers -Wdeclaration-after-statement -Waddress -Wno-unused-function -Qunused-arguments -MT libevent_openssl_la-bufferevent_openssl.lo -MD -MP -MF .deps/libevent_openssl_la-bufferevent_openssl.Tpo -c bufferevent_openssl.c -fno-common -DPIC -o .libs/libevent_openssl_la-bufferevent_openssl.o :info:build bufferevent_openssl.c:124:7: error: incomplete definition of type 'struct bio_st' :info:build if (BIO_get_init(b) && BIO_get_data(b)) :info:build ^~~~~~~~~~~~~~~ :info:build ./openssl-compat.h:44:28: note: expanded from macro 'BIO_get_init' :info:build #define BIO_get_init(b) (b)->init :info:build ~~~^ :info:build /opt/local/include/openssl/ossl_typ.h:111:16: note: forward declaration of 'struct bio_st' :info:build typedef struct bio_st BIO; :info:build ^ :info:build 1 error generated.
Attachments (1)
Change History (6)
Changed 2 years ago by daphnediane (Daphne Pfister)
Attachment: | BIO_get_init_libressl3.5.patch added |
---|
comment:1 Changed 2 years ago by jmroot (Joshua Root)
Owner: | changed from jerryyhom@… to jerryyhom |
---|
comment:2 Changed 2 years ago by jerryyhom
comment:3 Changed 2 years ago by neverpanic (Clemens Lang)
Cc: | artkiver neverpanic added |
---|
Cc'ing new libressl maintainer.
comment:4 Changed 2 years ago by artkiver (グレェ)
Tested the patch locally and it seems to function OK.
Added notes to: https://github.com/macports/macports-ports/pull/16681/files but I do not have commit access, so someone else will need to merge this PR.
Regardless, it looks OK to me!
Thank you for your contributions and sorry for the delay in replying.
comment:5 Changed 2 years ago by jerryyhom
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
Thanks for the patch file. I will look into it.