[ https://issues.apache.org/jira/browse/THRIFT-5243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17148050#comment-17148050 ]
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.}} {quote} 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: https://issues.apache.org/jira/browse/THRIFT-5243 > 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 (*std.c.windows.winsock*, has moved to *core.sys.windows.winsock2*). > 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, void*)}} > {{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 (v8.3.4#803005)