With libevent[-ssl]: i686-pc-linux-gnu-gcc -Os -march=pentium3 -mtune=core2 -mfpmath=sse -fomit-frame-pointer -pipe -Wall -fno-strict-aliasing -Wl,-O1 -Wl,--as-needed -Wl,-O,1,-z,combreloc -o tor tor_main.o ./libtor.a ../common/libor.a ../common/libor-crypto.a ../common/libor-event.a -lz -lm -levent_openssl -levent -lssl -lcrypto -lpthread -lrt -ldl /usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../../i686-pc-linux-gnu/bin/ld: cannot find -levent_openssl collect2: ld returned 1 exit status event_openssl is actually used -- when removed, the result is: # i686-pc-linux-gnu-gcc -Os -march=pentium3 -mtune=core2 -mfpmath=sse -fomit-frame-pointer -pipe -Wall -fno-strict-aliasing -Wl,-O1 -Wl,--as-needed -Wl,-O,1,-z,combreloc -o tor tor_main.o ./libtor.a ../common/libor.a ../common/libor-crypto.a ../common/libor-event.a -lz -lm -levent -lssl -lcrypto -lpthread -lrt -ldl ./libtor.a(connection_or.o): In function `connection_or_handle_event_cb': connection_or.c:(.text+0x3932): undefined reference to `bufferevent_ssl_renegotiate' connection_or.c:(.text+0x3a98): undefined reference to `bufferevent_get_openssl_error' ../common/libor-crypto.a(tortls.o): In function `tor_tls_init_bufferevent': tortls.c:(.text+0x480c): undefined reference to `bufferevent_openssl_filter_new' tortls.c:(.text+0x4a3a): undefined reference to `bufferevent_openssl_socket_new' collect2: ld returned 1 exit status That code (and linking to event_openssl) is only enabled with bufferevents.
(In reply to comment #0) > With libevent[-ssl]: > > i686-pc-linux-gnu-gcc -Os -march=pentium3 -mtune=core2 -mfpmath=sse > -fomit-frame-pointer -pipe -Wall -fno-strict-aliasing -Wl,-O1 > -Wl,--as-needed -Wl,-O,1,-z,combreloc -o tor tor_main.o ./libtor.a > ../common/libor.a ../common/libor-crypto.a ../common/libor-event.a -lz -lm > -levent_openssl -levent -lssl -lcrypto -lpthread -lrt -ldl > /usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../../i686-pc-linux-gnu/bin/ld: > cannot find -levent_openssl > collect2: ld returned 1 exit status > > event_openssl is actually used -- when removed, the result is: > > # i686-pc-linux-gnu-gcc -Os -march=pentium3 -mtune=core2 -mfpmath=sse > -fomit-frame-pointer -pipe -Wall -fno-strict-aliasing -Wl,-O1 > -Wl,--as-needed -Wl,-O,1,-z,combreloc -o tor tor_main.o ./libtor.a > ../common/libor.a ../common/libor-crypto.a ../common/libor-event.a -lz -lm > -levent -lssl -lcrypto -lpthread -lrt -ldl > ./libtor.a(connection_or.o): In function `connection_or_handle_event_cb': > connection_or.c:(.text+0x3932): undefined reference to > `bufferevent_ssl_renegotiate' > connection_or.c:(.text+0x3a98): undefined reference to > `bufferevent_get_openssl_error' > ../common/libor-crypto.a(tortls.o): In function `tor_tls_init_bufferevent': > tortls.c:(.text+0x480c): undefined reference to > `bufferevent_openssl_filter_new' > tortls.c:(.text+0x4a3a): undefined reference to > `bufferevent_openssl_socket_new' > collect2: ld returned 1 exit status > > That code (and linking to event_openssl) is only enabled with bufferevents. Thanks for catching that! Before I make the change, if we set USE="-bufferevents" then is the dependency on >=dev-libs/libevent-2.0.14[-ssl] sufficient?
> Thanks for catching that! Before I make the change, if we set > USE="-bufferevents" then is the dependency on > >=dev-libs/libevent-2.0.14[-ssl] sufficient? @Maxim. I just tested, confirmed and fixed the issue. Please test and repoen if there is still an issue.
Hi, I also checked that libevents[ssl] is only necessary with USE=bufferevents, before filing the bug. The relevant code is in #ifdefs.
(In reply to comment #3) > Hi, I also checked that libevents[ssl] is only necessary with > USE=bufferevents, before filing the bug. The relevant code is in #ifdefs. Thansk Maxim, I convinced myself you were right :)