Компиляция под 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.
- Get more help at https://help.gradle.org
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.
Иди посмотри на 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:
жуть
такой опенсурс
как бы не блевануть
Могу сказать что оно нормально собирается. Просто надо обновить субмодуль с бустом до последней версии. Скоро залью небольшие правки.