log for com.github.shadowsocks:5030250
== Installed Android Tools ==
2022-12-24 21:57:16,378 DEBUG: Reading 'config.yml'
2022-12-24 21:57:16,397 WARNING: ipfs_cid not found, skipping CIDv1 generation
2022-12-24 21:57:16,398 INFO: Creating log directory
2022-12-24 21:57:16,398 INFO: Creating temporary directory
2022-12-24 21:57:16,398 INFO: Creating output directory
2022-12-24 21:57:16,455 DEBUG: Getting git vcs interface for https://github.com/shadowsocks/shadowsocks-android.git
2022-12-24 21:57:16,456 DEBUG: Checking com.github.shadowsocks:5030250
2022-12-24 21:57:16,456 INFO: Building version 5.3.2-nightly (5030250) of com.github.shadowsocks
2022-12-24 21:57:16,456 WARNING: Android NDK version 'r21e' could not be found!
2022-12-24 21:57:16,456 WARNING: Configured versions:
2022-12-24 21:57:16,457 INFO: Downloading https://dl.google.com/android/repository/android-ndk-r21e-linux-x86_64.zip
2022-12-24 21:57:16,462 DEBUG: Starting new HTTPS connection (1): dl.google.com:443
2022-12-24 21:57:16,531 DEBUG: https://dl.google.com:443 "GET /android/repository/android-ndk-r21e-linux-x86_64.zip HTTP/1.1" 200 1190670072
2022-12-24 21:58:38,012 INFO: Unzipping to /opt/android-sdk/ndk
2022-12-24 21:59:38,164 INFO: Set NDK r21e (21.4.7075529) up
2022-12-24 21:59:38,179 INFO: Running 'sudo' commands in /home/vagrant
2022-12-24 21:59:38,179 DEBUG: > sudo DEBIAN_FRONTEND=noninteractive bash -e -u -o pipefail -x -c apt-get update; apt-get install -y build-essential file
+ apt-get update
Get:1 https://security.debian.org/debian-security bullseye-security InRelease [48.4 kB]
Get:2 https://debian.osuosl.org/debian bullseye InRelease [116 kB]
Get:3 https://debian.osuosl.org/debian bullseye-updates InRelease [44.1 kB]
Get:4 https://security.debian.org/debian-security bullseye-security/main amd64 Packages [210 kB]
Get:5 https://security.debian.org/debian-security bullseye-security/main Translation-en [136 kB]
Get:6 https://debian.osuosl.org/debian bullseye-backports InRelease [49.0 kB]
Get:7 https://debian.osuosl.org/debian bullseye/main amd64 Packages [8183 kB]
Get:8 https://debian.osuosl.org/debian bullseye/main Translation-en [6240 kB]
Get:9 https://debian.osuosl.org/debian bullseye-updates/main amd64 Packages [14.6 kB]
Get:10 https://debian.osuosl.org/debian bullseye-updates/main Translation-en [7929 B]
Get:11 https://debian.osuosl.org/debian bullseye-backports/main amd64 Packages [371 kB]
Get:12 https://debian.osuosl.org/debian bullseye-backports/main Translation-en [307 kB]
Fetched 15.7 MB in 16s (1008 kB/s)
Reading package lists...
+ apt-get install -y build-essential file
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu bzip2 cpp cpp-10 dpkg-dev
g++ g++-10 gcc gcc-10 libasan6 libbinutils libc-dev-bin libc6-dev libcc1-0
libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libgcc-10-dev libgomp1
libisl23 libitm1 liblsan0 libmpc3 libmpfr6 libnsl-dev libstdc++-10-dev
libtirpc-dev libtsan0 libubsan1 linux-libc-dev make xz-utils
Suggested packages:
binutils-doc bzip2-doc cpp-doc gcc-10-locales debian-keyring g++-multilib
g++-10-multilib gcc-10-doc gcc-multilib manpages-dev autoconf automake
libtool flex bison gdb gcc-doc gcc-10-multilib glibc-doc bzr
libstdc++-10-doc make-doc
Recommended packages:
fakeroot libalgorithm-merge-perl manpages manpages-dev libc-devtools
libfile-fcntllock-perl
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2 cpp
cpp-10 dpkg-dev file g++ g++-10 gcc gcc-10 libasan6 libbinutils libc-dev-bin
libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl
libgcc-10-dev libgomp1 libisl23 libitm1 liblsan0 libmpc3 libmpfr6 libnsl-dev
libstdc++-10-dev libtirpc-dev libtsan0 libubsan1 linux-libc-dev make
xz-utils
0 upgraded, 37 newly installed, 0 to remove and 14 not upgraded.
Need to get 61.6 MB of archives.
After this operation, 228 MB of additional disk space will be used.
Get:1 https://debian.osuosl.org/debian bullseye/main amd64 bzip2 amd64 1.0.8-4 [49.3 kB]
Get:2 https://debian.osuosl.org/debian bullseye/main amd64 file amd64 1:5.39-3 [69.1 kB]
Get:3 https://debian.osuosl.org/debian bullseye/main amd64 xz-utils amd64 5.2.5-2.1~deb11u1 [220 kB]
Get:4 https://debian.osuosl.org/debian bullseye/main amd64 binutils-common amd64 2.35.2-2 [2220 kB]
Get:5 https://debian.osuosl.org/debian bullseye/main amd64 libbinutils amd64 2.35.2-2 [570 kB]
Get:6 https://debian.osuosl.org/debian bullseye/main amd64 libctf-nobfd0 amd64 2.35.2-2 [110 kB]
Get:7 https://debian.osuosl.org/debian bullseye/main amd64 libctf0 amd64 2.35.2-2 [53.2 kB]
Get:8 https://debian.osuosl.org/debian bullseye/main amd64 binutils-x86-64-linux-gnu amd64 2.35.2-2 [1809 kB]
Get:9 https://debian.osuosl.org/debian bullseye/main amd64 binutils amd64 2.35.2-2 [61.2 kB]
Get:10 https://debian.osuosl.org/debian bullseye/main amd64 libc-dev-bin amd64 2.31-13+deb11u5 [276 kB]
Get:11 https://debian.osuosl.org/debian bullseye/main amd64 linux-libc-dev amd64 5.10.158-2 [1571 kB]
Get:12 https://debian.osuosl.org/debian bullseye/main amd64 libcrypt-dev amd64 1:4.4.18-4 [104 kB]
Get:13 https://debian.osuosl.org/debian bullseye/main amd64 libtirpc-dev amd64 1.3.1-1+deb11u1 [191 kB]
Get:14 https://debian.osuosl.org/debian bullseye/main amd64 libnsl-dev amd64 1.3.0-2 [66.4 kB]
Get:15 https://debian.osuosl.org/debian bullseye/main amd64 libc6-dev amd64 2.31-13+deb11u5 [2359 kB]
Get:16 https://debian.osuosl.org/debian bullseye/main amd64 libisl23 amd64 0.23-1 [676 kB]
Get:17 https://debian.osuosl.org/debian bullseye/main amd64 libmpfr6 amd64 4.1.0-3 [2012 kB]
Get:18 https://debian.osuosl.org/debian bullseye/main amd64 libmpc3 amd64 1.2.0-1 [45.0 kB]
Get:19 https://debian.osuosl.org/debian bullseye/main amd64 cpp-10 amd64 10.2.1-6 [8528 kB]
Get:20 https://debian.osuosl.org/debian bullseye/main amd64 cpp amd64 4:10.2.1-1 [19.7 kB]
Get:21 https://debian.osuosl.org/debian bullseye/main amd64 libcc1-0 amd64 10.2.1-6 [47.0 kB]
Get:22 https://debian.osuosl.org/debian bullseye/main amd64 libgomp1 amd64 10.2.1-6 [99.9 kB]
Get:23 https://debian.osuosl.org/debian bullseye/main amd64 libitm1 amd64 10.2.1-6 [25.8 kB]
Get:24 https://debian.osuosl.org/debian bullseye/main amd64 libasan6 amd64 10.2.1-6 [2065 kB]
Get:25 https://debian.osuosl.org/debian bullseye/main amd64 liblsan0 amd64 10.2.1-6 [828 kB]
Get:26 https://debian.osuosl.org/debian bullseye/main amd64 libtsan0 amd64 10.2.1-6 [2000 kB]
Get:27 https://debian.osuosl.org/debian bullseye/main amd64 libubsan1 amd64 10.2.1-6 [777 kB]
Get:28 https://debian.osuosl.org/debian bullseye/main amd64 libgcc-10-dev amd64 10.2.1-6 [2328 kB]
Get:29 https://debian.osuosl.org/debian bullseye/main amd64 gcc-10 amd64 10.2.1-6 [17.0 MB]
Get:30 https://debian.osuosl.org/debian bullseye/main amd64 gcc amd64 4:10.2.1-1 [5192 B]
Get:31 https://debian.osuosl.org/debian bullseye/main amd64 libstdc++-10-dev amd64 10.2.1-6 [1741 kB]
Get:32 https://debian.osuosl.org/debian bullseye/main amd64 g++-10 amd64 10.2.1-6 [9380 kB]
Get:33 https://debian.osuosl.org/debian bullseye/main amd64 g++ amd64 4:10.2.1-1 [1644 B]
Get:34 https://debian.osuosl.org/debian bullseye/main amd64 make amd64 4.3-4.1 [396 kB]
Get:35 https://debian.osuosl.org/debian bullseye/main amd64 libdpkg-perl all 1.20.12 [1551 kB]
Get:36 https://debian.osuosl.org/debian bullseye/main amd64 dpkg-dev all 1.20.12 [2312 kB]
Get:37 https://debian.osuosl.org/debian bullseye/main amd64 build-essential amd64 12.9 [7704 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 61.6 MB in 5s (11.3 MB/s)
Selecting previously unselected package bzip2.
(Reading database ... 36772 files and directories currently installed.)
Preparing to unpack .../00-bzip2_1.0.8-4_amd64.deb ...
Unpacking bzip2 (1.0.8-4) ...
Selecting previously unselected package file.
Preparing to unpack .../01-file_1%3a5.39-3_amd64.deb ...
Unpacking file (1:5.39-3) ...
Selecting previously unselected package xz-utils.
Preparing to unpack .../02-xz-utils_5.2.5-2.1~deb11u1_amd64.deb ...
Unpacking xz-utils (5.2.5-2.1~deb11u1) ...
Selecting previously unselected package binutils-common:amd64.
Preparing to unpack .../03-binutils-common_2.35.2-2_amd64.deb ...
Unpacking binutils-common:amd64 (2.35.2-2) ...
Selecting previously unselected package libbinutils:amd64.
Preparing to unpack .../04-libbinutils_2.35.2-2_amd64.deb ...
Unpacking libbinutils:amd64 (2.35.2-2) ...
Selecting previously unselected package libctf-nobfd0:amd64.
Preparing to unpack .../05-libctf-nobfd0_2.35.2-2_amd64.deb ...
Unpacking libctf-nobfd0:amd64 (2.35.2-2) ...
Selecting previously unselected package libctf0:amd64.
Preparing to unpack .../06-libctf0_2.35.2-2_amd64.deb ...
Unpacking libctf0:amd64 (2.35.2-2) ...
Selecting previously unselected package binutils-x86-64-linux-gnu.
Preparing to unpack .../07-binutils-x86-64-linux-gnu_2.35.2-2_amd64.deb ...
Unpacking binutils-x86-64-linux-gnu (2.35.2-2) ...
Selecting previously unselected package binutils.
Preparing to unpack .../08-binutils_2.35.2-2_amd64.deb ...
Unpacking binutils (2.35.2-2) ...
Selecting previously unselected package libc-dev-bin.
Preparing to unpack .../09-libc-dev-bin_2.31-13+deb11u5_amd64.deb ...
Unpacking libc-dev-bin (2.31-13+deb11u5) ...
Selecting previously unselected package linux-libc-dev:amd64.
Preparing to unpack .../10-linux-libc-dev_5.10.158-2_amd64.deb ...
Unpacking linux-libc-dev:amd64 (5.10.158-2) ...
Selecting previously unselected package libcrypt-dev:amd64.
Preparing to unpack .../11-libcrypt-dev_1%3a4.4.18-4_amd64.deb ...
Unpacking libcrypt-dev:amd64 (1:4.4.18-4) ...
Selecting previously unselected package libtirpc-dev:amd64.
Preparing to unpack .../12-libtirpc-dev_1.3.1-1+deb11u1_amd64.deb ...
Unpacking libtirpc-dev:amd64 (1.3.1-1+deb11u1) ...
Selecting previously unselected package libnsl-dev:amd64.
Preparing to unpack .../13-libnsl-dev_1.3.0-2_amd64.deb ...
Unpacking libnsl-dev:amd64 (1.3.0-2) ...
Selecting previously unselected package libc6-dev:amd64.
Preparing to unpack .../14-libc6-dev_2.31-13+deb11u5_amd64.deb ...
Unpacking libc6-dev:amd64 (2.31-13+deb11u5) ...
Selecting previously unselected package libisl23:amd64.
Preparing to unpack .../15-libisl23_0.23-1_amd64.deb ...
Unpacking libisl23:amd64 (0.23-1) ...
Selecting previously unselected package libmpfr6:amd64.
Preparing to unpack .../16-libmpfr6_4.1.0-3_amd64.deb ...
Unpacking libmpfr6:amd64 (4.1.0-3) ...
Selecting previously unselected package libmpc3:amd64.
Preparing to unpack .../17-libmpc3_1.2.0-1_amd64.deb ...
Unpacking libmpc3:amd64 (1.2.0-1) ...
Selecting previously unselected package cpp-10.
Preparing to unpack .../18-cpp-10_10.2.1-6_amd64.deb ...
Unpacking cpp-10 (10.2.1-6) ...
Selecting previously unselected package cpp.
Preparing to unpack .../19-cpp_4%3a10.2.1-1_amd64.deb ...
Unpacking cpp (4:10.2.1-1) ...
Selecting previously unselected package libcc1-0:amd64.
Preparing to unpack .../20-libcc1-0_10.2.1-6_amd64.deb ...
Unpacking libcc1-0:amd64 (10.2.1-6) ...
Selecting previously unselected package libgomp1:amd64.
Preparing to unpack .../21-libgomp1_10.2.1-6_amd64.deb ...
Unpacking libgomp1:amd64 (10.2.1-6) ...
Selecting previously unselected package libitm1:amd64.
Preparing to unpack .../22-libitm1_10.2.1-6_amd64.deb ...
Unpacking libitm1:amd64 (10.2.1-6) ...
Selecting previously unselected package libasan6:amd64.
Preparing to unpack .../23-libasan6_10.2.1-6_amd64.deb ...
Unpacking libasan6:amd64 (10.2.1-6) ...
Selecting previously unselected package liblsan0:amd64.
Preparing to unpack .../24-liblsan0_10.2.1-6_amd64.deb ...
Unpacking liblsan0:amd64 (10.2.1-6) ...
Selecting previously unselected package libtsan0:amd64.
Preparing to unpack .../25-libtsan0_10.2.1-6_amd64.deb ...
Unpacking libtsan0:amd64 (10.2.1-6) ...
Selecting previously unselected package libubsan1:amd64.
Preparing to unpack .../26-libubsan1_10.2.1-6_amd64.deb ...
Unpacking libubsan1:amd64 (10.2.1-6) ...
Selecting previously unselected package libgcc-10-dev:amd64.
Preparing to unpack .../27-libgcc-10-dev_10.2.1-6_amd64.deb ...
Unpacking libgcc-10-dev:amd64 (10.2.1-6) ...
Selecting previously unselected package gcc-10.
Preparing to unpack .../28-gcc-10_10.2.1-6_amd64.deb ...
Unpacking gcc-10 (10.2.1-6) ...
Selecting previously unselected package gcc.
Preparing to unpack .../29-gcc_4%3a10.2.1-1_amd64.deb ...
Unpacking gcc (4:10.2.1-1) ...
Selecting previously unselected package libstdc++-10-dev:amd64.
Preparing to unpack .../30-libstdc++-10-dev_10.2.1-6_amd64.deb ...
Unpacking libstdc++-10-dev:amd64 (10.2.1-6) ...
Selecting previously unselected package g++-10.
Preparing to unpack .../31-g++-10_10.2.1-6_amd64.deb ...
Unpacking g++-10 (10.2.1-6) ...
Selecting previously unselected package g++.
Preparing to unpack .../32-g++_4%3a10.2.1-1_amd64.deb ...
Unpacking g++ (4:10.2.1-1) ...
Selecting previously unselected package make.
Preparing to unpack .../33-make_4.3-4.1_amd64.deb ...
Unpacking make (4.3-4.1) ...
Selecting previously unselected package libdpkg-perl.
Preparing to unpack .../34-libdpkg-perl_1.20.12_all.deb ...
Unpacking libdpkg-perl (1.20.12) ...
Selecting previously unselected package dpkg-dev.
Preparing to unpack .../35-dpkg-dev_1.20.12_all.deb ...
Unpacking dpkg-dev (1.20.12) ...
Selecting previously unselected package build-essential.
Preparing to unpack .../36-build-essential_12.9_amd64.deb ...
Unpacking build-essential (12.9) ...
Setting up binutils-common:amd64 (2.35.2-2) ...
Setting up linux-libc-dev:amd64 (5.10.158-2) ...
Setting up libctf-nobfd0:amd64 (2.35.2-2) ...
Setting up file (1:5.39-3) ...
Setting up libgomp1:amd64 (10.2.1-6) ...
Setting up bzip2 (1.0.8-4) ...
Setting up libasan6:amd64 (10.2.1-6) ...
Setting up libtirpc-dev:amd64 (1.3.1-1+deb11u1) ...
Setting up make (4.3-4.1) ...
Setting up libmpfr6:amd64 (4.1.0-3) ...
Setting up xz-utils (5.2.5-2.1~deb11u1) ...
update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode
Setting up libmpc3:amd64 (1.2.0-1) ...
Setting up libdpkg-perl (1.20.12) ...
Setting up libubsan1:amd64 (10.2.1-6) ...
Setting up libnsl-dev:amd64 (1.3.0-2) ...
Setting up libcrypt-dev:amd64 (1:4.4.18-4) ...
Setting up libbinutils:amd64 (2.35.2-2) ...
Setting up libisl23:amd64 (0.23-1) ...
Setting up libc-dev-bin (2.31-13+deb11u5) ...
Setting up libcc1-0:amd64 (10.2.1-6) ...
Setting up liblsan0:amd64 (10.2.1-6) ...
Setting up cpp-10 (10.2.1-6) ...
Setting up libitm1:amd64 (10.2.1-6) ...
Setting up libtsan0:amd64 (10.2.1-6) ...
Setting up libctf0:amd64 (2.35.2-2) ...
Setting up libgcc-10-dev:amd64 (10.2.1-6) ...
Setting up cpp (4:10.2.1-1) ...
Setting up libc6-dev:amd64 (2.31-13+deb11u5) ...
Setting up binutils-x86-64-linux-gnu (2.35.2-2) ...
Setting up libstdc++-10-dev:amd64 (10.2.1-6) ...
Setting up binutils (2.35.2-2) ...
Setting up dpkg-dev (1.20.12) ...
Setting up gcc-10 (10.2.1-6) ...
Setting up g++-10 (10.2.1-6) ...
Setting up gcc (4:10.2.1-1) ...
Setting up g++ (4:10.2.1-1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up build-essential (12.9) ...
Processing triggers for libc-bin (2.31-13+deb11u5) ...
2022-12-24 22:01:36,900 DEBUG: > sudo passwd --lock root
passwd: password expiry information changed.
2022-12-24 22:01:37,313 DEBUG: > sudo SUDO_FORCE_REMOVE=yes dpkg --purge sudo
(Reading database ... 40513 files and directories currently installed.)
Removing sudo (1.9.5p2-3) ...
Purging configuration files for sudo (1.9.5p2-3) ...
dpkg: warning: while removing sudo, directory '/etc/sudoers.d' not empty so not removed
2022-12-24 22:01:49,613 INFO: Getting source for revision 3b9fed2abecdd6905462c67eb268818756d7ed77
2022-12-24 22:01:49,614 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:49,614 DEBUG: > git rev-parse --show-toplevel
2022-12-24 22:01:49,825 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:49,826 DEBUG: > git submodule foreach --recursive git reset --hard
2022-12-24 22:01:50,640 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:50,641 DEBUG: > git reset --hard
2022-12-24 22:01:50,954 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:50,955 DEBUG: > git submodule foreach --recursive git clean -dffx
2022-12-24 22:01:51,267 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:51,267 DEBUG: > git clean -dffx
2022-12-24 22:01:51,379 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:51,379 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:p@bitbucket.org/.insteadOf=git@bitbucket.org: -c url.https://u:p@bitbucket.org.insteadOf=git://bitbucket.org -c url.https://u:p@bitbucket.org.insteadOf=https://bitbucket.org -c url.https://u:p@github.com/.insteadOf=git@github.com: -c url.https://u:p@github.com.insteadOf=git://github.com -c url.https://u:p@github.com.insteadOf=https://github.com -c url.https://u:p@gitlab.com/.insteadOf=git@gitlab.com: -c url.https://u:p@gitlab.com.insteadOf=git://gitlab.com -c url.https://u:p@gitlab.com.insteadOf=https://gitlab.com fetch origin
2022-12-24 22:01:52,100 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:52,101 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:p@bitbucket.org/.insteadOf=git@bitbucket.org: -c url.https://u:p@bitbucket.org.insteadOf=git://bitbucket.org -c url.https://u:p@bitbucket.org.insteadOf=https://bitbucket.org -c url.https://u:p@github.com/.insteadOf=git@github.com: -c url.https://u:p@github.com.insteadOf=git://github.com -c url.https://u:p@github.com.insteadOf=https://github.com -c url.https://u:p@gitlab.com/.insteadOf=git@gitlab.com: -c url.https://u:p@gitlab.com.insteadOf=git://gitlab.com -c url.https://u:p@gitlab.com.insteadOf=https://gitlab.com remote prune origin
2022-12-24 22:01:52,714 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:52,715 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:p@bitbucket.org/.insteadOf=git@bitbucket.org: -c url.https://u:p@bitbucket.org.insteadOf=git://bitbucket.org -c url.https://u:p@bitbucket.org.insteadOf=https://bitbucket.org -c url.https://u:p@github.com/.insteadOf=git@github.com: -c url.https://u:p@github.com.insteadOf=git://github.com -c url.https://u:p@github.com.insteadOf=https://github.com -c url.https://u:p@gitlab.com/.insteadOf=git@gitlab.com: -c url.https://u:p@gitlab.com.insteadOf=git://gitlab.com -c url.https://u:p@gitlab.com.insteadOf=https://gitlab.com fetch --prune --tags --force origin
2022-12-24 22:01:53,328 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:53,329 DEBUG: > git remote set-head origin --auto
2022-12-24 22:01:55,149 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:55,153 DEBUG: > git checkout -f 3b9fed2abecdd6905462c67eb268818756d7ed77
2022-12-24 22:01:56,869 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:56,870 DEBUG: > git clean -dffx
2022-12-24 22:01:56,982 INFO: Initialising submodules
2022-12-24 22:01:56,982 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:56,983 DEBUG: > git rev-parse --show-toplevel
2022-12-24 22:01:59,594 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:01:59,594 DEBUG: > git submodule sync
2022-12-24 22:02:00,209 DEBUG: Directory: build/com.github.shadowsocks
2022-12-24 22:02:00,210 DEBUG: > git -c core.askpass=/bin/true -c core.sshCommand=/bin/false -c url.https://.insteadOf=ssh:// -c url.https://u:p@bitbucket.org/.insteadOf=git@bitbucket.org: -c url.https://u:p@bitbucket.org.insteadOf=git://bitbucket.org -c url.https://u:p@bitbucket.org.insteadOf=https://bitbucket.org -c url.https://u:p@github.com/.insteadOf=git@github.com: -c url.https://u:p@github.com.insteadOf=git://github.com -c url.https://u:p@github.com.insteadOf=https://github.com -c url.https://u:p@gitlab.com/.insteadOf=git@gitlab.com: -c url.https://u:p@gitlab.com.insteadOf=git://gitlab.com -c url.https://u:p@gitlab.com.insteadOf=https://gitlab.com submodule update --init --force --recursive
Submodule path 'core/src/main/jni/badvpn': checked out 'fb01eb983915c9a09a690ad44c6028dd87500ec7'
Submodule path 'core/src/main/jni/libancillary': checked out '311e5d14f593f16c785bc6605220517eb1f21f6b'
Submodule path 'core/src/main/jni/libevent': checked out 'f29f07bc8c43eec96f227e6f6eede32b3af66168'
Submodule path 'core/src/main/jni/redsocks': checked out 'd9954892ba96627748efab2901f38d7e20d6d0a2'
Submodule path 'core/src/main/rust/shadowsocks-rust': checked out 'e3855b4a8d0b6b1e485341c9bacd69ce60cfcd16'
2022-12-24 22:02:01,425 INFO: Collecting source libraries
2022-12-24 22:02:01,469 DEBUG: Removing debuggable flags from build/srclib/rustup
2022-12-24 22:02:01,506 INFO: Creating local.properties file at build/com.github.shadowsocks/local.properties
2022-12-24 22:02:01,507 INFO: Creating local.properties file at build/com.github.shadowsocks/mobile/local.properties
2022-12-24 22:02:01,508 DEBUG: Removing debuggable flags from build/com.github.shadowsocks/mobile
2022-12-24 22:02:01,511 INFO: Removing specified files
2022-12-24 22:02:01,512 INFO: Removing mobile/src/main/java/com/github/shadowsocks/ScannerActivity.kt
2022-12-24 22:02:01,512 INFO: Removing core/src/main/jni/badvpn/lwip/test/fuzz/inputs
2022-12-24 22:02:01,513 INFO: Removing core/src/main/jni/badvpn/lime
2022-12-24 22:02:01,514 INFO: Removing tv
2022-12-24 22:02:01,543 INFO: Running 'prebuild' commands in build/com.github.shadowsocks/mobile
2022-12-24 22:02:01,543 DEBUG: Directory: build/com.github.shadowsocks/mobile
2022-12-24 22:02:01,543 DEBUG: > bash -e -u -o pipefail -x -c -- echo "rust.rustcCommand=$HOME/.cargo/bin/rustc" >> ../local.properties; echo "rust.cargoCommand=$HOME/.cargo/bin/cargo" >> ../local.properties; echo "rust.pythonCommand=/usr/bin/python3" >> ../local.properties; sed -i -e '/gms/d' -e '/firebase/d' ../build.gradle.kts; sed -i -e '/gms/d' -e '/firebase/d' -e '/kotlinx-coroutines-play-services/d' ../core/build.gradle.kts; sed -i -e '/gms/d' -e '/firebase/d' -e '/mlkit/d' -e '/camera/d' build.gradle.kts; pushd ../core/src/main; sed -i -e '/firebase/,/>$/d' -e '/gms/,/>$/d' AndroidManifest.xml; sed -i -E -e '/service_subscription_working/s/%d(.*)%d/%1$d\1%2$d/' res/*/strings.xml; cd java/com/github/shadowsocks; sed -i -e '/firebase/Id' Core.kt bg/BaseService.kt; popd; pushd src/main; sed -i -z -E -e 's/<activity[^<]+ScannerActivity[^>]+>//' AndroidManifest.xml; sed -i -e '/CAMERA/d' AndroidManifest.xml; sed -i -e '/"scan"/,/shortcut>/d' res/xml/shortcuts.xml; sed -i -z -E -e 's/<item[^<]+action_scan_qr_code[^>]+>//' res/menu/profile_manager_menu.xml; cd java/com/github/shadowsocks; sed -i -e '/firebase/Id' MainActivity.kt; sed -i -e '/OssLicensesMenuActivity/d' AboutFragment.kt; sed -i -e '/ScannerActivity/d' -e '/action_scan_qr_code/,/^\s\+}/d' ProfilesFragment.kt; popd; sed -i -e '/isEnable/s/true/false/' ../buildSrc/src/main/kotlin/Helpers.kt
/etc/bash.bashrc: line 7: PS1: unbound variable
+ echo rust.rustcCommand=/home/vagrant/.cargo/bin/rustc
+ echo rust.cargoCommand=/home/vagrant/.cargo/bin/cargo
+ echo rust.pythonCommand=/usr/bin/python3
+ sed -i -e /gms/d -e /firebase/d ../build.gradle.kts
+ sed -i -e /gms/d -e /firebase/d -e /kotlinx-coroutines-play-services/d ../core/build.gradle.kts
+ sed -i -e /gms/d -e /firebase/d -e /mlkit/d -e /camera/d build.gradle.kts
+ pushd ../core/src/main
~/build/com.github.shadowsocks/core/src/main ~/build/com.github.shadowsocks/mobile
+ sed -i -e '/firebase/,/>$/d' -e '/gms/,/>$/d' AndroidManifest.xml
+ sed -i -E -e '/service_subscription_working/s/%d(.*)%d/%1$d\1%2$d/' res/values-ar/strings.xml res/values-de/strings.xml res/values-es/strings.xml res/values-fa/strings.xml res/values-fr/strings.xml res/values-ja/strings.xml res/values-ko/strings.xml res/values-ru/strings.xml res/values-tr/strings.xml res/values-uk/strings.xml res/values-zh-rCN/strings.xml res/values-zh-rTW/strings.xml res/values/strings.xml
+ cd java/com/github/shadowsocks
+ sed -i -e /firebase/Id Core.kt bg/BaseService.kt
+ popd
~/build/com.github.shadowsocks/mobile
+ pushd src/main
~/build/com.github.shadowsocks/mobile/src/main ~/build/com.github.shadowsocks/mobile
+ sed -i -z -E -e 's/<activity[^<]+ScannerActivity[^>]+>//' AndroidManifest.xml
+ sed -i -e /CAMERA/d AndroidManifest.xml
+ sed -i -e '/"scan"/,/shortcut>/d' res/xml/shortcuts.xml
+ sed -i -z -E -e 's/<item[^<]+action_scan_qr_code[^>]+>//' res/menu/profile_manager_menu.xml
+ cd java/com/github/shadowsocks
+ sed -i -e /firebase/Id MainActivity.kt
+ sed -i -e /OssLicensesMenuActivity/d AboutFragment.kt
+ sed -i -e /ScannerActivity/d -e '/action_scan_qr_code/,/^\s\+}/d' ProfilesFragment.kt
+ popd
~/build/com.github.shadowsocks/mobile
+ sed -i -e /isEnable/s/true/false/ ../buildSrc/src/main/kotlin/Helpers.kt
2022-12-24 22:02:01,753 INFO: Cleaning Gradle project...
2022-12-24 22:02:01,754 DEBUG: Directory: build/com.github.shadowsocks/mobile
2022-12-24 22:02:01,755 DEBUG: > /home/vagrant/fdroidserver/gradlew-fdroid clean
Found 7.6 via distributionUrl
Downloading missing gradle version 7.6
cachedir /home/vagrant/.cache/fdroidserver
/home/vagrant/.cache/fdroidserver/gradle-7.6-bin.zip: OK
Running /opt/gradle/versions/7.6/bin/gradle clean
Welcome to Gradle 7.6!
Here are the highlights of this release:
- Added support for Java 19.
- Introduced `--rerun` flag for individual task rerun.
- Improved dependency block for test suites to be strongly typed.
- Added a pluggable system for Java toolchains provisioning.
For more details see https://docs.gradle.org/7.6/release-notes.html
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.6/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build
> Task :buildSrc:pluginDescriptors
> Task :buildSrc:processResources NO-SOURCE
> Task :buildSrc:processTestResources NO-SOURCE
> Task :buildSrc:compileKotlin
w: /home/vagrant/build/com.github.shadowsocks/buildSrc/src/main/kotlin/Helpers.kt: (2, 26): 'VariantOutput' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/buildSrc/src/main/kotlin/Helpers.kt: (117, 65): 'VariantOutput' is deprecated. Deprecated in Java
> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:inspectClassesForKotlinIC
> Task :buildSrc:jar
:jar: No valid plugin descriptors were found in META-INF/gradle-plugins
> Task :buildSrc:assemble
> Task :buildSrc:compileTestKotlin NO-SOURCE
> Task :buildSrc:compileTestJava NO-SOURCE
> Task :buildSrc:compileTestGroovy NO-SOURCE
> Task :buildSrc:pluginUnderTestMetadata
> Task :buildSrc:testClasses UP-TO-DATE
> Task :buildSrc:test NO-SOURCE
> Task :buildSrc:validatePlugins
> Task :buildSrc:check
> Task :buildSrc:build
> Configure project :core
WARNING:The option setting 'android.enableResourceOptimizations=false' is deprecated.
The current default is 'true'.
It will be removed in version 8.0 of the Android Gradle plugin.
Warning: No match found for [DefaultTaskExecutionRequest{args=[clean],projectPath='null',rootDir='null'}]
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
> Configure project :mobile
Warning: No match found for [DefaultTaskExecutionRequest{args=[clean],projectPath='null',rootDir='null'}]
> Configure project :plugin
WARNING:Software Components will not be created automatically for Maven publishing from Android Gradle Plugin 8.0. To opt-in to the future behavior, set the Gradle property android.disableAutomaticComponentCreation=true in the `gradle.properties` file or use the new publishing DSL.
> Task :mobile:clean UP-TO-DATE
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 3m 9s
7 actionable tasks: 6 executed, 1 up-to-date
2022-12-24 22:05:20,497 INFO: Scanning source for common problems...
2022-12-24 22:05:20,509 DEBUG: scanner is configured to use signature data from: 'suss'
2022-12-24 22:05:20,705 INFO: Removing gradle-wrapper.jar at gradle/wrapper/gradle-wrapper.jar
2022-12-24 22:05:20,706 INFO: Creating source tarball...
2022-12-24 22:05:23,529 INFO: Running 'build' commands in build/com.github.shadowsocks/mobile
2022-12-24 22:05:23,530 DEBUG: Directory: build/com.github.shadowsocks/mobile
2022-12-24 22:05:23,530 DEBUG: > bash -e -u -o pipefail -x -c /home/vagrant/build/srclib/rustup/rustup-init.sh -y; source $HOME/.cargo/env; rustup default 1.65.0; cd ../core/src/main/rust/shadowsocks-rust; rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
/etc/bash.bashrc: line 7: PS1: unbound variable
+ /home/vagrant/build/srclib/rustup/rustup-init.sh -y
info: downloading installer
info: profile set to 'default'
info: default host triple is x86_64-unknown-linux-gnu
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2022-12-15, rust version 1.66.0 (69f9c33d7 2022-12-12)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'
stable-x86_64-unknown-linux-gnu installed - rustc 1.66.0 (69f9c33d7 2022-12-12)
Rust is installed now. Great!
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
To configure your current shell, run:
source "$HOME/.cargo/env"
+ source /home/vagrant/.cargo/env
++ case ":${PATH}:" in
++ export PATH=/home/vagrant/.cargo/bin:/opt/android-sdk/ndk/21.4.7075529:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/android-sdk/tools:/opt/android-sdk/platform-tools:/opt/gradle/bin
++ PATH=/home/vagrant/.cargo/bin:/opt/android-sdk/ndk/21.4.7075529:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/android-sdk/tools:/opt/android-sdk/platform-tools:/opt/gradle/bin
+ rustup default 1.65.0
info: syncing channel updates for '1.65.0-x86_64-unknown-linux-gnu'
info: latest update on 2022-11-03, rust version 1.65.0 (897e37553 2022-11-02)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
info: default toolchain set to '1.65.0-x86_64-unknown-linux-gnu'
1.65.0-x86_64-unknown-linux-gnu installed - rustc 1.65.0 (897e37553 2022-11-02)
+ cd ../core/src/main/rust/shadowsocks-rust
+ rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
info: downloading component 'rust-std' for 'armv7-linux-androideabi'
info: installing component 'rust-std' for 'armv7-linux-androideabi'
info: downloading component 'rust-std' for 'aarch64-linux-android'
info: installing component 'rust-std' for 'aarch64-linux-android'
info: downloading component 'rust-std' for 'i686-linux-android'
info: installing component 'rust-std' for 'i686-linux-android'
info: downloading component 'rust-std' for 'x86_64-linux-android'
info: installing component 'rust-std' for 'x86_64-linux-android'
2022-12-24 22:07:24,662 INFO: Building Gradle project...
2022-12-24 22:07:24,663 DEBUG: Directory: build/com.github.shadowsocks/mobile
2022-12-24 22:07:24,663 DEBUG: > /home/vagrant/fdroidserver/gradlew-fdroid assembleRelease
Found 7.6 via distributionUrl
Running /opt/gradle/versions/7.6/bin/gradle assembleRelease
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.6/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build
> Task :buildSrc:pluginDescriptors
> Task :buildSrc:processResources NO-SOURCE
> Task :buildSrc:processTestResources NO-SOURCE
> Task :buildSrc:compileKotlin
w: /home/vagrant/build/com.github.shadowsocks/buildSrc/src/main/kotlin/Helpers.kt: (2, 26): 'VariantOutput' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/buildSrc/src/main/kotlin/Helpers.kt: (117, 65): 'VariantOutput' is deprecated. Deprecated in Java
> Task :buildSrc:compileJava NO-SOURCE
> Task :buildSrc:compileGroovy NO-SOURCE
> Task :buildSrc:classes UP-TO-DATE
> Task :buildSrc:inspectClassesForKotlinIC
> Task :buildSrc:jar
:jar: No valid plugin descriptors were found in META-INF/gradle-plugins
> Task :buildSrc:assemble
> Task :buildSrc:compileTestKotlin NO-SOURCE
> Task :buildSrc:compileTestJava NO-SOURCE
> Task :buildSrc:compileTestGroovy NO-SOURCE
> Task :buildSrc:pluginUnderTestMetadata
> Task :buildSrc:testClasses UP-TO-DATE
> Task :buildSrc:test NO-SOURCE
> Task :buildSrc:validatePlugins
> Task :buildSrc:check
> Task :buildSrc:build
> Configure project :core
WARNING:The option setting 'android.enableResourceOptimizations=false' is deprecated.
The current default is 'true'.
It will be removed in version 8.0 of the Android Gradle plugin.
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
WARNING:[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
> Configure project :plugin
WARNING:Software Components will not be created automatically for Maven publishing from Android Gradle Plugin 8.0. To opt-in to the future behavior, set the Gradle property android.disableAutomaticComponentCreation=true in the `gradle.properties` file or use the new publishing DSL.
Exception while marshalling /opt/android-sdk/platforms/android-10/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-11/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-12/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-13/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-14/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-15/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-16/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-17/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-18/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-19/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-20/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-21/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-22/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-23/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-24/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-25/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-26/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-27/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-28/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-29/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-30/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-31/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-32/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-33/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-10/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-11/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-12/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-13/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-14/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-15/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-16/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-17/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-18/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-19/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-20/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-21/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-22/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-23/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-24/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-25/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-26/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-27/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-28/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-29/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-30/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-31/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-32/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-33/package.xml. Probably the SDK is read-only
Checking the license for package Android SDK Build-Tools 33.0.1 in /opt/android-sdk/licenses
License for package Android SDK Build-Tools 33.0.1 accepted.
Preparing "Install Android SDK Build-Tools 33.0.1 (revision: 33.0.1)".
"Install Android SDK Build-Tools 33.0.1 (revision: 33.0.1)" ready.
Installing Android SDK Build-Tools 33.0.1 in /opt/android-sdk/build-tools/33.0.1
"Install Android SDK Build-Tools 33.0.1 (revision: 33.0.1)" complete.
"Install Android SDK Build-Tools 33.0.1 (revision: 33.0.1)" finished.
Exception while marshalling /opt/android-sdk/platforms/android-10/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-11/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-12/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-13/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-14/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-15/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-16/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-17/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-18/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-19/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-20/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-21/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-22/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-23/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-24/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-25/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-26/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-27/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-28/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-29/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-30/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-31/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-32/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platforms/android-33/package.xml. Probably the SDK is read-only
> Task :core:preBuild UP-TO-DATE
> Task :core:preReleaseBuild UP-TO-DATE
> Task :plugin:preBuild UP-TO-DATE
> Task :plugin:preReleaseBuild UP-TO-DATE
> Task :plugin:compileReleaseAidl NO-SOURCE
> Task :core:compileReleaseAidl
> Task :core:configureNdkBuildRelease[arm64-v8a]
> Task :core:buildNdkBuildRelease[arm64-v8a]
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/libevent/evutil_rand.c:198:2: warning: implicit declaration of function 'arc4random_addrandom' is invalid in C99 [-Wimplicit-function-declaration]
C/C++: arc4random_addrandom((unsigned char*)buf,
C/C++: ^
C/C++: 1 warning generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.c:32:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.h:42:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: 10 warnings generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: note: place parentheses around the assignment to silence this warning
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: note: use '==' to turn this assignment into an equality comparison
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: note: place parentheses around the assignment to silence this warning
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: note: use '==' to turn this assignment into an equality comparison
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: note: place parentheses around the assignment to silence this warning
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: note: use '==' to turn this assignment into an equality comparison
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:1021:20: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(res)
C/C++: ^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 4 warnings generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/redsocks/redsocks.c:625:11: warning: implicit declaration of function 'pipe2' is invalid in C99 [-Wimplicit-function-declaration]
C/C++: error = pipe2(&pump->request.read, O_NONBLOCK);
C/C++: ^
C/C++: 1 warning generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/flow/PacketPassFairQueue.c:174:20: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(res)
C/C++: ^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 1 warning generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/udpgw_client/UdpGwClient.c:37:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/udpgw_client/UdpGwClient.h:37:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: 10 warnings generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:67:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.h:42:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:450:63: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
C/C++: if ((sock2 = accept(sock, (struct sockaddr *)&remote, &t)) == -1) {
C/C++: ^~
C/C++: /opt/android-sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/sys/socket.h:301:71: note: passing argument to parameter '__addr_length' here
C/C++: __socketcall int accept(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);
C/C++: ^
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: note: place parentheses around the assignment to silence this warning
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: note: use '==' to turn this assignment into an equality comparison
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: } while (p = p->next);
C/C++: ~~^~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: note: place parentheses around the assignment to silence this warning
C/C++: } while (p = p->next);
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: note: use '==' to turn this assignment into an equality comparison
C/C++: } while (p = p->next);
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1924:88: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(pbuf_copy_partial(p, client->buf + client->buf_used, p->tot_len, 0) == p->tot_len)
C/C++: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 14 warnings generated.
> Task :core:configureNdkBuildRelease[armeabi-v7a]
> Task :core:buildNdkBuildRelease[armeabi-v7a]
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/libevent/evutil_rand.c:198:2: warning: implicit declaration of function 'arc4random_addrandom' is invalid in C99 [-Wimplicit-function-declaration]
C/C++: arc4random_addrandom((unsigned char*)buf,
C/C++: ^
C/C++: 1 warning generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.c:32:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.h:42:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: 10 warnings generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/redsocks/redsocks.c:625:11: warning: implicit declaration of function 'pipe2' is invalid in C99 [-Wimplicit-function-declaration]
C/C++: error = pipe2(&pump->request.read, O_NONBLOCK);
C/C++: ^
C/C++: 1 warning generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: note: place parentheses around the assignment to silence this warning
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: note: use '==' to turn this assignment into an equality comparison
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: note: place parentheses around the assignment to silence this warning
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: note: use '==' to turn this assignment into an equality comparison
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: note: place parentheses around the assignment to silence this warning
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: note: use '==' to turn this assignment into an equality comparison
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:1021:20: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(res)
C/C++: ^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 4 warnings generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/flow/PacketPassFairQueue.c:174:20: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(res)
C/C++: ^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 1 warning generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/udpgw_client/UdpGwClient.c:37:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/udpgw_client/UdpGwClient.h:37:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: 10 warnings generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:67:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.h:42:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: note: place parentheses around the assignment to silence this warning
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: note: use '==' to turn this assignment into an equality comparison
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: } while (p = p->next);
C/C++: ~~^~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: note: place parentheses around the assignment to silence this warning
C/C++: } while (p = p->next);
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: note: use '==' to turn this assignment into an equality comparison
C/C++: } while (p = p->next);
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1924:88: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(pbuf_copy_partial(p, client->buf + client->buf_used, p->tot_len, 0) == p->tot_len)
C/C++: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 13 warnings generated.
> Task :core:configureNdkBuildRelease[x86]
> Task :core:buildNdkBuildRelease[x86]
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/libevent/evutil_rand.c:198:2: warning: implicit declaration of function 'arc4random_addrandom' is invalid in C99 [-Wimplicit-function-declaration]
C/C++: arc4random_addrandom((unsigned char*)buf,
C/C++: ^
C/C++: 1 warning generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.c:32:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.h:42:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: 10 warnings generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: note: place parentheses around the assignment to silence this warning
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: note: use '==' to turn this assignment into an equality comparison
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: note: place parentheses around the assignment to silence this warning
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: note: use '==' to turn this assignment into an equality comparison
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: note: place parentheses around the assignment to silence this warning
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: note: use '==' to turn this assignment into an equality comparison
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:1021:20: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(res)
C/C++: ^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 4 warnings generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/redsocks/redsocks.c:625:11: warning: implicit declaration of function 'pipe2' is invalid in C99 [-Wimplicit-function-declaration]
C/C++: error = pipe2(&pump->request.read, O_NONBLOCK);
C/C++: ^
C/C++: 1 warning generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/flow/PacketPassFairQueue.c:174:20: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(res)
C/C++: ^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 1 warning generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/udpgw_client/UdpGwClient.c:37:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/udpgw_client/UdpGwClient.h:37:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: 10 warnings generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:67:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.h:42:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: note: place parentheses around the assignment to silence this warning
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: note: use '==' to turn this assignment into an equality comparison
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: } while (p = p->next);
C/C++: ~~^~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: note: place parentheses around the assignment to silence this warning
C/C++: } while (p = p->next);
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: note: use '==' to turn this assignment into an equality comparison
C/C++: } while (p = p->next);
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1924:88: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(pbuf_copy_partial(p, client->buf + client->buf_used, p->tot_len, 0) == p->tot_len)
C/C++: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 13 warnings generated.
> Task :core:configureNdkBuildRelease[x86_64]
> Task :core:buildNdkBuildRelease[x86_64]
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/libevent/evutil_rand.c:198:2: warning: implicit declaration of function 'arc4random_addrandom' is invalid in C99 [-Wimplicit-function-declaration]
C/C++: arc4random_addrandom((unsigned char*)buf,
C/C++: ^
C/C++: 1 warning generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.c:32:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.h:42:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: 10 warnings generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: note: place parentheses around the assignment to silence this warning
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:87:18: note: use '==' to turn this assignment into an equality comparison
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: note: place parentheses around the assignment to silence this warning
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:130:18: note: use '==' to turn this assignment into an equality comparison
C/C++: while (timer = (ref = BReactor__TimersTree_GetFirst(&bsys->timers_tree, 0)).link) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:183:56: warning: taking address of packed member 'data' of class or structure 'epoll_event' may result in an unaligned pointer value [-Waddress-of-packed-member]
C/C++: bfd->epoll_returned_ptr = (BFileDescriptor **)&event->data.ptr;
C/C++: ^~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: note: place parentheses around the assignment to silence this warning
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:544:22: note: use '==' to turn this assignment into an equality comparison
C/C++: while (list_node = LinkedList1_GetFirst(&bsys->active_limits_list)) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/system/BReactor_badvpn.c:1021:20: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(res)
C/C++: ^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 5 warnings generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/redsocks/redsocks.c:625:11: warning: implicit declaration of function 'pipe2' is invalid in C99 [-Wimplicit-function-declaration]
C/C++: error = pipe2(&pump->request.read, O_NONBLOCK);
C/C++: ^
C/C++: 1 warning generated.
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/flow/PacketPassFairQueue.c:174:20: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(res)
C/C++: ^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 1 warning generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/udpgw_client/UdpGwClient.c:37:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/udpgw_client/UdpGwClient.h:37:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: 10 warnings generated.
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:67:
C/C++: In file included from /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/SocksUdpGwClient.h:42:
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:353:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:356:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = n1->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:360:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = n1->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[!side] = c) {
C/C++: ~~~~~~~~~~~~~~~~^~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:368:29: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[!side] = c) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->parent = n2->parent) {
C/C++: ~~~~~~~~~~~^~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:376:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->parent = n2->parent) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->parent = temp) {
C/C++: ~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:381:24: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->parent = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:389:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[0] = n2->link[0]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[0] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:392:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[0] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ~~~~~~~~~~~~^~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:398:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n1->link[1] = n2->link[1]) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: if (n2->link[1] = temp) {
C/C++: ~~~~~~~~~~~~^~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: place parentheses around the assignment to silence this warning
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/structure/BAVL.h:401:25: note: use '==' to turn this assignment into an equality comparison
C/C++: if (n2->link[1] = temp) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:450:63: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
C/C++: if ((sock2 = accept(sock, (struct sockaddr *)&remote, &t)) == -1) {
C/C++: ^~
C/C++: /opt/android-sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/sys/socket.h:301:71: note: passing argument to parameter '__addr_length' here
C/C++: __socketcall int accept(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);
C/C++: ^
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: note: place parentheses around the assignment to silence this warning
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:676:17: note: use '==' to turn this assignment into an equality comparison
C/C++: while (node = LinkedList1_GetFirst(&tcp_clients)) {
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
C/C++: } while (p = p->next);
C/C++: ~~^~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: note: place parentheses around the assignment to silence this warning
C/C++: } while (p = p->next);
C/C++: ^
C/C++: ( )
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1592:20: note: use '==' to turn this assignment into an equality comparison
C/C++: } while (p = p->next);
C/C++: ^
C/C++: ==
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/tun2socks/tun2socks.c:1924:88: warning: expression result unused [-Wunused-value]
C/C++: ASSERT_EXECUTE(pbuf_copy_partial(p, client->buf + client->buf_used, p->tot_len, 0) == p->tot_len)
C/C++: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
C/C++: /home/vagrant/build/com.github.shadowsocks/core/src/main/jni/badvpn/misc/debug.h:116:34: note: expanded from macro 'ASSERT_EXECUTE'
C/C++: #define ASSERT_EXECUTE(e) { (e); }
C/C++: ^
C/C++: 14 warnings generated.
> Task :plugin:mergeReleaseJniLibFolders
> Task :plugin:mergeReleaseNativeLibs NO-SOURCE
> Task :plugin:copyReleaseJniLibsProjectOnly
> Task :generateLinkerWrapper
> Task :core:externalNativeBuildRelease
> Task :core:cargoBuildArm
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
Python 3 detected.
Updating crates.io index
Downloading crates ...
Downloaded block-buffer v0.10.3
Downloaded ctr v0.9.2
Downloaded ecdsa v0.14.8
Downloaded arrayvec v0.7.2
Downloaded heck v0.4.0
Downloaded lock_api v0.4.9
Downloaded mio v0.8.5
Downloaded opaque-debug v0.3.0
Downloaded rand v0.8.5
Downloaded pin-project-lite v0.2.9
Downloaded serde v1.0.151
Downloaded serde_json v1.0.89
Downloaded spin v0.5.2
Downloaded slab v0.4.7
Downloaded spin v0.9.4
Downloaded untrusted v0.7.1
Downloaded walkdir v2.3.2
Downloaded xdg v2.4.1
Downloaded cpufeatures v0.2.5
Downloaded num-integer v0.1.45
Downloaded zeroize v1.5.7
Downloaded universal-hash v0.5.0
Downloaded serde_urlencoded v0.7.1
Downloaded serde_derive v1.0.151
Downloaded strsim v0.10.0
Downloaded ryu v1.0.11
Downloaded version_check v0.9.4
Downloaded tracing-attributes v0.1.23
Downloaded humantime v2.1.0
Downloaded clap_lex v0.3.0
Downloaded syn v1.0.105
Downloaded tracing-core v0.1.30
Downloaded hashbrown v0.12.3
Downloaded dirs v4.0.0
Downloaded thread-id v4.0.0
Downloaded pest_meta v2.5.1
Downloaded url v2.3.1
Downloaded rpassword v7.2.0
Downloaded sysexits v0.3.4
Downloaded lru-cache v0.1.2
Downloaded log-mdc v0.1.0
Downloaded resolv-conf v0.7.0
Downloaded log4rs v1.2.0
Downloaded pest_generator v2.5.1
Downloaded scopeguard v1.1.0
Downloaded yaml-rust v0.4.5
Downloaded tracing v0.1.37
Downloaded rtoolbox v0.0.1
Downloaded der v0.6.1
Downloaded sendfd v0.4.3
Downloaded shadowsocks-crypto v0.5.1
Downloaded rustix v0.36.5
Downloaded unsafe-any-ors v1.0.0
Downloaded libc v0.2.138
Downloaded aes-gcm-siv v0.11.1
Downloaded ring-compat v0.5.1
Downloaded termcolor v1.1.3
Downloaded ring v0.16.20
Downloaded blake3 v1.3.3
Downloaded regex-syntax v0.6.28
Downloaded tokio-tfo v0.2.0
Downloaded pest v2.5.1
Downloaded trust-dns-proto v0.22.0
Downloaded build-time v0.1.2
Downloaded typenum v1.16.0
Downloaded parking_lot_core v0.9.5
Downloaded unicode-ident v1.0.5
Downloaded tinyvec v1.6.0
Downloaded serde_yaml v0.8.26
Downloaded parking_lot v0.12.1
Downloaded p384 v0.11.2
Downloaded trust-dns-resolver v0.22.0
Downloaded tokio v1.23.0
Downloaded clap v4.0.29
Downloaded ccm v0.5.0
Downloaded rand_core v0.6.4
Downloaded rand_chacha v0.3.1
Downloaded proc-macro2 v1.0.47
Downloaded once_cell v1.16.0
Downloaded os_str_bytes v6.4.1
Downloaded typemap-ors v1.0.0
Downloaded iprange v0.6.7
Downloaded ppv-lite86 v0.2.17
Downloaded p256 v0.11.1
Downloaded num_cpus v1.14.0
Downloaded destructure_traitobject v0.2.0
Downloaded chacha20poly1305 v0.10.1
Downloaded data-encoding v2.3.3
Downloaded json5 v0.4.1
Downloaded chacha20 v0.9.0
Downloaded quick-error v1.2.3
Downloaded inotify-sys v0.1.5
Downloaded constant_time_eq v0.2.4
Downloaded match_cfg v0.1.0
Downloaded lru_time_cache v0.11.11
Downloaded byte_string v1.0.0
Downloaded md-5 v0.10.5
Downloaded daemonize v0.4.1
Downloaded const-oid v0.9.1
Downloaded poly1305 v0.8.0
Downloaded hostname v0.3.1
Downloaded pest_derive v2.5.1
Downloaded memchr v2.5.0
Downloaded enum-as-inner v0.5.1
Downloaded matches v0.1.9
Downloaded linux-raw-sys v0.1.4
Downloaded boxfnonce v0.1.1
Downloaded cfg-if v1.0.0
Downloaded log v0.4.17
Downloaded io-lifetimes v1.0.3
Downloaded directories v4.0.1
Downloaded crypto-bigint v0.4.9
Downloaded arc-swap v1.5.1
Downloaded bitflags v1.3.2
Downloaded autocfg v1.1.0
Downloaded arrayref v0.3.6
Downloaded base64ct v1.5.3
Downloaded base16ct v0.1.1
Downloaded aho-corasick v0.7.20
Downloaded async-trait v0.1.59
Downloaded signal-hook-registry v1.4.0
Downloaded pin-project v1.0.12
Downloaded percent-encoding v2.2.0
Downloaded crossbeam-channel v0.5.6
Downloaded hmac v0.12.1
Downloaded digest v0.10.6
Downloaded bytes v1.3.0
Downloaded itoa v1.0.4
Downloaded is-terminal v0.4.1
Downloaded derivative v2.2.0
Downloaded crossbeam-utils v0.8.14
Downloaded base64 v0.13.1
Downloaded anyhow v1.0.66
Downloaded android_system_properties v0.1.5
Downloaded crypto-common v0.1.6
Downloaded terminal_size v0.2.3
Downloaded subtle v2.4.1
Downloaded regex v1.7.0
Downloaded idna v0.2.3
Downloaded notify v5.0.0
Downloaded chrono v0.4.23
Downloaded aes v0.8.2
Downloaded aead v0.5.1
Downloaded cc v1.0.78
Downloaded aes-gcm v0.10.1
Downloaded ucd-trie v0.1.5
Downloaded cipher v0.4.3
Downloaded byteorder v1.4.3
Downloaded tokio-macros v1.8.2
Downloaded unicode-normalization v0.1.22
Downloaded unicode-bidi v0.3.8
Downloaded tinyvec_macros v0.1.0
Downloaded time v0.1.45
Downloaded thiserror-impl v1.0.37
Downloaded thiserror v1.0.37
Downloaded spki v0.6.0
Downloaded socket2 v0.4.7
Downloaded futures-io v0.3.25
Downloaded signature v1.6.4
Downloaded sha1 v0.10.5
Downloaded ordered-float v2.10.0
Downloaded polyval v0.6.0
Downloaded ipnet v2.7.0
Downloaded smallvec v1.10.0
Downloaded serde-value v0.7.0
Downloaded linked-hash-map v0.5.6
Downloaded lazy_static v1.4.0
Downloaded inotify v0.9.6
Downloaded indexmap v1.9.2
Downloaded idna v0.3.0
Downloaded sec1 v0.3.0
Downloaded iana-time-zone v0.1.53
Downloaded futures v0.3.25
Downloaded same-file v1.0.6
Downloaded pkcs8 v0.9.0
Downloaded getrandom v0.2.8
Downloaded generic-array v0.14.6
Downloaded futures-util v0.3.25
Downloaded pin-project-internal v1.0.12
Downloaded futures-task v0.3.25
Downloaded futures-sink v0.3.25
Downloaded futures-macro v0.3.25
Downloaded futures-core v0.3.25
Downloaded futures-channel v0.3.25
Downloaded form_urlencoded v1.1.0
Downloaded filetime v0.2.19
Downloaded elliptic-curve v0.12.3
Downloaded quote v1.0.21
Downloaded pin-utils v0.1.0
Downloaded num-traits v0.2.15
Downloaded hkdf v0.12.3
Downloaded fnv v1.0.7
Downloaded errno v0.2.8
Downloaded ed25519 v1.5.2
Downloaded dirs-sys v0.3.7
Downloaded inout v0.1.3
Downloaded ghash v0.5.0
Downloaded futures-executor v0.3.25
Downloading crates ...
Downloaded env_logger v0.10.0
Compiling libc v0.2.138
Compiling proc-macro2 v1.0.47
Compiling quote v1.0.21
Compiling cfg-if v1.0.0
Compiling unicode-ident v1.0.5
Compiling syn v1.0.105
Compiling autocfg v1.1.0
Compiling typenum v1.16.0
Compiling version_check v0.9.4
Compiling serde_derive v1.0.151
Compiling serde v1.0.151
Compiling subtle v2.4.1
Compiling thiserror v1.0.37
Compiling memchr v2.5.0
Compiling scopeguard v1.1.0
Compiling parking_lot_core v0.9.5
Compiling log v0.4.17
Compiling futures-core v0.3.25
Compiling zeroize v1.5.7
Compiling pin-project-lite v0.2.9
Compiling smallvec v1.10.0
Compiling futures-channel v0.3.25
Compiling futures-task v0.3.25
Compiling futures-util v0.3.25
Compiling opaque-debug v0.3.0
Compiling tinyvec_macros v0.1.0
Compiling futures-sink v0.3.25
Compiling tinyvec v1.6.0
Compiling bytes v1.3.0
Compiling futures-io v0.3.25
Compiling pin-utils v0.1.0
Compiling unicode-bidi v0.3.8
Compiling generic-array v0.14.6
Compiling ppv-lite86 v0.2.17
Compiling percent-encoding v2.2.0
Compiling lock_api v0.4.9
Compiling slab v0.4.7
Compiling num-integer v0.1.45
Compiling tokio v1.23.0
Compiling num-traits v0.2.15
Compiling bitflags v1.3.2
Compiling linked-hash-map v0.5.6
Compiling cc v1.0.78
Compiling form_urlencoded v1.1.0
Compiling io-lifetimes v1.0.3
Compiling crossbeam-utils v0.8.14
Compiling async-trait v0.1.59
Compiling once_cell v1.16.0
Compiling ucd-trie v0.1.5
Compiling ryu v1.0.11
Compiling matches v0.1.9
Compiling tracing-core v0.1.30
Compiling match_cfg v0.1.0
Compiling serde_json v1.0.89
Compiling itoa v1.0.4
Compiling heck v0.4.0
Compiling rustix v0.36.5
Compiling ipnet v2.7.0
Compiling indexmap v1.9.2
Compiling data-encoding v2.3.3
Compiling linux-raw-sys v0.1.4
Compiling arrayref v0.3.6
Compiling same-file v1.0.6
Compiling quick-error v1.2.3
Compiling lazy_static v1.4.0
Compiling constant_time_eq v0.2.4
Compiling arrayvec v0.7.2
Compiling getrandom v0.2.8
Compiling socket2 v0.4.7
Compiling num_cpus v1.14.0
Compiling signal-hook-registry v1.4.0
Compiling hostname v0.3.1
Compiling unicode-normalization v0.1.22
Compiling errno v0.2.8
Compiling resolv-conf v0.7.0
Compiling rand_core v0.6.4
Compiling crossbeam-channel v0.5.6
Compiling filetime v0.2.19
Compiling android_system_properties v0.1.5
Compiling dirs-sys v0.3.7
Compiling parking_lot v0.12.1
Compiling rand_chacha v0.3.1
Compiling walkdir v2.3.2
Compiling blake3 v1.3.3
Compiling lru-cache v0.1.2
Compiling destructure_traitobject v0.2.0
Compiling anyhow v1.0.66
Compiling rand v0.8.5
Compiling arc-swap v1.5.1
Compiling hashbrown v0.12.3
Compiling notify v5.0.0
Compiling idna v0.3.0
Compiling crypto-common v0.1.6
Compiling inout v0.1.3
Compiling block-buffer v0.10.3
Compiling idna v0.2.3
Compiling universal-hash v0.5.0
Compiling aead v0.5.1
Compiling ordered-float v2.10.0
Compiling cipher v0.4.3
Compiling digest v0.10.6
Compiling polyval v0.6.0
Compiling poly1305 v0.8.0
Compiling time v0.1.45
Compiling unsafe-any-ors v1.0.0
Compiling iana-time-zone v0.1.53
Compiling ctr v0.9.2
Compiling aes v0.8.2
Compiling ghash v0.5.0
Compiling chacha20 v0.9.0
Compiling hmac v0.12.1
Compiling sha1 v0.10.5
Compiling md-5 v0.10.5
Compiling chacha20poly1305 v0.10.1
Compiling ccm v0.5.0
Compiling spin v0.9.4
Compiling hkdf v0.12.3
Compiling aes-gcm-siv v0.11.1
Compiling aes-gcm v0.10.1
Compiling yaml-rust v0.4.5
Compiling aho-corasick v0.7.20
Compiling byte_string v1.0.0
Compiling base64 v0.13.1
Compiling regex-syntax v0.6.28
Compiling os_str_bytes v6.4.1
Compiling lru_time_cache v0.11.11
Compiling shadowsocks-crypto v0.5.1
Compiling chrono v0.4.23
Compiling terminal_size v0.2.3
Compiling is-terminal v0.4.1
Compiling typemap-ors v1.0.0
Compiling dirs v4.0.0
Compiling thread-id v4.0.0
Compiling rtoolbox v0.0.1
Compiling iprange v0.6.7
Compiling clap_lex v0.3.0
Compiling boxfnonce v0.1.1
Compiling log-mdc v0.1.0
Compiling fnv v1.0.7
Compiling strsim v0.10.0
Compiling termcolor v1.1.3
Compiling byteorder v1.4.3
Compiling humantime v2.1.0
Compiling rpassword v7.2.0
Compiling daemonize v0.4.1
Compiling xdg v2.4.1
Compiling directories v4.0.1
Compiling sysexits v0.3.4
Compiling clap v4.0.29
Compiling regex v1.7.0
Compiling thiserror-impl v1.0.37
Compiling futures-macro v0.3.25
Compiling tokio-macros v1.8.2
Compiling tracing-attributes v0.1.23
Compiling pin-project-internal v1.0.12
Compiling enum-as-inner v0.5.1
Compiling derivative v2.2.0
Compiling build-time v0.1.2
Compiling pin-project v1.0.12
Compiling tracing v0.1.37
Compiling pest v2.5.1
Compiling pest_meta v2.5.1
Compiling pest_generator v2.5.1
Compiling pest_derive v2.5.1
Compiling futures-executor v0.3.25
Compiling futures v0.3.25
Compiling url v2.3.1
Compiling serde_urlencoded v0.7.1
Compiling serde-value v0.7.0
Compiling serde_yaml v0.8.26
Compiling json5 v0.4.1
Compiling mio v0.8.5
Compiling log4rs v1.2.0
Compiling trust-dns-proto v0.22.0
Compiling tokio-tfo v0.2.0
Compiling sendfd v0.4.3
Compiling trust-dns-resolver v0.22.0
Compiling shadowsocks v1.15.0 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust/crates/shadowsocks)
Compiling shadowsocks-service v1.15.0 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust/crates/shadowsocks-service)
Compiling shadowsocks-rust v1.15.1 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust)
Finished release [optimized] target(s) in 4m 28s
> Task :core:cargoBuildArm64
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
Python 3 detected.
Compiling libc v0.2.138
Compiling cfg-if v1.0.0
Compiling subtle v2.4.1
Compiling zeroize v1.5.7
Compiling const-oid v0.9.1
Compiling scopeguard v1.1.0
Compiling pin-project-lite v0.2.9
Compiling typenum v1.16.0
Compiling serde v1.0.151
Compiling memchr v2.5.0
Compiling log v0.4.17
Compiling futures-core v0.3.25
Compiling generic-array v0.14.6
Compiling lock_api v0.4.9
Compiling parking_lot_core v0.9.5
Compiling smallvec v1.10.0
Compiling opaque-debug v0.3.0
Compiling futures-task v0.3.25
Compiling futures-channel v0.3.25
Compiling slab v0.4.7
Compiling base16ct v0.1.1
Compiling futures-sink v0.3.25
Compiling tinyvec_macros v0.1.0
Compiling futures-util v0.3.25
Compiling thiserror v1.0.37
Compiling bytes v1.3.0
Compiling pin-utils v0.1.0
Compiling futures-io v0.3.25
Compiling tinyvec v1.6.0
Compiling tokio v1.23.0
Compiling der v0.6.1
Compiling percent-encoding v2.2.0
Compiling linked-hash-map v0.5.6
Compiling unicode-bidi v0.3.8
Compiling ppv-lite86 v0.2.17
Compiling bitflags v1.3.2
Compiling num-traits v0.2.15
Compiling ring v0.16.20
Compiling form_urlencoded v1.1.0
Compiling once_cell v1.16.0
Compiling ryu v1.0.11
Compiling base64ct v1.5.3
Compiling crossbeam-utils v0.8.14
Compiling io-lifetimes v1.0.3
Compiling matches v0.1.9
Compiling itoa v1.0.4
Compiling match_cfg v0.1.0
Compiling untrusted v0.7.1
Compiling tracing-core v0.1.30
Compiling ipnet v2.7.0
Compiling spin v0.5.2
Compiling serde_json v1.0.89
Compiling rustix v0.36.5
Compiling blake3 v1.3.3
Compiling linux-raw-sys v0.1.4
Compiling constant_time_eq v0.2.4
Compiling quick-error v1.2.3
Compiling arrayvec v0.7.2
Compiling arrayref v0.3.6
Compiling lazy_static v1.4.0
Compiling data-encoding v2.3.3
Compiling same-file v1.0.6
Compiling indexmap v1.9.2
Compiling pin-project v1.0.12
Compiling lru-cache v0.1.2
Compiling walkdir v2.3.2
Compiling num-integer v0.1.45
Compiling hashbrown v0.12.3
Compiling destructure_traitobject v0.2.0
Compiling ucd-trie v0.1.5
Compiling spki v0.6.0
Compiling tracing v0.1.37
Compiling crossbeam-channel v0.5.6
Compiling getrandom v0.2.8
Compiling rand_core v0.6.4
Compiling cpufeatures v0.2.5
Compiling unicode-normalization v0.1.22
Compiling num_cpus v1.14.0
Compiling parking_lot v0.12.1
Compiling signal-hook-registry v1.4.0
Compiling socket2 v0.4.7
Compiling hostname v0.3.1
Compiling errno v0.2.8
Compiling pkcs8 v0.9.0
Compiling dirs-sys v0.3.7
Compiling signature v1.6.4
Compiling rand_chacha v0.3.1
Compiling resolv-conf v0.7.0
Compiling android_system_properties v0.1.5
Compiling ed25519 v1.5.2
Compiling filetime v0.2.19
Compiling arc-swap v1.5.1
Compiling crypto-common v0.1.6
Compiling block-buffer v0.10.3
Compiling inout v0.1.3
Compiling universal-hash v0.5.0
Compiling aead v0.5.1
Compiling crypto-bigint v0.4.9
Compiling digest v0.10.6
Compiling cipher v0.4.3
Compiling sec1 v0.3.0
Compiling polyval v0.6.0
Compiling rand v0.8.5
Compiling poly1305 v0.8.0
Compiling ordered-float v2.10.0
Compiling idna v0.3.0
Compiling ghash v0.5.0
Compiling ctr v0.9.2
Compiling aes v0.8.2
Compiling chacha20 v0.9.0
Compiling hmac v0.12.1
Compiling idna v0.2.3
Compiling md-5 v0.10.5
Compiling hkdf v0.12.3
Compiling ccm v0.5.0
Compiling chacha20poly1305 v0.10.1
Compiling sha1 v0.10.5
Compiling notify v5.0.0
Compiling aes-gcm v0.10.1
Compiling aes-gcm-siv v0.11.1
Compiling anyhow v1.0.66
Compiling iana-time-zone v0.1.53
Compiling time v0.1.45
Compiling pest v2.5.1
Compiling unsafe-any-ors v1.0.0
Compiling spin v0.9.4
Compiling yaml-rust v0.4.5
Compiling aho-corasick v0.7.20
Compiling elliptic-curve v0.12.3
Compiling regex-syntax v0.6.28
Compiling lru_time_cache v0.11.11
Compiling byte_string v1.0.0
Compiling base64 v0.13.1
Compiling ecdsa v0.14.8
Compiling os_str_bytes v6.4.1
Compiling chrono v0.4.23
Compiling typemap-ors v1.0.0
Compiling is-terminal v0.4.1
Compiling terminal_size v0.2.3
Compiling dirs v4.0.0
Compiling p384 v0.11.2
Compiling url v2.3.1
Compiling p256 v0.11.1
Compiling serde_urlencoded v0.7.1
Compiling serde-value v0.7.0
Compiling serde_yaml v0.8.26
Compiling clap_lex v0.3.0
Compiling thread-id v4.0.0
Compiling rtoolbox v0.0.1
Compiling iprange v0.6.7
Compiling mio v0.8.5
Compiling futures-executor v0.3.25
Compiling fnv v1.0.7
Compiling byteorder v1.4.3
Compiling boxfnonce v0.1.1
Compiling humantime v2.1.0
Compiling strsim v0.10.0
Compiling futures v0.3.25
Compiling log-mdc v0.1.0
Compiling json5 v0.4.1
Compiling termcolor v1.1.3
Compiling daemonize v0.4.1
Compiling rpassword v7.2.0
Compiling xdg v2.4.1
Compiling directories v4.0.1
Compiling sysexits v0.3.4
Compiling clap v4.0.29
Compiling log4rs v1.2.0
Compiling regex v1.7.0
Compiling trust-dns-proto v0.22.0
Compiling tokio-tfo v0.2.0
Compiling sendfd v0.4.3
Compiling trust-dns-resolver v0.22.0
Compiling ring-compat v0.5.1
Compiling shadowsocks-crypto v0.5.1
Compiling shadowsocks v1.15.0 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust/crates/shadowsocks)
Compiling shadowsocks-service v1.15.0 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust/crates/shadowsocks-service)
Compiling shadowsocks-rust v1.15.1 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust)
Finished release [optimized] target(s) in 3m 38s
> Task :core:cargoBuildX86
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
Python 3 detected.
Compiling libc v0.2.138
Compiling cfg-if v1.0.0
Compiling subtle v2.4.1
Compiling cpufeatures v0.2.5
Compiling pin-project-lite v0.2.9
Compiling zeroize v1.5.7
Compiling scopeguard v1.1.0
Compiling typenum v1.16.0
Compiling serde v1.0.151
Compiling memchr v2.5.0
Compiling futures-core v0.3.25
Compiling log v0.4.17
Compiling generic-array v0.14.6
Compiling lock_api v0.4.9
Compiling parking_lot_core v0.9.5
Compiling smallvec v1.10.0
Compiling slab v0.4.7
Compiling futures-channel v0.3.25
Compiling futures-task v0.3.25
Compiling futures-sink v0.3.25
Compiling tinyvec_macros v0.1.0
Compiling opaque-debug v0.3.0
Compiling futures-util v0.3.25
Compiling thiserror v1.0.37
Compiling pin-utils v0.1.0
Compiling bytes v1.3.0
Compiling futures-io v0.3.25
Compiling tokio v1.23.0
Compiling unicode-bidi v0.3.8
Compiling tinyvec v1.6.0
Compiling linked-hash-map v0.5.6
Compiling ppv-lite86 v0.2.17
Compiling percent-encoding v2.2.0
Compiling bitflags v1.3.2
Compiling num-traits v0.2.15
Compiling ryu v1.0.11
Compiling once_cell v1.16.0
Compiling io-lifetimes v1.0.3
Compiling crossbeam-utils v0.8.14
Compiling ipnet v2.7.0
Compiling form_urlencoded v1.1.0
Compiling itoa v1.0.4
Compiling matches v0.1.9
Compiling match_cfg v0.1.0
Compiling rustix v0.36.5
Compiling tracing-core v0.1.30
Compiling serde_json v1.0.89
Compiling blake3 v1.3.3
Compiling quick-error v1.2.3
Compiling arrayref v0.3.6
Compiling data-encoding v2.3.3
Compiling same-file v1.0.6
Compiling arrayvec v0.7.2
Compiling linux-raw-sys v0.1.4
Compiling constant_time_eq v0.2.4
Compiling lazy_static v1.4.0
Compiling indexmap v1.9.2
Compiling pin-project v1.0.12
Compiling walkdir v2.3.2
Compiling lru-cache v0.1.2
Compiling num-integer v0.1.45
Compiling destructure_traitobject v0.2.0
Compiling arc-swap v1.5.1
Compiling ucd-trie v0.1.5
Compiling hashbrown v0.12.3
Compiling unsafe-any-ors v1.0.0
Compiling tracing v0.1.37
Compiling anyhow v1.0.66
Compiling crossbeam-channel v0.5.6
Compiling pest v2.5.1
Compiling spin v0.9.4
Compiling yaml-rust v0.4.5
Compiling aho-corasick v0.7.20
Compiling getrandom v0.2.8
Compiling socket2 v0.4.7
Compiling signal-hook-registry v1.4.0
Compiling num_cpus v1.14.0
Compiling hostname v0.3.1
Compiling rand_core v0.6.4
Compiling unicode-normalization v0.1.22
Compiling errno v0.2.8
Compiling parking_lot v0.12.1
Compiling resolv-conf v0.7.0
Compiling android_system_properties v0.1.5
Compiling filetime v0.2.19
Compiling dirs-sys v0.3.7
Compiling rand_chacha v0.3.1
Compiling notify v5.0.0
Compiling iana-time-zone v0.1.53
Compiling crypto-common v0.1.6
Compiling inout v0.1.3
Compiling block-buffer v0.10.3
Compiling universal-hash v0.5.0
Compiling cipher v0.4.3
Compiling digest v0.10.6
Compiling aead v0.5.1
Compiling polyval v0.6.0
Compiling rand v0.8.5
Compiling poly1305 v0.8.0
Compiling idna v0.3.0
Compiling idna v0.2.3
Compiling ctr v0.9.2
Compiling aes v0.8.2
Compiling hmac v0.12.1
Compiling ghash v0.5.0
Compiling chacha20 v0.9.0
Compiling sha1 v0.10.5
Compiling md-5 v0.10.5
Compiling ccm v0.5.0
Compiling ordered-float v2.10.0
Compiling hkdf v0.12.3
Compiling time v0.1.45
Compiling chacha20poly1305 v0.10.1
Compiling byte_string v1.0.0
Compiling base64 v0.13.1
Compiling lru_time_cache v0.11.11
Compiling os_str_bytes v6.4.1
Compiling regex-syntax v0.6.28
Compiling terminal_size v0.2.3
Compiling is-terminal v0.4.1
Compiling aes-gcm-siv v0.11.1
Compiling aes-gcm v0.10.1
Compiling chrono v0.4.23
Compiling dirs v4.0.0
Compiling rtoolbox v0.0.1
Compiling thread-id v4.0.0
Compiling clap_lex v0.3.0
Compiling typemap-ors v1.0.0
Compiling iprange v0.6.7
Compiling byteorder v1.4.3
Compiling shadowsocks-crypto v0.5.1
Compiling log-mdc v0.1.0
Compiling boxfnonce v0.1.1
Compiling fnv v1.0.7
Compiling termcolor v1.1.3
Compiling humantime v2.1.0
Compiling strsim v0.10.0
Compiling rpassword v7.2.0
Compiling daemonize v0.4.1
Compiling xdg v2.4.1
Compiling directories v4.0.1
Compiling sysexits v0.3.4
Compiling clap v4.0.29
Compiling futures-executor v0.3.25
Compiling url v2.3.1
Compiling serde_urlencoded v0.7.1
Compiling serde-value v0.7.0
Compiling json5 v0.4.1
Compiling futures v0.3.25
Compiling serde_yaml v0.8.26
Compiling mio v0.8.5
Compiling log4rs v1.2.0
Compiling regex v1.7.0
Compiling trust-dns-proto v0.22.0
Compiling sendfd v0.4.3
Compiling tokio-tfo v0.2.0
Compiling trust-dns-resolver v0.22.0
Compiling shadowsocks v1.15.0 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust/crates/shadowsocks)
Compiling shadowsocks-service v1.15.0 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust/crates/shadowsocks-service)
Compiling shadowsocks-rust v1.15.1 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust)
Finished release [optimized] target(s) in 3m 26s
> Task :core:cargoBuildX86_64
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
Python 3 detected.
Compiling libc v0.2.138
Compiling cfg-if v1.0.0
Compiling subtle v2.4.1
Compiling zeroize v1.5.7
Compiling const-oid v0.9.1
Compiling cpufeatures v0.2.5
Compiling scopeguard v1.1.0
Compiling typenum v1.16.0
Compiling serde v1.0.151
Compiling memchr v2.5.0
Compiling pin-project-lite v0.2.9
Compiling futures-core v0.3.25
Compiling generic-array v0.14.6
Compiling lock_api v0.4.9
Compiling log v0.4.17
Compiling parking_lot_core v0.9.5
Compiling opaque-debug v0.3.0
Compiling smallvec v1.10.0
Compiling futures-task v0.3.25
Compiling futures-channel v0.3.25
Compiling slab v0.4.7
Compiling futures-sink v0.3.25
Compiling base16ct v0.1.1
Compiling tinyvec_macros v0.1.0
Compiling futures-util v0.3.25
Compiling thiserror v1.0.37
Compiling bytes v1.3.0
Compiling pin-utils v0.1.0
Compiling futures-io v0.3.25
Compiling tinyvec v1.6.0
Compiling tokio v1.23.0
Compiling der v0.6.1
Compiling bitflags v1.3.2
Compiling unicode-bidi v0.3.8
Compiling percent-encoding v2.2.0
Compiling ppv-lite86 v0.2.17
Compiling linked-hash-map v0.5.6
Compiling num-traits v0.2.15
Compiling once_cell v1.16.0
Compiling ryu v1.0.11
Compiling base64ct v1.5.3
Compiling io-lifetimes v1.0.3
Compiling form_urlencoded v1.1.0
Compiling crossbeam-utils v0.8.14
Compiling ring v0.16.20
Compiling spin v0.5.2
Compiling untrusted v0.7.1
Compiling tracing-core v0.1.30
Compiling match_cfg v0.1.0
Compiling itoa v1.0.4
Compiling matches v0.1.9
Compiling ipnet v2.7.0
Compiling rustix v0.36.5
Compiling serde_json v1.0.89
Compiling blake3 v1.3.3
Compiling lazy_static v1.4.0
Compiling same-file v1.0.6
Compiling linux-raw-sys v0.1.4
Compiling arrayref v0.3.6
Compiling arrayvec v0.7.2
Compiling data-encoding v2.3.3
Compiling constant_time_eq v0.2.4
Compiling quick-error v1.2.3
Compiling walkdir v2.3.2
Compiling indexmap v1.9.2
Compiling pin-project v1.0.12
Compiling lru-cache v0.1.2
Compiling num-integer v0.1.45
Compiling tracing v0.1.37
Compiling ucd-trie v0.1.5
Compiling destructure_traitobject v0.2.0
Compiling spki v0.6.0
Compiling crossbeam-channel v0.5.6
Compiling arc-swap v1.5.1
Compiling hashbrown v0.12.3
Compiling getrandom v0.2.8
Compiling rand_core v0.6.4
Compiling unicode-normalization v0.1.22
Compiling socket2 v0.4.7
Compiling parking_lot v0.12.1
Compiling num_cpus v1.14.0
Compiling signal-hook-registry v1.4.0
Compiling pkcs8 v0.9.0
Compiling errno v0.2.8
Compiling hostname v0.3.1
Compiling signature v1.6.4
Compiling rand_chacha v0.3.1
Compiling resolv-conf v0.7.0
Compiling ed25519 v1.5.2
Compiling crypto-common v0.1.6
Compiling block-buffer v0.10.3
Compiling inout v0.1.3
Compiling universal-hash v0.5.0
Compiling aead v0.5.1
Compiling sec1 v0.3.0
Compiling crypto-bigint v0.4.9
Compiling digest v0.10.6
Compiling cipher v0.4.3
Compiling rand v0.8.5
Compiling polyval v0.6.0
Compiling poly1305 v0.8.0
Compiling filetime v0.2.19
Compiling hmac v0.12.1
Compiling ghash v0.5.0
Compiling sha1 v0.10.5
Compiling ctr v0.9.2
Compiling aes v0.8.2
Compiling idna v0.3.0
Compiling idna v0.2.3
Compiling chacha20 v0.9.0
Compiling hkdf v0.12.3
Compiling md-5 v0.10.5
Compiling android_system_properties v0.1.5
Compiling ccm v0.5.0
Compiling dirs-sys v0.3.7
Compiling anyhow v1.0.66
Compiling chacha20poly1305 v0.10.1
Compiling iana-time-zone v0.1.53
Compiling notify v5.0.0
Compiling ordered-float v2.10.0
Compiling elliptic-curve v0.12.3
Compiling time v0.1.45
Compiling pest v2.5.1
Compiling unsafe-any-ors v1.0.0
Compiling aes-gcm v0.10.1
Compiling ecdsa v0.14.8
Compiling aes-gcm-siv v0.11.1
Compiling aho-corasick v0.7.20
Compiling yaml-rust v0.4.5
Compiling spin v0.9.4
Compiling regex-syntax v0.6.28
Compiling lru_time_cache v0.11.11
Compiling p256 v0.11.1
Compiling p384 v0.11.2
Compiling os_str_bytes v6.4.1
Compiling byte_string v1.0.0
Compiling base64 v0.13.1
Compiling terminal_size v0.2.3
Compiling is-terminal v0.4.1
Compiling chrono v0.4.23
Compiling typemap-ors v1.0.0
Compiling dirs v4.0.0
Compiling rtoolbox v0.0.1
Compiling clap_lex v0.3.0
Compiling thread-id v4.0.0
Compiling iprange v0.6.7
Compiling strsim v0.10.0
Compiling termcolor v1.1.3
Compiling futures-executor v0.3.25
Compiling byteorder v1.4.3
Compiling log-mdc v0.1.0
Compiling fnv v1.0.7
Compiling humantime v2.1.0
Compiling boxfnonce v0.1.1
Compiling futures v0.3.25
Compiling clap v4.0.29
Compiling rpassword v7.2.0
Compiling xdg v2.4.1
Compiling daemonize v0.4.1
Compiling directories v4.0.1
Compiling sysexits v0.3.4
Compiling url v2.3.1
Compiling serde_urlencoded v0.7.1
Compiling json5 v0.4.1
Compiling serde-value v0.7.0
Compiling serde_yaml v0.8.26
Compiling mio v0.8.5
Compiling log4rs v1.2.0
Compiling regex v1.7.0
Compiling trust-dns-proto v0.22.0
Compiling sendfd v0.4.3
Compiling tokio-tfo v0.2.0
Compiling trust-dns-resolver v0.22.0
Compiling ring-compat v0.5.1
Compiling shadowsocks-crypto v0.5.1
Compiling shadowsocks v1.15.0 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust/crates/shadowsocks)
Compiling shadowsocks-service v1.15.0 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust/crates/shadowsocks-service)
Compiling shadowsocks-rust v1.15.1 (/home/vagrant/build/com.github.shadowsocks/core/src/main/rust/shadowsocks-rust)
Finished release [optimized] target(s) in 3m 27s
> Task :core:cargoBuild
> Task :core:mergeReleaseJniLibFolders
> Task :plugin:packageReleaseRenderscript NO-SOURCE
> Task :core:compileReleaseRenderscript NO-SOURCE
> Task :core:generateReleaseResValues
> Task :core:extractDeepLinksForAarRelease
> Task :core:generateReleaseBuildConfig
> Task :core:generateReleaseResources
> Task :core:mergeReleaseNativeLibs
> Task :core:packageReleaseResources
> Task :core:stripReleaseDebugSymbols
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
> Task :plugin:compileReleaseRenderscript NO-SOURCE
> Task :plugin:generateReleaseResValues
> Task :plugin:generateReleaseResources
> Task :core:parseReleaseLocalResources
> Task :plugin:packageReleaseResources
> Task :core:copyReleaseJniLibsProjectAndLocalJars
> Task :plugin:generateReleaseBuildConfig
> Task :plugin:processReleaseManifest
> Task :core:processReleaseManifest
> Task :plugin:parseReleaseLocalResources
> Task :plugin:javaPreCompileRelease
> Task :core:javaPreCompileRelease
> Task :core:mergeReleaseShaders
> Task :core:compileReleaseShaders NO-SOURCE
> Task :core:generateReleaseAssets UP-TO-DATE
> Task :core:packageReleaseAssets
> Task :core:packageReleaseRenderscript NO-SOURCE
> Task :core:prepareReleaseArtProfile
> Task :core:prepareLintJarForPublish
> Task :core:processReleaseJavaRes NO-SOURCE
> Task :plugin:stripReleaseDebugSymbols NO-SOURCE
> Task :core:writeReleaseAarMetadata
> Task :plugin:copyReleaseJniLibsProjectAndLocalJars
> Task :plugin:extractDeepLinksForAarRelease
> Task :plugin:mergeReleaseShaders
> Task :plugin:compileReleaseShaders NO-SOURCE
> Task :plugin:generateReleaseAssets UP-TO-DATE
> Task :plugin:packageReleaseAssets
> Task :plugin:prepareLintJarForPublish
> Task :plugin:prepareReleaseArtProfile
> Task :plugin:processReleaseJavaRes NO-SOURCE
> Task :plugin:writeReleaseAarMetadata
> Task :core:writeReleaseLintModelMetadata
> Task :mobile:buildKotlinToolingMetadata
> Task :mobile:preBuild UP-TO-DATE
> Task :mobile:preReleaseBuild UP-TO-DATE
> Task :mobile:compileReleaseAidl NO-SOURCE
> Task :mobile:compileReleaseRenderscript NO-SOURCE
> Task :plugin:generateReleaseRFile
> Task :mobile:generateReleaseBuildConfig
> Task :core:generateReleaseRFile
> Task :mobile:generateReleaseResValues
> Task :mobile:checkReleaseAarMetadata
> Task :mobile:mapReleaseSourceSetPaths
> Task :mobile:generateReleaseResources
> Task :mobile:createReleaseCompatibleScreenManifests
> Task :core:extractDeepLinksRelease
> Task :mobile:extractDeepLinksRelease
> Task :plugin:extractDeepLinksRelease
> Task :mobile:processReleaseMainManifest
> Task :mobile:processReleaseManifest
> Task :mobile:javaPreCompileRelease
> Task :mobile:extractProguardFiles
> Task :plugin:writeReleaseLintModelMetadata
> Task :mobile:mergeReleaseJniLibFolders
> Task :core:copyReleaseJniLibsProjectOnly
> Task :mobile:mergeReleaseResources
> Task :mobile:checkReleaseDuplicateClasses
> Task :mobile:processReleaseJavaRes NO-SOURCE
> Task :mobile:mergeReleaseShaders
> Task :mobile:compileReleaseShaders NO-SOURCE
> Task :mobile:generateReleaseAssets UP-TO-DATE
> Task :mobile:mergeReleaseNativeLibs
> Task :mobile:mergeReleaseAssets
> Task :mobile:compressReleaseAssets
> Task :mobile:stripReleaseDebugSymbols
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
> Task :mobile:collectReleaseDependencies
> Task :mobile:extractReleaseNativeSymbolTables
[CXX5106] NDK was located by using ndk.dir property. This method is deprecated and will be removed in a future release. Please delete ndk.dir from local.properties and set android.ndkVersion to [21.4.7075529] in all native modules in the project. https://developer.android.com/r/studio-ui/ndk-dir
> Task :mobile:sdkReleaseDependencyData
> Task :mobile:processApplicationManifestReleaseForBundle
> Task :mobile:writeReleaseAppMetadata
> Task :mobile:mergeReleaseNativeDebugMetadata
> Task :mobile:writeReleaseSigningConfigVersions
> Task :mobile:processReleaseManifestForPackage
> Task :mobile:mergeReleaseArtProfile
warn: removing resource com.github.shadowsocks:string/advanced without required default value.
warn: removing resource com.github.shadowsocks:string/auto_connect_summary_v24 without required default value.
warn: removing resource com.github.shadowsocks:string/invalid_server without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode_auto without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode_off without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode_on without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode_system without required default value.
warn: removing resource com.github.shadowsocks:string/received without required default value.
warn: removing resource com.github.shadowsocks:string/sent without required default value.
warn: removing resource com.github.shadowsocks:string/tcp_fastopen_failure without required default value.
warn: removing resource com.github.shadowsocks:string/tcp_fastopen_summary without required default value.
warn: removing resource com.github.shadowsocks:string/tcp_fastopen_summary_unsupported without required default value.
> Task :mobile:bundleReleaseResources
warn: removing resource com.github.shadowsocks:string/advanced without required default value.
warn: removing resource com.github.shadowsocks:string/auto_connect_summary_v24 without required default value.
warn: removing resource com.github.shadowsocks:string/invalid_server without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode_auto without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode_off without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode_on without required default value.
warn: removing resource com.github.shadowsocks:string/night_mode_system without required default value.
warn: removing resource com.github.shadowsocks:string/received without required default value.
warn: removing resource com.github.shadowsocks:string/sent without required default value.
warn: removing resource com.github.shadowsocks:string/tcp_fastopen_failure without required default value.
warn: removing resource com.github.shadowsocks:string/tcp_fastopen_summary without required default value.
warn: removing resource com.github.shadowsocks:string/tcp_fastopen_summary_unsupported without required default value.
> Task :mobile:processReleaseResources
> Task :plugin:compileReleaseKotlin
w: /home/vagrant/build/com.github.shadowsocks/plugin/src/main/java/com/github/shadowsocks/plugin/fragment/AlertDialogFragment.kt: (48, 85): 'getParcelable(String?): T?' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/plugin/src/main/java/com/github/shadowsocks/plugin/fragment/AlertDialogFragment.kt: (58, 52): 'getParcelable(String?): T?' is deprecated. Deprecated in Java
> Task :plugin:compileReleaseJavaWithJavac
> Task :plugin:bundleLibCompileToJarRelease
> Task :plugin:extractReleaseAnnotations
> Task :plugin:mergeReleaseGeneratedProguardFiles
> Task :plugin:mergeReleaseConsumerProguardFiles
> Task :plugin:bundleLibResRelease
> Task :plugin:bundleLibRuntimeToJarRelease
> Task :plugin:exportReleaseConsumerProguardFiles
> Task :plugin:createFullJarRelease
> Task :plugin:mergeReleaseJavaResource
> Task :plugin:syncReleaseLibJars
> Task :plugin:bundleReleaseLocalLintAar
> Task :core:kaptGenerateStubsReleaseKotlin
> Task :core:kaptReleaseKotlin
> Task :core:compileReleaseKotlin
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/Core.kt: (142, 23): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/Core.kt: (143, 27): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/Core.kt: (161, 66): 'getPackageInfo(String, Int): PackageInfo!' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/aidl/ShadowsocksConnection.kt: (72, 13): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/aidl/ShadowsocksConnection.kt: (78, 13): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/aidl/ShadowsocksConnection.kt: (82, 13): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/aidl/ShadowsocksConnection.kt: (121, 26): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/bg/BaseService.kt: (266, 13): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/bg/BaseService.kt: (343, 34): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/bg/GuardedProcessPool.kt: (82, 21): The value 'true' assigned to 'var running: Boolean defined in com.github.shadowsocks.bg.GuardedProcessPool.Guard.looper' is never used
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/bg/GuardedProcessPool.kt: (87, 17): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/database/PrivateDatabase.kt: (50, 36): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/database/PublicDatabase.kt: (43, 36): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/net/DefaultNetworkListener.kt: (51, 32): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/net/DefaultNetworkListener.kt: (51, 44): This declaration needs opt-in. Its usage should be marked with '@kotlinx.coroutines.ObsoleteCoroutinesApi' or '@OptIn(kotlinx.coroutines.ObsoleteCoroutinesApi::class)'
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/net/DefaultNetworkListener.kt: (55, 25): This declaration needs opt-in. Its usage should be marked with '@kotlinx.coroutines.ObsoleteCoroutinesApi' or '@OptIn(kotlinx.coroutines.ObsoleteCoroutinesApi::class)'
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/net/HttpsTest.kt: (92, 19): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/plugin/PluginList.kt: (31, 35): 'queryIntentContentProviders(Intent, Int): (Mutable)List<ResolveInfo!>' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/plugin/PluginManager.kt: (150, 44): 'queryIntentContentProviders(Intent, Int): (Mutable)List<ResolveInfo!>' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/plugin/PluginManager.kt: (236, 76): 'get(String!): Any?' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/plugin/ResolvedPlugin.kt: (37, 50): 'get(String!): Any?' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/subscription/SubscriptionService.kt: (111, 36): This declaration needs opt-in. Its usage should be marked with '@kotlinx.coroutines.ExperimentalCoroutinesApi' or '@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)'
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/subscription/SubscriptionService.kt: (114, 21): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/utils/Utils.kt: (86, 64): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: /home/vagrant/build/com.github.shadowsocks/core/src/main/java/com/github/shadowsocks/utils/Utils.kt: (88, 9): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
> Task :core:extractReleaseAnnotations
> Task :core:compileReleaseJavaWithJavac
> Task :core:mergeReleaseGeneratedProguardFiles
> Task :core:mergeReleaseConsumerProguardFiles
> Task :core:mergeReleaseJavaResource
> Task :core:bundleLibResRelease
> Task :core:bundleLibRuntimeToJarRelease
> Task :core:bundleLibCompileToJarRelease
> Task :core:syncReleaseLibJars
> Task :core:bundleReleaseLocalLintAar
> Task :core:createFullJarRelease
> Task :core:exportReleaseConsumerProguardFiles
> Task :mobile:compileReleaseKotlin
w: /home/vagrant/build/com.github.shadowsocks/mobile/src/main/java/com/github/shadowsocks/AppManager.kt: (79, 47): 'getInstalledPackages(Int): (Mutable)List<PackageInfo!>' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/mobile/src/main/java/com/github/shadowsocks/MainActivity.kt: (211, 64): 'onBackPressed(): Unit' is deprecated. Overrides deprecated member in 'androidx.core.app.ComponentActivity'. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/mobile/src/main/java/com/github/shadowsocks/ProfileConfigActivity.kt: (76, 57): 'onBackPressed(): Unit' is deprecated. Overrides deprecated member in 'androidx.core.app.ComponentActivity'. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/mobile/src/main/java/com/github/shadowsocks/ProfileConfigFragment.kt: (166, 13): 'setTargetFragment(Fragment?, Int): Unit' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/mobile/src/main/java/com/github/shadowsocks/ProfileConfigFragment.kt: (217, 17): 'setTargetFragment(Fragment?, Int): Unit' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/mobile/src/main/java/com/github/shadowsocks/ProfilesFragment.kt: (242, 50): 'locale: Locale!' is deprecated. Deprecated in Java
w: /home/vagrant/build/com.github.shadowsocks/mobile/src/main/java/com/github/shadowsocks/acl/CustomRulesFragment.kt: (90, 34): Conditional branch result of type URL is implicitly cast to Any
w: /home/vagrant/build/com.github.shadowsocks/mobile/src/main/java/com/github/shadowsocks/acl/CustomRulesFragment.kt: (90, 49): Conditional branch result of type Comparable<{String & Subnet}> is implicitly cast to Any
> Task :mobile:compileReleaseJavaWithJavac
> Task :mobile:mergeReleaseGeneratedProguardFiles
> Task :mobile:mergeReleaseJavaResource
> Task :mobile:minifyReleaseWithR8
WARNING:/home/vagrant/build/com.github.shadowsocks/mobile/build/intermediates/merged_java_res/release/base.jar: R8: Unexpected reference to missing service class: META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.
WARNING:Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /home/vagrant/build/com.github.shadowsocks/mobile/build/outputs/mapping/release/missing_rules.txt.
WARNING:R8: Missing class lombok.Generated (referenced from: org.slf4j.Logger org.xbill.DNS.Compression.log and 2 other contexts)
Missing class org.slf4j.impl.StaticLoggerBinder (referenced from: void org.slf4j.LoggerFactory.bind() and 3 other contexts)
Missing class sun.net.spi.nameservice.NameServiceDescriptor (referenced from: org.xbill.DNS.spi.DNSJavaNameServiceDescriptor)
> Task :mobile:lintVitalAnalyzeRelease
> Task :mobile:shrinkReleaseRes
> Task :mobile:lintVitalReportRelease
> Task :mobile:lintVitalRelease
> Task :mobile:l8DexDesugarLibRelease
> Task :mobile:compileReleaseArtProfile
> Task :mobile:packageRelease
> Task :mobile:createReleaseApkListingFileRedirect
> Task :mobile:assembleRelease
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 20m 31s
130 actionable tasks: 130 executed
2022-12-24 22:27:56,711 DEBUG: Popen(['git', 'cat-file', '--batch-check'], cwd=/home/vagrant/build/com.github.shadowsocks, universal_newlines=False, shell=None, istream=<valid stream>)
2022-12-24 22:27:56,726 INFO: Successfully built version 5.3.2-nightly of com.github.shadowsocks from 3b9fed2abecdd6905462c67eb268818756d7ed77
2022-12-24 22:27:57,113 DEBUG: AXML contains a RESOURCE MAP
2022-12-24 22:27:57,113 DEBUG: Start of Namespace mapping: prefix 45: 'android' --> uri 140: 'http://schemas.android.com/apk/res/android'
2022-12-24 22:27:57,116 DEBUG: Checking build/com.github.shadowsocks/mobile/build/outputs/apk/release/mobile-release-unsigned.apk
2022-12-24 22:27:57,132 DEBUG: AXML contains a RESOURCE MAP
2022-12-24 22:27:57,132 DEBUG: Start of Namespace mapping: prefix 45: 'android' --> uri 140: 'http://schemas.android.com/apk/res/android'
2022-12-24 22:27:57,174 INFO: success: com.github.shadowsocks
2022-12-24 22:27:57,175 INFO: Finished
2022-12-24 22:27:57,175 INFO: 1 build succeeded