Skip to content

Commit

Permalink
THRIFT-4308: re-enable dlang deimos build support for libevent
Browse files Browse the repository at this point in the history
and openssl, working around a dmd link order issue.
Update dotnet-sdk to 2.1.4 (was 2.0.5) because of build failures

Client: d
Client: netcore

This closes apache#1483
  • Loading branch information
jeking3 committed Jan 30, 2018
1 parent 2471efa commit f338d57
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 47 deletions.
6 changes: 3 additions & 3 deletions LANGUAGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ The Language/Library Levels indicate the minimum and maximum versions that are u
<tr align=center>
<td align=left><a href="lib/d/README.md">D</a></td>
<!-- Build Systems ---------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Language Levels -------><td>2.070.2</td><td>2.076.0</td>
<!-- Language Levels -------><td>2.070.2</td><td>2.077.1</td>
<!-- Low-Level Transports --><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
<!-- Transport Wrappers ----><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
<!-- Protocols -------------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
Expand All @@ -94,7 +94,7 @@ The Language/Library Levels indicate the minimum and maximum versions that are u
<tr align=center>
<td align=left><a href="lib/dart/README.md">Dart</a></td>
<!-- Build Systems ---------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Language Levels -------><td>1.20.1</td><td>1.24.2</td>
<!-- Language Levels -------><td>1.20.1</td><td>1.24.3</td>
<!-- Low-Level Transports --><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Transport Wrappers ----><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Protocols -------------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
Expand All @@ -114,7 +114,7 @@ The Language/Library Levels indicate the minimum and maximum versions that are u
<tr align=center>
<td align=left><a href="lib/netcore/README.md">.NET Core</a></td>
<!-- Build Systems ---------><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Language Levels -------><td>2.0.0</td><td>2.0.3</td>
<!-- Language Levels -------><td>2.0.0</td><td>2.0.5</td>
<!-- Low-Level Transports --><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
<!-- Transport Wrappers ----><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Protocols -------------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
Expand Down
12 changes: 6 additions & 6 deletions build/docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,17 @@ Last updated: October 1, 2017

| Language | ubuntu-trusty | ubuntu-xenial | ubuntu-artful | Notes |
| :-------- | :------------ | :------------ | :------------ | :---- |
| as of | Oct 01, 2017 | Jan 11, 2018 | Oct 01, 2017 | |
| as of | Oct 01, 2017 | Jan 29, 2018 | Jan 29, 2018 | |
| as3 | | | | Not in CI |
| C++ gcc | 4.8.4 | 5.4.0 | 7.2.0 | |
| C++ clang | 3.4 | 3.8 | 4.0 | |
| C# (mono) | 3.2.8.0 | 4.2.1.0 | 4.6.2.7 | |
| c_glib | 2.40.2 | 2.48.2 | 2.54.0 | |
| cocoa | | | | Not in CI |
| d | 2.070.2 | 2.073.2 | 2.076.0 | |
| dart | 1.20.1 | 1.22.1 | 1.24.2 | |
| d | 2.070.2 | 2.073.2 | 2.077.1 | |
| dart | 1.20.1 | 1.22.1 | 1.24.3 | |
| delphi | | | | Not in CI |
| dotnet | | 2.0.3 | 2.0.3 | |
| dotnet | | 2.1.4 | 2.1.4 | v2.1.4 SDK uses v2.0.5 Runtime |
| erlang | R16B03 | 18.3 | 20.0.4 | |
| go | 1.2.1 | 1.6.2 | 1.8.3 | |
| haskell | 7.6.3 | 7.10.3 | 8.0.2 | |
Expand All @@ -157,11 +157,11 @@ Last updated: October 1, 2017
| nodejs | | 4.2.6 | 8.9.1 | trusty has node.js 0.10.0 which is too old |
| ocaml | | 4.02.3 | 4.04.0 | |
| perl | 5.18.2 | 5.22.1 | 5.26.0 | |
| php | 5.5.9 | 7.0.22 | 7.1.8 | |
| php | 5.5.9 | 7.0.22 | 7.1.11 | |
| python | 2.7.6 | 2.7.12 | 2.7.14 | |
| python3 | 3.4.3 | 3.5.2 | 3.6.3 | |
| ruby | 1.9.3p484 | 2.3.1p112 | 2.3.3p222 | |
| rust | 1.15.1 | 1.17.0 | 1.18.0 | |
| rust | 1.15.1 | 1.17.0 | 1.21.0 | |
| smalltalk | | | | Not in CI |
| swift | | | | Not in CI |

Expand Down
29 changes: 15 additions & 14 deletions build/docker/ubuntu-artful/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -92,27 +92,28 @@ RUN apt-get install -y --no-install-recommends \
`# csharp (mono) dependencies` \
mono-devel

ENV D_VERSION 2.077.1-0.1
RUN apt-get install -y --no-install-recommends \
`# D dependencies` \
dmd-bin \
libphobos2-dev \
dmd-bin=$D_VERSION \
libphobos2-dev=$D_VERSION \
dmd-compiler=$D_VERSION \
dmd-tools=$D_VERSION \
dub \
dfmt \
dscanner \
libevent-dev \
libssl-dev \
xdg-utils
# libevent deimos doesn't seem to work so not enabling it:
# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
# rm -rf libevent-master
# openssl deimos doesn't work with openssl-1.0.2 so not enabling it:
# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
# rm -rf openssl-master
RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf libevent-master
RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf openssl-master

RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
Expand All @@ -121,7 +122,7 @@ ENV PATH /usr/lib/dart/bin:$PATH

RUN apt-get install -y --no-install-recommends \
`# dotnet core dependencies` \
dotnet-sdk-2.0.3
dotnet-sdk-2.1.4

RUN apt-get install -y --no-install-recommends \
`# Erlang dependencies` \
Expand Down
18 changes: 9 additions & 9 deletions build/docker/ubuntu-trusty/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,15 @@ RUN apt-get install -y --no-install-recommends \
dfmt \
dscanner \
xdg-utils
# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
# rm -rf libevent-master
# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
# rm -rf openssl-master
RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf libevent-master
RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf openssl-master

RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
Expand Down
22 changes: 10 additions & 12 deletions build/docker/ubuntu-xenial/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -106,17 +106,15 @@ RUN apt-get install -y --allow-unauthenticated --no-install-recommends \
libevent-dev \
libssl-dev \
xdg-utils
# libevent deimos doesn't seem to work so not enabling it:
# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
# rm -rf libevent-master
# openssl deimos doesn't work with openssl-1.0.2 so not enabling it:
# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
# rm -rf openssl-master
RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf libevent-master
RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf openssl-master

RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
Expand All @@ -125,7 +123,7 @@ ENV PATH /usr/lib/dart/bin:$PATH

RUN apt-get install -y --no-install-recommends \
`# dotnet core dependencies` \
dotnet-sdk-2.0.3
dotnet-sdk-2.1.4

RUN apt-get install -y --no-install-recommends \
`# Erlang dependencies` \
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ linker flags for OPTLINK. Please set DMD_LIBEVENT_FLAGS manually.])
else
AX_LIB_EVENT([2.0])
if test "$success" = "yes"; then
DMD_LIBEVENT_FLAGS=$(echo "$LIBEVENT_LDFLAGS $LIBEVENT_LIBS" | \
DMD_LIBEVENT_FLAGS=$(echo "-fuse-ld=gold $LIBEVENT_LDFLAGS $LIBEVENT_LIBS" | \
sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/ */ -L/g')
with_d_event_tests="yes"
else
Expand All @@ -537,7 +537,7 @@ linker flags for OPTLINK. Please set DMD_OPENSSL_FLAGS manually.])
else
AX_CHECK_OPENSSL([with_d_ssl_tests="yes"])
if test "$with_d_ssl_tests" = "yes"; then
DMD_OPENSSL_FLAGS=$(echo "$OPENSSL_LDFLAGS $OPENSSL_LIBS" | \
DMD_OPENSSL_FLAGS=$(echo "-fuse-ld=gold $OPENSSL_LDFLAGS $OPENSSL_LIBS" | \
sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/ */ -L/g')
else
AC_MSG_WARN([D OpenSSL interface present, but OpenSSL library not found.])
Expand Down
2 changes: 1 addition & 1 deletion lib/cpp/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ libthriftz_la_CXXFLAGS = $(AM_CXXFLAGS)
libthriftqt_la_CXXFLAGS = $(AM_CXXFLAGS)
libthriftqt5_la_CXXFLAGS = $(AM_CXXFLAGS)
libthriftnb_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS)
libthriftz_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS)
libthriftz_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS) $(ZLIB_LIBS)
libthriftqt_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS) $(QT_LIBS)
libthriftqt5_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS) $(QT5_LIBS)

Expand Down

0 comments on commit f338d57

Please sign in to comment.