davidmhewitt / torrential

A simple torrent client for elementary OS
GNU General Public License v2.0
142 stars 30 forks source link

openssl 1.1.0 support #78

Closed awissu closed 6 years ago

awissu commented 6 years ago

Hi! Unfortunately currently torrential is fails to build from source with OpenSSL 1.1.0 on openSUSE Tumbleweed:

[  140s] /bin/sh ./libtool  --tag=CC   --mode=link gcc  -fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Wall -fno-strict-aliasing -pthread -version-info 6:10:1 -release 2.0   -o libevent_pthreads.la -rpath /home/abuild/rpmbuild/BUILD/torrential-1.0.7/build/third-party/event/lib evthread_pthread.lo  
[  140s] libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./compat -I./include -I./include -fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Wall -fno-strict-aliasing -pthread -MT bufferevent_openssl.lo -MD -MP -MF .deps/bufferevent_openssl.Tpo -c bufferevent_openssl.c -o bufferevent_openssl.o
[  140s] bufferevent_openssl.c: In function 'bio_bufferevent_new':
[  140s] bufferevent_openssl.c:106:3: error: dereferencing pointer to incomplete type 'BIO {aka struct bio_st}'
[  140s]   b->init = 0;
[  140s]    ^~
[  140s] bufferevent_openssl.c: At top level:
[  140s] bufferevent_openssl.c:228:1: error: variable 'methods_bufferevent' has initializer but incomplete type
[  140s]  static BIO_METHOD methods_bufferevent = {
[  140s]  ^~~~~~
[  140s] bufferevent_openssl.c:79:27: warning: excess elements in struct initializer
[  140s]  #define BIO_TYPE_LIBEVENT 57
[  140s]                            ^
[  140s] bufferevent_openssl.c:229:2: note: in expansion of macro 'BIO_TYPE_LIBEVENT'
[  140s]   BIO_TYPE_LIBEVENT, "bufferevent",
[  140s]   ^~~~~~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:79:27: note: (near initialization for 'methods_bufferevent')
[  140s]  #define BIO_TYPE_LIBEVENT 57
[  140s]                            ^
[  140s] bufferevent_openssl.c:229:2: note: in expansion of macro 'BIO_TYPE_LIBEVENT'
[  140s]   BIO_TYPE_LIBEVENT, "bufferevent",
[  140s]   ^~~~~~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:229:21: warning: excess elements in struct initializer
[  140s]   BIO_TYPE_LIBEVENT, "bufferevent",
[  140s]                      ^~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:229:21: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:230:2: warning: excess elements in struct initializer
[  140s]   bio_bufferevent_write,
[  140s]   ^~~~~~~~~~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:230:2: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:231:2: warning: excess elements in struct initializer
[  140s]   bio_bufferevent_read,
[  140s]   ^~~~~~~~~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:231:2: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:232:2: warning: excess elements in struct initializer
[  140s]   bio_bufferevent_puts,
[  140s]   ^~~~~~~~~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:232:2: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:233:2: warning: excess elements in struct initializer
[  140s]   NULL /* bio_bufferevent_gets */,
[  140s]   ^~~~
[  140s] bufferevent_openssl.c:233:2: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:234:2: warning: excess elements in struct initializer
[  140s]   bio_bufferevent_ctrl,
[  140s]   ^~~~~~~~~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:234:2: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:235:2: warning: excess elements in struct initializer
[  140s]   bio_bufferevent_new,
[  140s]   ^~~~~~~~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:235:2: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:236:2: warning: excess elements in struct initializer
[  140s]   bio_bufferevent_free,
[  140s]   ^~~~~~~~~~~~~~~~~~~~
[  140s] bufferevent_openssl.c:236:2: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:237:2: warning: excess elements in struct initializer
[  140s]   NULL /* callback_ctrl */,
[  140s]   ^~~~
[  140s] bufferevent_openssl.c:237:2: note: (near initialization for 'methods_bufferevent')
[  140s] bufferevent_openssl.c:228:19: error: storage size of 'methods_bufferevent' isn't known
[  140s]  static BIO_METHOD methods_bufferevent = {
[  140s]                    ^~~~~~~~~~~~~~~~~~~
[  140s] mv -f .deps/evrpc.Tpo .deps/evrpc.Plo
[  140s] make[5]: *** [Makefile:899: bufferevent_openssl.lo] Error 1
davidmhewitt commented 6 years ago

Hi,

Thank you for reporting this.

Can you let me know if the latest release resolves this issue? I've updated the underlying version of libtransmission which looks to have openssl 1.1.0 support now.

Thanks

awissu commented 6 years ago
[   82s] CMake Error at transmission/libtransmission/CMakeLists.txt:219 (add_library):
[   82s]   Cannot find source file:
[   82s] 
[   82s]     appdata.c
[   82s] 
[   82s]   Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
[   82s]   .hxx .in .txx
davidmhewitt commented 6 years ago

That error message doesn't make any sense. Nothing asks CMake to build a file called appdata.c.

This doesn't look to be related to OpenSSL anymore, and I can't find the time to debug build issues on platforms I don't develop for. So I'll close this issue.

Please let me know if you find the cause of the issue and I will try to assist with fixing it.