我正在尝试在Windows计算机上构建wireguard-android源,并通过反复试验逐步解决问题。
我安装了CMake和Make,遇到的第一个问题是uname
(mingw64)报告的“错误”值,与Google托管的golang filenames不匹配。
我已经编辑(修改过)make文件,使其指向Windows版本(amd64)的真实文件名。问题是Windows版本的扩展名是.zip
而不是.tar.gz
,并且zip的结果似乎与管道命令不兼容。
原始命令:
curl "https://dl.google.com/go/go$(DESIRED_GO_VERSION).$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(NDK_GO_ARCH_MAP_$(shell uname -m)).tar.gz" | tar -C "$(dir $@)" --strip-components=1 -xzf -
我尝试的更改:(使用if-else,因为它仍然仍然需要在mac上运行)
ifeq "msys" "$(shell uname -o | tr '[:upper:]' '[:lower:]')"
# Note: when enclosed in the ifeq, the ARCH_MAP part no longer worked
# Note: using tar with the zip fails, because we cant untar a zip (signal 13)
# Note: using unzip with the zip fails with confusing paths
curl "https://dl.google.com/go/go$(DESIRED_GO_VERSION).windows-amd64.zip" | unzip -C "$(dir $@)" --strip-components=1 -xzf -
else
curl "https://dl.google.com/go/go$(DESIRED_GO_VERSION).$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(NDK_GO_ARCH_MAP_$(shell uname -m)).tar.gz" | tar -C "$(dir $@)" --strip-components=1 -xzf -
endif
如果使用解压缩会导致错误:
:解压缩:无法找到或打开C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 /,C:\ wireguard- android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 / .zip或C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ generation-src / go-1.13.7 / .ZIP。
%总接收百分比%Xferd平均速度时间时间时间当前Dload上传总花费左手速度
0 0 0 0 0 0 0 0-:-:--:-:--:-:-00 127M 0 5419 0 0 26694 0 1:23:47-:-:-1:23:47 26694
卷曲:(23)书写体失败(34!= 1357)
make:*** [C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 / .prepared]错误9] >
如果使用tar会导致错误
curl“ https://dl.google.com/go/go1.13.7.windows-amd64.zip” | tar -C“ C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 /” --strip-components = 1 -xzf -
%收到的总百分比%Xferd平均速度时间时间当前时间Dload上传总剩余左速度
0 0 0 0 0 0 0 0 0-:-:--:-:--:-:-0gzip:stdin有多个条目-忽略焦油:孩子死于信号13tar:错误无法恢复:现在退出
0 127M 0 108k 0 0 248k 0 0:08:47-:-:-0:08:47 248k
卷曲:(23)书写体失败(738!= 1357)
make:*** [C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 / .prepared]错误2] >
- 我应该如何使此命令起作用? (使用tar或zip / unzip)
- 有人向我指出,也许我需要Android版本,而不是Windows版本。在那种情况下,我假设我需要armeabi-v7a,但是我只能看到ARMv6和ARMv8软件包。我应该使用什么发行版?
我正在尝试在Windows机器上构建wireguard-android源代码,并通过反复试验逐步解决问题。我已经安装了CMake和Make,遇到的第一个问题是...
我设法解决了这个问题,我在回答自己的问题,而不是删除,因为我认为这最终会帮助另一位开发人员。
首先澄清