thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4308) D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang
Date Mon, 29 Jan 2018 19:54:00 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-4308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16343912#comment-16343912
] 

ASF GitHub Bot commented on THRIFT-4308:
----------------------------------------

GitHub user jeking3 opened a pull request:

    https://github.com/apache/thrift/pull/1483

    THRIFT-4308: re-enable dlang deimos build support for libevent and openssl

    ... working around a dmd link order issue.
    
    https://issues.apache.org/jira/browse/THRIFT-4308

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jeking3/thrift THRIFT-4308

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/1483.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1483
    
----
commit 9357558278fb831a84cef42ded71887296b7e453
Author: James E. King III <jking@...>
Date:   2018-01-29T19:51:24Z

    THRIFT-4308: re-enable dlang deimos build support for libevent and openssl, working around
a dmd link order issue

----


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

Mime
View raw message