[ 
https://issues.apache.org/jira/browse/THRIFT-4308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James E. King, III resolved THRIFT-4308.
----------------------------------------
       Resolution: Fixed
    Fix Version/s: 0.12.0

> 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)

Reply via email to