thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel X (Jira)" <>
Subject [jira] [Commented] (THRIFT-5243) Broken Dlang build on Windows
Date Mon, 29 Jun 2020 18:16:00 GMT


Daniel X commented on THRIFT-5243:

Thank you - I tested the latest DMD and it does indeed build the 'master' branch.

Side note, perhaps of interest to whomever is maintaining Thrift on D - the reason I was attempting
0.13.0, was because of a different LDC error when attempting to build master:
{quote}{{Performing "release" build using ldc2 for x86_64.}}
 {{apache-thrift 0.13.0+commit.258.g0dd13639: building configuration "library"...}}
 {{Unwind edges out of a funclet pad must have the same unwind dest}}
 \{{ %232 = cleanuppad within none []}}
 \{{ cleanupret from %232 unwind to caller}}
 \{{ invoke x86_vectorcallcc void %248(%core.sync.condition.Condition* nonnull %249) [ "funclet"(token
%232) ]}}
 \{{ to label %250 unwind label %274}}
 \{{in function _D6thrift6server8taskpool6workerFKSQBhQBdQz10QueueStateCQCc9transport4base10TTransportCQDh8protocolQBe9TProtocolQBaCQEkQBd9processor10TProcessorCQFnQFjQDe19TServerEventHandlerZv}}
 {{LLVM ERROR: Broken function found, compilation aborted!}}
 {{ldc2 failed with exit code 1.}}
Seems like some deep LLVM voodoo. Anyway, thanks for confirming that it works with DMD, I'll
use that instead.

> Broken Dlang build on Windows
> -----------------------------
>                 Key: THRIFT-5243
>                 URL:
>             Project: Thrift
>          Issue Type: Bug
>          Components: D - Library
>    Affects Versions: 0.13.0
>         Environment: Windows 10 Pro 1909
> LDC version 1.20.1
> DUB version 1.19.0
> Thrift 0.13.0
>            Reporter: Daniel X
>            Priority: Major
> Can't build on Windows with a recent-ish D compiler (LDC 1.20.1) .
> An immediate problem is that the D library is using a deprecated winsock import (**,
has moved to **). But fixing that manually reveals a slew of other
issues beyond my understanding.
> Just a few from the error output:
> {quote}{{lib\d\src\thrift\async\libevent.d(65,37): Error: function deimos.event2.event.event_new(event_base*,
int, short, extern (C) void function(int, short, void*), void*) is not callable using argument
types (event_base*, socket_t, int, extern (C) void function(int, short, void*) nothrow @system,
>  {{lib\d\src\thrift\async\libevent.d(65,37): cannot pass argument this.controlReceiveSocket_.handle()
of type socket_t to parameter int}}
>  {{lib\d\src\thrift\async\libevent.d(191,25): Error: template thrift.async.libevent.TLibeventAsyncManager.registerOneshotEvent
cannot deduce function from argument types !()(socket_t, short, extern (C) void function(int,
short, void*) nothrow @system, const(timeval)*, void delegate(TAsyncEventReason callReason)),
candidates are:}}
>  {{lib\d\src\thrift\async\libevent.d(195,8): registerOneshotEvent(T)(evutil_socket_t
fd, short type, event_callback_fn callback, const(timeval)* timeout, T payload)}}
>  {{lib\d\src\thrift\codegen\async_client_pool.d(99,25): Deprecation: initialization of
immutable variable from static this is deprecated.}}
>  {{lib\d\src\thrift\codegen\async_client_pool.d(99,25): Use shared static this instead.}}
> {quote}
> Also, while replacing the deprecated winsock imports, I noticed the conditional compilation
blocks were using version(Win32) instead of version(Windows). AFAIK the former is only for
32-bit compilation - and I had to replace that to get as far as I did.
> Sorry I can't be of more assistance, but I didn't see any existing issues about this
so thought I'd report it. (Not a lot of Thrift D users on Windows, it seems!)

This message was sent by Atlassian Jira

View raw message