PurpleI2P / i2pd-android

i2pd for Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Компиляция под windows

wipedlifepotato opened this issue · comments

Не компилируется никак под windows boost и miniupnc. Только с помощью WSL, но при этом наблюдается ошибка всё равно с boost. Нету какого-то файла с окончанием jam
user config ndk19 1 78 0 jam
При этом в той папке находится "74"
На WSL всё очень сильно Жужит при компиляции в целом. Имеется ли возможность как-то использовать ПРЕДкомпилированные библиотеки?
Может создать для i2pd какой-то порт для управления им без libi2pd и jni? Потому что это уж слишком много усложнений для тривиальных задач. Компьютер фризит, а выключать свои приложения ради того что бы скомпилировать под 5 видов андроида openssl желания мало

Я знаю как это можно сделать, могу сделать для себя, но в целом, в самом проекте, в самом репозитории, может стоит добавить такую возможность? Мне кажется не все люди фанаты генту...
Пока просто собирается - отпадает напрочь желание уже что-то либо делать

Добавить об опции sdk.dir нужно ещё

To follow build in another terminal, please use: tail -F /home/user/i2pd-android/app/jni/boost/logs/myst-log-1302.log
Building boost version: 1.78.0
Detected Android NDK version 21.4
Building with TOOLSET=clang CONFIG_VARIANT=ndk19 CXXPATH=/opt/android-sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ CFLAGS= CXXFLAGS=-std=c++14
Unpacking boost
Performing boost bootstrap
Building B2 engine..

###
###
### Using 'gcc' toolset.
###
###

g++ (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


###
###

> g++ -x c++ -std=c++11 -O2 -s -DNDEBUG builtins.cpp class.cpp command.cpp compile.cpp constants.cpp cwd.cpp debug.cpp debugger.cpp execcmd.cpp execnt.cpp execunix.cpp filesys.cpp filent.cpp fileunix.cpp frames.cpp function.cpp glob.cpp hash.cpp hcache.cpp hdrmacro.cpp headers.cpp jam_strings.cpp jam.cpp jamgram.cpp lists.cpp make.cpp make1.cpp md5.cpp mem.cpp modules.cpp native.cpp object.cpp option.cpp output.cpp parse.cpp pathnt.cpp pathsys.cpp pathunix.cpp regexp.cpp rules.cpp scan.cpp search.cpp startup.cpp subst.cpp sysinfo.cpp timestamp.cpp variable.cpp w32_getreg.cpp modules/order.cpp modules/path.cpp modules/property-set.cpp modules/regex.cpp modules/sequence.cpp modules/set.cpp -o b2
> cp b2 bjam
tools/build/src/engine/b2
Unicode/ICU support for Boost.Regex?... not found.
Generating B2 configuration in project-config.jam for gcc...

Bootstrapping is done. To build, run:

    ./b2

To generate header files, run:

    ./b2 headers

The configuration generated uses gcc to build by default. If that is
unintended either use the --with-toolset option or adjust configuration, by
editing 'project-config.jam'.

Further information:

   - Command line help:
     ./b2 --help

   - Getting started guide:
     http://www.boost.org/more/getting_started/unix-variants.html

   - B2 documentation:
     http://www.boost.org/build/

cp: cannot stat '/home/user/i2pd-android/app/jni/boost/configs/user-config-ndk19-1_78_0.jam': No such file or directory
To follow build in another terminal, please use: tail -F /home/user/i2pd-android/app/jni/boost/logs/myst-log-1927.log
Building boost version: 1.78.0
Cleaning: boost_1_78_0
Detected Android NDK version 23.2
Building with TOOLSET=clang CONFIG_VARIANT=ndk23 CXXPATH=/opt/android-sdk/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ CFLAGS= CXXFLAGS=
Unpacking boost
Performing boost bootstrap
Building B2 engine..

###
###
### Using 'gcc' toolset.
###
###

g++ (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


###
###

> g++ -x c++ -std=c++11 -O2 -s -DNDEBUG builtins.cpp class.cpp command.cpp compile.cpp constants.cpp cwd.cpp debug.cpp debugger.cpp execcmd.cpp execnt.cpp execunix.cpp filesys.cpp filent.cpp fileunix.cpp frames.cpp function.cpp glob.cpp hash.cpp hcache.cpp hdrmacro.cpp headers.cpp jam_strings.cpp jam.cpp jamgram.cpp lists.cpp make.cpp make1.cpp md5.cpp mem.cpp modules.cpp native.cpp object.cpp option.cpp output.cpp parse.cpp pathnt.cpp pathsys.cpp pathunix.cpp regexp.cpp rules.cpp scan.cpp search.cpp startup.cpp subst.cpp sysinfo.cpp timestamp.cpp variable.cpp w32_getreg.cpp modules/order.cpp modules/path.cpp modules/property-set.cpp modules/regex.cpp modules/sequence.cpp modules/set.cpp -o b2
> cp b2 bjam
tools/build/src/engine/b2
Unicode/ICU support for Boost.Regex?... not found.
Generating B2 configuration in project-config.jam for gcc...

Bootstrapping is done. To build, run:

    ./b2

To generate header files, run:

    ./b2 headers

The configuration generated uses gcc to build by default. If that is
unintended either use the --with-toolset option or adjust configuration, by
editing 'project-config.jam'.

Further information:

   - Command line help:
     ./b2 --help

   - Getting started guide:
     http://www.boost.org/more/getting_started/unix-variants.html

   - B2 documentation:
     http://www.boost.org/build/

patching file boost/asio/detail/config.hpp
patching file boost/config/user.hpp
patching file libs/filesystem/src/operations.cpp
patching file libs/filesystem/src/path.cpp
patching file tools/build/src/tools/common.jam
# ---------------
# Build using NDK
# ---------------
Building boost for android for arm64-v8a
Adding pathname: /opt/android-sdk/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin

Итог. помогло сменить версию NDK.

:~/i2pd-android/app/jni/boost$ ./build-android.sh /opt/android-sdk/ndk/23.2.8568313/

[sudo] password for user:

> Task :i2pd:compileDebugJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :i2pd:configureNdkBuildDebug[arm64-v8a] FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':i2pd:configureNdkBuildDebug[arm64-v8a]'.
> [CXX1405] error when building with ndkBuild using /home/user/i2pd-android/app/jni/Android.mk: Android NDK: ERROR:/home/user/i2pd-android/app/jni/Android.mk:boost_system: LOCAL_SRC_FILES points to a missing file
  Android NDK: Check that /home/user/i2pd-android/app/jni/boost/build/out/arm64-v8a/lib/libboost_system.a exists  or that its path is correct

  C++ build system [configure] failed while executing:
      /opt/android-sdk/ndk/23.2.8568313/ndk-build \
        NDK_PROJECT_PATH=null \
        APP_BUILD_SCRIPT=/home/user/i2pd-android/app/jni/Android.mk \
        NDK_APPLICATION_MK=/home/user/i2pd-android/app/jni/Application.mk \
        APP_ABI=arm64-v8a \
        NDK_ALL_ABIS=arm64-v8a \
        NDK_DEBUG=1 \
        APP_PLATFORM=android-16 \
        NDK_OUT=/home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/obj \
        NDK_LIBS_OUT=/home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/lib \
        NDK_MODULE_PATH:=/home/user/i2pd-android/app/jni \
        -j4 \
        APP_SHORT_COMMANDS=false \
        LOCAL_SHORT_COMMANDS=false \
        -B \
        -n
    from /home/user/i2pd-android/app
  /opt/android-sdk/ndk/23.2.8568313/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting    .  Stop.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 8m 11s
23 actionable tasks: 4 executed, 19 up-to-date
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/
.drone.yml            .gitignore            build/                build.log
.git                  README.md             build-android.bat     configs/
.gitattributes        boost_1_78_0/         build-android.sh      logs/
.github/              boost_1_78_0.tar.bz2  build-common.sh       patches/
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/
.drone.yml            .gitignore            build/                build.log
.git                  README.md             build-android.bat     configs/
.gitattributes        boost_1_78_0/         build-android.sh      logs/
.github/              boost_1_78_0.tar.bz2  build-common.sh       patches/
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/build
build/             build-android.bat  build-android.sh   build-common.sh    build.log
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/build/
build/ out/
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/build/out/
arm64-v8a/   armeabi-v7a/ x86/         x86_64/
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/build/out/arm^C
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/build/out/arm64-v8a/
include/ lib/
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/build/out/arm64-v8a/lib/
cmake/                                            libboost_math_tr1-clang-mt-a64-1_78.a
libboost_atomic-clang-mt-a64-1_78.a               libboost_math_tr1f-clang-mt-a64-1_78.a
libboost_chrono-clang-mt-a64-1_78.a               libboost_math_tr1l-clang-mt-a64-1_78.a
libboost_container-clang-mt-a64-1_78.a            libboost_nowide-clang-mt-a64-1_78.a
libboost_context-clang-mt-a64-1_78.a              libboost_prg_exec_monitor-clang-mt-a64-1_78.a
libboost_contract-clang-mt-a64-1_78.a             libboost_program_options-clang-mt-a64-1_78.a
libboost_coroutine-clang-mt-a64-1_78.a            libboost_random-clang-mt-a64-1_78.a
libboost_date_time-clang-mt-a64-1_78.a            libboost_regex-clang-mt-a64-1_78.a
libboost_exception-clang-mt-a64-1_78.a            libboost_serialization-clang-mt-a64-1_78.a
libboost_filesystem-clang-mt-a64-1_78.a           libboost_system-clang-mt-a64-1_78.a
libboost_graph-clang-mt-a64-1_78.a                libboost_test_exec_monitor-clang-mt-a64-1_78.a
libboost_iostreams-clang-mt-a64-1_78.a            libboost_thread-clang-mt-a64-1_78.a
libboost_json-clang-mt-a64-1_78.a                 libboost_timer-clang-mt-a64-1_78.a
libboost_log-clang-mt-a64-1_78.a                  libboost_type_erasure-clang-mt-a64-1_78.a
libboost_log_setup-clang-mt-a64-1_78.a            libboost_unit_test_framework-clang-mt-a64-1_78.a
libboost_math_c99-clang-mt-a64-1_78.a             libboost_wave-clang-mt-a64-1_78.a
libboost_math_c99f-clang-mt-a64-1_78.a            libboost_wserialization-clang-mt-a64-1_78.a
libboost_math_c99l-clang-mt-a64-1_78.a
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/build/out/arm64-v8a/lib/
cmake                                    libboost_math_tr1-clang-mt-a64-1_78.a
libboost_atomic-clang-mt-a64-1_78.a      libboost_math_tr1f-clang-mt-a64-1_78.a
libboost_chrono-clang-mt-a64-1_78.a      libboost_math_tr1l-clang-mt-a64-1_78.a
libboost_container-clang-mt-a64-1_78.a   libboost_nowide-clang-mt-a64-1_78.a
libboost_context-clang-mt-a64-1_78.a     libboost_prg_exec_monitor-clang-mt-a64-1_78.a
libboost_contract-clang-mt-a64-1_78.a    libboost_program_options-clang-mt-a64-1_78.a
libboost_coroutine-clang-mt-a64-1_78.a   libboost_random-clang-mt-a64-1_78.a
libboost_date_time-clang-mt-a64-1_78.a   libboost_regex-clang-mt-a64-1_78.a
libboost_exception-clang-mt-a64-1_78.a   libboost_serialization-clang-mt-a64-1_78.a
libboost_filesystem-clang-mt-a64-1_78.a  libboost_system-clang-mt-a64-1_78.a
libboost_graph-clang-mt-a64-1_78.a       libboost_test_exec_monitor-clang-mt-a64-1_78.a
libboost_iostreams-clang-mt-a64-1_78.a   libboost_thread-clang-mt-a64-1_78.a
libboost_json-clang-mt-a64-1_78.a        libboost_timer-clang-mt-a64-1_78.a
libboost_log-clang-mt-a64-1_78.a         libboost_type_erasure-clang-mt-a64-1_78.a
libboost_log_setup-clang-mt-a64-1_78.a   libboost_unit_test_framework-clang-mt-a64-1_78.a
libboost_math_c99-clang-mt-a64-1_78.a    libboost_wave-clang-mt-a64-1_78.a
libboost_math_c99f-clang-mt-a64-1_78.a   libboost_wserialization-clang-mt-a64-1_78.a
libboost_math_c99l-clang-mt-a64-1_78.a
user@RQPA8KB:~/i2pd-android$ ./build-android.sh /opt/android-sdk/ndk/23.2.8568313/^C
user@RQPA8KB:~/i2pd-android$ /home/user/i2pd-android/app/jni/boost/build/out/arm64-v8a/lib/libboost_system.a
bash: /home/user/i2pd-android/app/jni/boost/build/out/arm64-v8a/lib/libboost_system.a: No such file or directory
user@RQPA8KB:~/i2pd-android$ ls /home/user/i2pd-android/app/jni/boost/build/out/arm64-v8a/lib/libboost_
libboost_atomic-clang-mt-a64-1_78.a               libboost_math_tr1-clang-mt-a64-1_78.a
libboost_chrono-clang-mt-a64-1_78.a               libboost_math_tr1f-clang-mt-a64-1_78.a
libboost_container-clang-mt-a64-1_78.a            libboost_math_tr1l-clang-mt-a64-1_78.a
libboost_context-clang-mt-a64-1_78.a              libboost_nowide-clang-mt-a64-1_78.a
libboost_contract-clang-mt-a64-1_78.a             libboost_prg_exec_monitor-clang-mt-a64-1_78.a
libboost_coroutine-clang-mt-a64-1_78.a            libboost_program_options-clang-mt-a64-1_78.a
libboost_date_time-clang-mt-a64-1_78.a            libboost_random-clang-mt-a64-1_78.a
libboost_exception-clang-mt-a64-1_78.a            libboost_regex-clang-mt-a64-1_78.a
libboost_filesystem-clang-mt-a64-1_78.a           libboost_serialization-clang-mt-a64-1_78.a
libboost_graph-clang-mt-a64-1_78.a                libboost_system-clang-mt-a64-1_78.a
libboost_iostreams-clang-mt-a64-1_78.a            libboost_test_exec_monitor-clang-mt-a64-1_78.a
libboost_json-clang-mt-a64-1_78.a                 libboost_thread-clang-mt-a64-1_78.a
libboost_log-clang-mt-a64-1_78.a                  libboost_timer-clang-mt-a64-1_78.a
libboost_log_setup-clang-mt-a64-1_78.a            libboost_type_erasure-clang-mt-a64-1_78.a
libboost_math_c99-clang-mt-a64-1_78.a             libboost_unit_test_framework-clang-mt-a64-1_78.a
libboost_math_c99f-clang-mt-a64-1_78.a            libboost_wave-clang-mt-a64-1_78.a
libboost_math_c99l-clang-mt-a64-1_78.a            libboost_wserialization-clang-mt-a64-1_78.a

for lib_dir in */lib/
do
        #echo $lib_dir
        pushd `pwd`/$lib_dir
        ls
        for file in *
        do
                echo "~~~~FILE~~~~"
                echo $file
                tmp=(```echo $file | sed "s/-/ /"```)
                newFileName=${tmp[0]}.a
                echo "we will copy $file to $newFileName"
                cp $file $newFileName
        done
        popd
done

Скрипт выше запустить в app/jni/boost/build/out
можно с помощью sh файла

[sudo] password for user:
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details

> Task :i2pd:buildNdkBuildDebug[arm64-v8a]
C/C++: /home/user/i2pd-android/app/jni/DaemonAndroid.cpp:13:10: fatal error: 'boost/exception/diagnostic_information.hpp' file not found
C/C++: #include <boost/exception/diagnostic_information.hpp>
C/C++:          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: 1 error generated.
C/C++: make: *** [/opt/android-sdk/ndk/23.2.8568313/build/core/build-binary.mk:478: /home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/obj/local/arm64-v8a/objs-debug/i2pd/DaemonAndroid.o] Error 1
C/C++: make: *** Waiting for unfinished jobs....
C/C++: In file included from /home/user/i2pd-android/app/jni/i2pd/libi2pd/Blinding.cpp:15:
C/C++: In file included from /home/user/i2pd-android/app/jni/i2pd/libi2pd/Crypto.h:28:
C/C++: /home/user/i2pd-android/app/jni/i2pd/libi2pd/Tag.h:12:10: fatal error: 'boost/static_assert.hpp' file not found
C/C++: #include <boost/static_assert.hpp>
C/C++:          ^~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: 1 error generated.
C/C++: make: *** [/opt/android-sdk/ndk/23.2.8568313/build/core/build-binary.mk:478: /home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/obj/local/arm64-v8a/objs-debug/i2pd//home/user/i2pd-android/app/jni/i2pd/libi2pd/Blinding.o] Error 1
C/C++: In file included from /home/user/i2pd-android/app/jni/i2pd_android.cpp:12:
C/C++: /home/user/i2pd-android/app/jni/i2pd/libi2pd/Config.h:13:10: fatal error: 'boost/program_options/options_description.hpp' file not found
C/C++: #include <boost/program_options/options_description.hpp>
C/C++:          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C/C++: 1 error generated.
C/C++: make: *** [/opt/android-sdk/ndk/23.2.8568313/build/core/build-binary.mk:478: /home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/obj/local/arm64-v8a/objs-debug/i2pd/i2pd_android.o] Error 1

> Task :i2pd:buildNdkBuildDebug[arm64-v8a] FAILED

FAILURE: Build failed with an exception.

for include_dir in */include
do
        #echo $lib_dir
        pushd `pwd`/$include_dir
        ls
        for file in *
        do
                mv $file/boost boost
        done
        popd
done

> Task :i2pd:buildNdkBuildDebug[armeabi-v7a]
C/C++: ld: error: undefined symbol: posix_fadvise
C/C++: >>> referenced by operations.cpp:628 (libs/filesystem/src/operations.cpp:628)
C/C++: >>>               operations.o:(boost::filesystem::detail::(anonymous namespace)::copy_file_data_read_write_impl(int, int, char*, unsigned int)) in archive /home/user/i2pd-android/app/jni/boost/build/out/armeabi-v7a/lib/libboost_filesystem.a
C/C++: clang++: error: linker command failed with exit code 1 (use -v to see invocation)
C/C++: make: *** [/opt/android-sdk/ndk/23.2.8568313/build/core/build-binary.mk:716: /home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/obj/local/armeabi-v7a/libi2pd.so] Error 1

> Task :i2pd:buildNdkBuildDebug[armeabi-v7a] FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':i2pd:buildNdkBuildDebug[armeabi-v7a]'.
> com.android.ide.common.process.ProcessException: [armeabi-v7a] Compile++ thumb: i2pd <= bionic_netlink.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= ifaddrs.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Base.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= CPU.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= ChaCha20.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= DaemonAndroid.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Config.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= CryptoKey.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Blinding.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Crypto.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= i2pd_android.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Datagram.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Elligator.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Ed25519.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= ECIESX25519AEADRatchetSession.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Family.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Gost.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Gzip.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= FS.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Destination.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= I2PEndian.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= HTTP.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Garlic.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Identity.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= I2NPProtocol.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Log.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= LeaseSet.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Poly1305.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= NetDbRequests.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= NetDb.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= NTCP2.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Profiling.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= RouterContext.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Reseed.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Signature.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= RouterInfo.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= SSU2Session.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Timestamp.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= SSU2.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Streaming.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= TransitTunnel.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= TunnelConfig.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Transports.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= TunnelEndpoint.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Tunnel.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= TunnelGateway.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= util.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= TunnelPool.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= api.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= AddressBook.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= BOB.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= HTTPProxy.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= ClientContext.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= I2PService.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= I2CP.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= MatchedDestination.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= I2PTunnel.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Afrikaans.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Armenian.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= SOCKS.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Chinese.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Czech.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= SAM.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= English.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= French.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= UDPTunnel.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= German.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Polish.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Italian.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Portuguese.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Russian.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Spanish.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Swedish.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Turkish.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Turkmen.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Ukrainian.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Uzbek.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= I18N.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= Daemon.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= UPnP.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= HTTPServer.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= I2PControlHandlers.cpp
  [armeabi-v7a] Compile++ thumb: i2pd <= I2PControl.cpp
  [armeabi-v7a] SharedLibrary  : libi2pd.so

  C++ build system [build] failed while executing:
      /opt/android-sdk/ndk/23.2.8568313/ndk-build \
        NDK_PROJECT_PATH=null \
        APP_BUILD_SCRIPT=/home/user/i2pd-android/app/jni/Android.mk \
        NDK_APPLICATION_MK=/home/user/i2pd-android/app/jni/Application.mk \
        APP_ABI=armeabi-v7a \
        NDK_ALL_ABIS=armeabi-v7a \
        NDK_DEBUG=1 \
        APP_PLATFORM=android-16 \
        NDK_OUT=/home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/obj \
        NDK_LIBS_OUT=/home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/lib \
        NDK_MODULE_PATH:=/home/user/i2pd-android/app/jni \
        -j4 \
        i2pd
    from /home/user/i2pd-android/app
  ld: error: undefined symbol: posix_fadvise
  >>> referenced by operations.cpp:628 (libs/filesystem/src/operations.cpp:628)
  >>>               operations.o:(boost::filesystem::detail::(anonymous namespace)::copy_file_data_read_write_impl(int, int, char*, unsigned int)) in archive /home/user/i2pd-android/app/jni/boost/build/out/armeabi-v7a/lib/libboost_filesystem.a
  clang++: error: linker command failed with exit code 1 (use -v to see invocation)
  make: *** [/opt/android-sdk/ndk/23.2.8568313/build/core/build-binary.mk:716: /home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/obj/local/armeabi-v7a/libi2pd.so] Error 1

нужно сменить версию NDK для буста

./sdkmanager --sdk_root=/opt/android-sdk "ndk;22.1.7171670"

./build-android.sh /opt/android-sdk/ndk/22.1.7171670/

<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]<========-----> 65% EXECUTING [12m 56s]

<=========----> 69% EXECUTING [14m 40s]

:i2pd:buildNdkBuildDebug[armeabi-v7a]

ld: error: undefined symbol: posix_fadvise

referenced by operations.cpp:628 (libs/filesystem/src/operations.cpp:628)
operations.o:(boost::filesystem::detail::(anonymous namespace)::copy_file_data_read_write_impl(int, int, char*, unsigned int)) in archive /home/user/i2pd-android/app/jni/boost/build/out/armeabi-v7a/lib/libboost_filesystem.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/opt/android-sdk/ndk/23.2.8568313/build/core/build-binary.mk:716: /home/user/i2pd-android/app/build/intermediates/cxx/Debug/4a5g2y2t/obj/local/armeabi-v7a/libi2pd.so] Error 1

  • Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

BUILD FAILED in 17m 41s
26 actionable tasks: 4 executed, 22 up-to-date

Detected Android NDK version 25.2
Undefined or not supported Android NDK version: 25.2

for file in *1_78_0*
do
        echo "~~FILE~~"
        echo $file
        newname=```echo $file | sed "s/ndk23/ndk19/"```
        echo "cp $file to $newname"
done

/app/jni/boost/configs$

github.com/PurpleI2P/Boost-for-Android-Prebuilt -outdated

libs/iostreams/src/gzip.cpp:17:10: fatal error: 'boost/iostreams/detail/config/dyn_link.hpp' file not found
#include <boost/iostreams/detail/config/dyn_link.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
libs/iostreams/src/zlib.cpp:17:10: fatal error: 'boost/throw_exception.hpp' file not found
#include <boost/throw_exception.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
libs/iostreams/src/file_descriptor.cpp:16:10: fatal error: 'boost/config.hpp' file not found
#include <boost/config.hpp> // BOOST_JOIN
^~~~~~~~~~~~~~~~~~
1 error generated.
libs/iostreams/src/mapped_file.cpp:15:10: fatal error: 'boost/iostreams/detail/config/rtl.hpp' file not found
#include <boost/iostreams/detail/config/rtl.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
...skipped <p../build/build/armeabi-v7a/boost/bin.v2/libs/iostreams/build/clang-linux-armeabiv7a/release/link-static/target-os-android/threading-multi/visibility-hidden>libboost_iostreams-clang-mt-a32-1_78.a for lack of <p../build/build/armeabi-v7a/boost/bin.v2/libs/iostreams/build/clang-linux-armeabiv7a/release/link-static/target-os-android/threading-multi/visibility-hidden>file_descriptor.o...
...failed updating 4 targets...
ERROR: Failed to build boost for android for armeabi-v7a!

(-3 + -3) hours of life. fuck it.

commented

Иди посмотри на github actions. Там всё прям расписано по сборке, но только на линях. Под винды я уже не помню, но там тоже не на столько всё сложно должно быть...

У вас даже libboost с постфиксами даёт имена файлов, с версией. Инклуды тоже. Я по памяти, вроде это чинил ещё когда на линуксе собирал.
На старой версии NDK нету файла в configs
Что мне там распишут? Нахуй мне там и что читать? Я уже 6+ часов жизни сжёг нахуй. Мне неинтересно уже даже ебать себе мозг тем что должно компилироваться по ридми без танцев с бубнами. Как-нибудь потом уже

😸😺:
И2пд андроид сломали окончательно кажись

V M:
да ты просто не умеешь собирать

😸😺:
Лол бля

А нахуй у них либбуст даёт имена с постфиксами даже? Это явная проблема

V M:
у них всё нормально

😸😺:
У них в сборке и2пд самого имена этих файлов просто .a окончанием

V M:
а ты просто не умеешь собирать

😸😺:
Так у них предкомпелированные файлы лежат уже наверное

Так а по ридми делал

V M:
да вы и на линуксе не соберёте

😸😺:
Даже если так, какой разработчик на андроид не обязан этим ебать себе мозг

V M:
кстати пару лет назад я им печатал что цпуминер не собирался

а они говорили

что у всех всё собирается

в потом всёже сами попробовали

😸😺:
Он хочет добавить пирделку и не ебать мозг себе компиляцией по 15+ минут

V M:
и нихуя разумеется не собралось

😸😺:
Норм?

V M:
и потом разас там изменил чёто

😸😺:
Ну у них же как-то собирается да?

V M:
да всем всё платится

😸😺:
Ещё попросил у него библиотеку предкомпелированную

Он мне скидывает 1.52 версии когда у них с 1.58 давно всё. Даже не проверял наверное

V M:
жуть

такой опенсурс

как бы не блевануть

commented

Могу сказать что оно нормально собирается. Просто надо обновить субмодуль с бустом до последней версии. Скоро залью небольшие правки.