thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel X (Jira)" <j...@apache.org>
Subject [jira] [Created] (THRIFT-5243) Broken Dlang build on Windows
Date Mon, 29 Jun 2020 14:07:00 GMT
Daniel X created THRIFT-5243:
--------------------------------

             Summary: 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


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)

Mime
View raw message