Open artenax opened 2 years ago
Here are the build instructions.
Anyway, even compiled executables don't run (on Windows 7 and Wine).
I had the same problem. How do I use this fix pack? Can you fix the compilation problem with this? https://github.com/shadowsocks/libev/archive/mingw.zip
It's an old issue, but anyways... This patch makes most recent trunk version build under native Windows/MSYS2 (tested with UCRT64, but I guess MINGW64 should result the same). But it segfaults if I try to connect to anything.
--- a/src/udprelay.c
+++ b/src/udprelay.c
@@ -27,6 +27,7 @@
#include <signal.h>
#include <string.h>
#include <strings.h>
+#include <stdint.h>
#include <time.h>
#include <unistd.h>
#ifndef __MINGW32__
@@ -35,6 +36,9 @@
#include <netdb.h>
#include <netinet/in.h>
#include <pthread.h>
+#else
+#include <winsock.h>
+#define in_addr_t u_long
#endif
#ifdef HAVE_CONFIG_H
#include "config.h"
diff --git a/src/utils.h b/src/utils.h
index 1df24c1..bfaabaa 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -193,8 +193,8 @@ extern int use_syslog;
// Workaround for "%z" in Windows printf
#ifdef __MINGW32__
-#define SSIZE_FMT "%Id"
-#define SIZE_FMT "%Iu"
+#define SSIZE_FMT "%Illd"
+#define SIZE_FMT "%Illu"
#else
#define SSIZE_FMT "%zd"
#define SIZE_FMT "%zu"
You can't compile smoothly on windows without relying on docker. At least I haven't succeeded so far.
@.***
From: N-Storm Date: 2024-09-16 22:07 To: shadowsocks/shadowsocks-libev CC: dongzhaosheng73; Comment Subject: Re: [shadowsocks/shadowsocks-libev] Broken build in Mingw (Issue #2915) It's an old issue, but in case anyone still wondering how to build for Windows without docker. This trick helped me to build under native Windows/MSYS2-UCRT64: --- a/src/udprelay.c +++ b/src/udprelay.c @@ -27,6 +27,7 @@
+#include
@@ -35,6 +36,9 @@
+#else
+#include
diff --git a/src/utils.h b/src/utils.h index 1df24c1..bfaabaa 100644 --- a/src/utils.h +++ b/src/utils.h @@ -193,8 +193,8 @@ extern int use_syslog; // Workaround for "%z" in Windows printf
-#define SSIZE_FMT "%Id" -#define SIZE_FMT "%Iu" +#define SSIZE_FMT "%Illd" +#define SIZE_FMT "%Illu"
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>
The version from this commit is not built in Mingw. I am using Debian 11 i386. Not Docker, manually. Mingw 10.2. The versions of self-builded libraries roughly match the versions from docker/mingw/prepare.sh file. libev 4.25, mbedtls 2.16.5, libsodium 1.0.18, pcre 8.44, c-ares 1.16. shadows-locks-libev 3.3.5 builds up to commit c2fc967c1a3e4d864d866cc92dd29a04cdb11f98, but then error when building ss_local-udprelay.o:
Including the latest git. By the way, the patched version of libev 4.24-mingw doesn't pass ./configure (loop ev check doesn't pass), so I used the vanilla libev 4.25, but that doesn't matter here. And some URLs in prepare.sh are not available and I had to look for alternatives.
However, the native shared linux build (latest git) builds even in ubuntu 16.04 with gcc5.