[ https://issues.apache.org/jira/browse/THRIFT-4308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King III closed THRIFT-4308. ------------------------------------- > D language docker images need demios for libevent and openssl fixed to > re-enable make cross on dlang > ---------------------------------------------------------------------------------------------------- > > Key: THRIFT-4308 > URL: https://issues.apache.org/jira/browse/THRIFT-4308 > Project: Thrift > Issue Type: Improvement > Components: Build Process, D - Library > Affects Versions: 0.11.0 > Environment: docker:ubuntu-xenial > Reporter: James E. King III > Assignee: James E. King III > Priority: Major > Fix For: 0.12.0 > > > I had to disable the deimos hooks for libevent and openssl because they were > causing build failures in 0.11.0. A result of this change is that dlang is > NOT tested in "make cross" at all, because the test executables are only > generated if openssl support exists, and it does not. > It turns out this is some sort of link ordering issue. On further diagnosis, > the dmd command outputs this build line when you add -v: > {noformat} > root@f82a62661052:/thrift/src/lib/d/test# cc client_pool_test.o -o > client_pool_test -m64 -levent -lssl -lcrypto -L/usr/lib/x86_64-linux-gnu > -Xlinker --export-dynamic ../../../lib/d/libthriftd.a ../libthriftd-event.a > ../libthriftd-ssl.a -Xlinker -Bstatic -lphobos2 -Xlinker -Bdynamic -lpthread > -lm -lrt -ldl > ../libthriftd-event.a(libevent_1_846.o): In function > `_D6thrift5async8libevent21TLibeventAsyncManager6__ctorMFZC6thrift5async8libevent21TLibeventAsyncManager': > src/thrift/async/libevent.d:(.text._D6thrift5async8libevent21TLibeventAsyncManager6__ctorMFZC6thrift5async8libevent21TLibeventAsyncManager+0x11): > undefined reference to `event_base_new' > src/thrift/async/libevent.d:(.text._D6thrift5async8libevent21TLibeventAsyncManager6__ctorMFZC6thrift5async8libevent21TLibeventAsyncManager+0xa3): > undefined reference to `event_new' > src/thrift/async/libevent.d:(.text._D6thrift5async8libevent21TLibeventAsyncManager6__ctorMFZC6thrift5async8libevent21TLibeventAsyncManager+0xb1): > undefined reference to `event_add' > {noformat} > If you add -Wl,--start-group before the event library, OR move event, ssl, > and crypto to the end of the library list, the link completes. -- This message was sent by Atlassian JIRA (v7.6.3#76005)