Я пытаюсь собрать источники wireguard- android на моей машине windows, шаг за шагом исправляя проблемы методом проб и ошибок.
У меня установлены CMake и Make, первой проблемой, с которой я столкнулся, было 'плохое' значение, сообщаемое uname
(mingw64), не совпадающее с golang именами файлов , размещенными Google .
Я отредактировал (взломал) файл make, чтобы указать на реальное имя файла windows версии (amd64). Проблема в том, что версия windows имеет расширение .zip
вместо .tar.gz
, а результат zip не совместим с командой piped.
Исходная команда :
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, потому что он все еще должен работать на ма c тоже)
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
Результирующий ошибка при использовании unzip :
unzip: не удается найти или открыть C: \ wireguard-android \ app \ build \ middleates \ cmake \ debug \ obj \ armeabi-v7a / .. /generated-src/go-1.13.7/, C: \ wireguard-android \ app \ build \ middleates \ cmake \ debug \ obj \ armeabi-v7a /../ generate-src / go - 1.13.7 / .zip или C: \ wireguard-android \ app \ build \ middleates \ cmake \ debug \ obj \ armeabi-v7a /../ generate-src / go -1.13.7 / .ZIP.
% Всего% получено% Xferd Средняя скорость Время Время Время Текущая загрузка Загрузка Всего израсходованная левая скорость
0 0 0 0 0 0 0 0 -: -: - -: - - -: - -: -: - 0 0 127M 0 5419 0 0 26694 0 1:23:47 -: -: - 1:23:47 26694
curl: (23) Сбой записи тела (34! = 1357)
make: *** [C: \ wireguard-android \ app \ build \ промежуточные \ 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 \ middleates \ cmake \ debug \ obj \ armeabi-v7a /../ generate-src / go -1.13.7 /" --strip -компоненты = 1 -xzf -
% Всего% полученных%% Xferd Средняя скорость Время Время Время Текущая загрузка Загрузка Всего отработанная левая скорость
0 0 0 0 0 0 0 0 -: - - : - -: -: - -: -: - 0gzip: в stdin есть несколько записей - tar игнорируется: ребенок умер с сигналом 13 tar: ошибка не устраняется: выход из программы
0 127M 0 108k 0 0 248k 0 0:08:47 -: -: - 0:08:47 248k
curl: (23) Неисправное тело записи (738! = 1357)
make: *** [C: \ wireguard-android \ app \ build \ middleates \ cmake \ debug \ obj \ armeabi-v7a /../ generate-src / go -1.13. 7 / .prepared] Ошибка 2
- Как мне заставить эту команду работать? (С помощью tar или zip / unzip)
- Кто-то указал мне, что, возможно, мне нужен дистрибутив Android, а не Windows. В этом случае я бы предположил, что мне нужен armeabi-v7a, но я вижу только пакеты ARMv6 и ARMv8. Какой дистрибутив я должен использовать?