******************************************************************************** conan install sentry-native/0.2.6@#5259d760e8e27c35ba4f749f6c2c82c4 --build=sentry-native -pr /home/conan/w/prod/BuildSingleReference/45473/0339db2f-e451-4968-b812-b7aac89bbcf6/profile_linux_9_libstdcpp11_gcc_release_64.sentry-native-shared-True.txt ******************************************************************************** Auto detecting your dev setup to initialize the default profile (/home/conan/w/prod/BuildSingleReference/.conan/profiles/default) CC and CXX: /usr/bin/gcc, /usr/bin/g++ Found gcc 9 gcc>=5, using the major as version ************************* WARNING: GCC OLD ABI COMPATIBILITY *********************** Conan detected a GCC version > 5 but has adjusted the 'compiler.libcxx' setting to 'libstdc++' for backwards compatibility. Your compiler is likely using the new CXX11 ABI by default (libstdc++11). If you want Conan to use the new ABI for the default profile, run: $ conan profile update settings.compiler.libcxx=libstdc++11 default Or edit '/home/conan/w/prod/BuildSingleReference/.conan/profiles/default' and set compiler.libcxx=libstdc++11 ************************************************************************************ Default settings os=Linux os_build=Linux arch=x86_64 arch_build=x86_64 compiler=gcc compiler.version=9 compiler.libcxx=libstdc++ build_type=Release *** You can change them in /home/conan/w/prod/BuildSingleReference/.conan/profiles/default *** *** Or override with -s compiler='other' -s ...s*** Configuration: [settings] arch=x86_64 build_type=Release compiler=gcc compiler.libcxx=libstdc++11 compiler.version=9 os=Linux [options] sentry-native:shared=True [build_requires] [env] libcurl/7.80.0: Not found in local cache, looking in remotes... libcurl/7.80.0: Trying with 'conan-center'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz libcurl/7.80.0: Downloaded recipe revision 533e9c8be46a25525f06ee6aca6a3421 openssl/1.1.1o: Not found in local cache, looking in remotes... openssl/1.1.1o: Trying with 'conan-center'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz openssl/1.1.1o: Downloaded recipe revision 213dbdeb846a4b40b4dec36cf2e673d7 zlib/1.2.12: Not found in local cache, looking in remotes... zlib/1.2.12: Trying with 'conan-center'... Downloading conanmanifest.txt Downloading conanfile.py Downloading conan_export.tgz zlib/1.2.12: Downloaded recipe revision 3b9e037ae1c615d045a06c67d88491ae sentry-native/0.2.6: Forced build from source Installing package: sentry-native/0.2.6 Requirements libcurl/7.80.0 from 'conan-center' - Downloaded openssl/1.1.1o from 'conan-center' - Downloaded sentry-native/0.2.6 from local cache - Cache zlib/1.2.12 from 'conan-center' - Downloaded Packages libcurl/7.80.0:9d92ed8bb4f04d8fc308aec13e84ca18d2fa9c49 - Download openssl/1.1.1o:6af9cc7cb931c5ad942174fd7838eb655717c709 - Download sentry-native/0.2.6:fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5 - Build zlib/1.2.12:6af9cc7cb931c5ad942174fd7838eb655717c709 - Download Installing (downloading, building) binaries... openssl/1.1.1o: Retrieving package 6af9cc7cb931c5ad942174fd7838eb655717c709 from remote 'conan-center' Downloading conanmanifest.txt Downloading conaninfo.txt Downloading conan_package.tgz openssl/1.1.1o: Package installed 6af9cc7cb931c5ad942174fd7838eb655717c709 openssl/1.1.1o: Downloaded package revision e98b5667fa7fc75b8a21a623505f469c zlib/1.2.12: Retrieving package 6af9cc7cb931c5ad942174fd7838eb655717c709 from remote 'conan-center' Downloading conanmanifest.txt Downloading conaninfo.txt Downloading conan_package.tgz zlib/1.2.12: Package installed 6af9cc7cb931c5ad942174fd7838eb655717c709 zlib/1.2.12: Downloaded package revision fb80506d19f5ea08e1ee5570ee34eab5 libcurl/7.80.0: Retrieving package 9d92ed8bb4f04d8fc308aec13e84ca18d2fa9c49 from remote 'conan-center' Downloading conanmanifest.txt Downloading conaninfo.txt Downloading conan_package.tgz libcurl/7.80.0: Package installed 9d92ed8bb4f04d8fc308aec13e84ca18d2fa9c49 libcurl/7.80.0: Downloaded package revision 46f90007040ac8006d0e6505a79a86e6 [HOOK - conan-center.py] pre_source(): [IMMUTABLE SOURCES (KB-H010)] OK sentry-native/0.2.6: Configuring sources in /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/source Unzipping 19.2MB, this can take a while [HOOK - conan-center.py] post_source(): [LIBCXX MANAGEMENT (KB-H011)] OK [HOOK - conan-center.py] post_source(): [CPPSTD MANAGEMENT (KB-H022)] OK [HOOK - conan-center.py] post_source(): [SHORT_PATHS USAGE (KB-H066)] OK sentry-native/0.2.6: Copying sources to build folder sentry-native/0.2.6: Building your package in /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5 sentry-native/0.2.6: Generator cmake_find_package_multi created CURLConfigVersion.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created CURLTarget-release.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created CURLTargets.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created CURLConfig.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created OpenSSLConfigVersion.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created OpenSSLTarget-release.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created OpenSSLTargets.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created OpenSSLConfig.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created ZLIBConfigVersion.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created ZLIBConfig.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created ZLIBTargets.cmake sentry-native/0.2.6: Generator cmake_find_package_multi created ZLIBTarget-release.cmake sentry-native/0.2.6: Generator cmake_find_package created FindCURL.cmake sentry-native/0.2.6: Generator cmake_find_package created FindOpenSSL.cmake sentry-native/0.2.6: Generator cmake_find_package created FindZLIB.cmake sentry-native/0.2.6: Generator pkg_config created libcurl.pc sentry-native/0.2.6: Generator pkg_config created libcrypto.pc sentry-native/0.2.6: Generator pkg_config created libssl.pc sentry-native/0.2.6: Generator pkg_config created openssl.pc sentry-native/0.2.6: Generator pkg_config created zlib.pc sentry-native/0.2.6: Generator cmake created conanbuildinfo.cmake sentry-native/0.2.6: Aggregating env generators [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] 'fPIC' option not found [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] OK sentry-native/0.2.6: Calling build() ----Running------ > cd '/home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5' && cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="gcc" -DCONAN_COMPILER_VERSION="9" -DCONAN_CXX_FLAGS="-m64" -DCONAN_SHARED_LINKER_FLAGS="-m64" -DCONAN_C_FLAGS="-m64" -DCONAN_LIBCXX="libstdc++11" -DBUILD_SHARED_LIBS="ON" -DCMAKE_INSTALL_PREFIX="/home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/package/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCMAKE_MODULE_PATH="/home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5" -DCMAKE_PREFIX_PATH="/home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -DSENTRY_BACKEND="inproc" -DSENTRY_CRASHPAD_SYSTEM="True" -DSENTRY_BREAKPAD_SYSTEM="True" -DSENTRY_ENABLE_INSTALL="True" -DSENTRY_TRANSPORT="curl" -DSENTRY_PIC="True" -DSENTRY_INTEGRATION_QT="False" -DSENTRY_PERFORMANCE_MONITORING="False" -Wno-dev '/home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5' ----------------- -- The C compiler identification is GNU 9.2.1 -- The CXX compiler identification is GNU 9.2.1 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Conan: called by CMake conan helper -- Conan: called inside local cache -- Conan: Adjusting output directories -- Conan: Using cmake global configuration -- Conan: Adjusting language standard -- Conan: Compiler GCC>=5, checking major version 9 -- Conan: Checking correct version: 9 -- Conan: C++ stdlib: libstdc++11 -- The ASM compiler identification is GNU -- Found assembler: /usr/bin/gcc -- SENTRY_TRANSPORT=curl -- SENTRY_BACKEND=inproc -- Conan: Using autogenerated FindCURL.cmake -- Found CURL: 7.80.0 (found version "7.80.0") -- Library curl found /home/conan/w/prod/BuildSingleReference/.conan/data/libcurl/7.80.0/_/_/package/9d92ed8bb4f04d8fc308aec13e84ca18d2fa9c49/lib/libcurl.a -- Found: /home/conan/w/prod/BuildSingleReference/.conan/data/libcurl/7.80.0/_/_/package/9d92ed8bb4f04d8fc308aec13e84ca18d2fa9c49/lib/libcurl.a -- Conan: Using autogenerated FindOpenSSL.cmake -- Found OpenSSL: 1.1.1o (found version "1.1.1o") -- Library ssl found /home/conan/w/prod/BuildSingleReference/.conan/data/openssl/1.1.1o/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libssl.a -- Found: /home/conan/w/prod/BuildSingleReference/.conan/data/openssl/1.1.1o/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libssl.a -- Library crypto found /home/conan/w/prod/BuildSingleReference/.conan/data/openssl/1.1.1o/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libcrypto.a -- Found: /home/conan/w/prod/BuildSingleReference/.conan/data/openssl/1.1.1o/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libcrypto.a -- Library crypto found /home/conan/w/prod/BuildSingleReference/.conan/data/openssl/1.1.1o/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libcrypto.a -- Found: /home/conan/w/prod/BuildSingleReference/.conan/data/openssl/1.1.1o/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libcrypto.a -- Library ssl found /home/conan/w/prod/BuildSingleReference/.conan/data/openssl/1.1.1o/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libssl.a -- Found: /home/conan/w/prod/BuildSingleReference/.conan/data/openssl/1.1.1o/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libssl.a -- Conan: Using autogenerated FindZLIB.cmake -- Found ZLIB: 1.2.12 (found version "1.2.12") -- Library z found /home/conan/w/prod/BuildSingleReference/.conan/data/zlib/1.2.12/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libz.a -- Found: /home/conan/w/prod/BuildSingleReference/.conan/data/zlib/1.2.12/_/_/package/6af9cc7cb931c5ad942174fd7838eb655717c709/lib/libz.a -- Library curl found /home/conan/w/prod/BuildSingleReference/.conan/data/libcurl/7.80.0/_/_/package/9d92ed8bb4f04d8fc308aec13e84ca18d2fa9c49/lib/libcurl.a -- Found: /home/conan/w/prod/BuildSingleReference/.conan/data/libcurl/7.80.0/_/_/package/9d92ed8bb4f04d8fc308aec13e84ca18d2fa9c49/lib/libcurl.a -- Configuring done -- Generating done -- Build files have been written to: /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5 ----Running------ > cmake --build '/home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5' '--' '-j3' ----------------- Scanning dependencies of target sentry [ 3%] Building C object source_subfolder/CMakeFiles/sentry.dir/vendor/mpack.c.o [ 6%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_alloc.c.o [ 10%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_backend.c.o [ 13%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_core.c.o [ 17%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_database.c.o [ 20%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_envelope.c.o [ 24%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_json.c.o [ 27%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_random.c.o [ 31%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_scope.c.o [ 34%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_session.c.o [ 37%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_slice.c.o [ 41%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_string.c.o [ 44%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_sync.c.o [ 48%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_transport.c.o [ 51%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_utils.c.o [ 55%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_uuid.c.o [ 58%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_value.c.o [ 62%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/path/sentry_path.c.o [ 65%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/transports/sentry_disk_transport.c.o [ 68%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/transports/sentry_function_transport.c.o [ 72%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/unwinder/sentry_unwinder.c.o [ 75%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/sentry_unix_pageallocator.c.o [ 79%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/path/sentry_path_unix.c.o [ 82%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/symbolizer/sentry_symbolizer_unix.c.o [ 86%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/modulefinder/sentry_modulefinder_linux.c.o [ 89%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/transports/sentry_transport_curl.c.o [ 93%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/backends/sentry_backend_inproc.c.o [ 96%] Building C object source_subfolder/CMakeFiles/sentry.dir/src/unwinder/sentry_unwinder_libbacktrace.c.o [100%] Linking C shared library ../lib/libsentry.so [100%] Built target sentry sentry-native/0.2.6: Package 'fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5' built sentry-native/0.2.6: Build folder /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5 sentry-native/0.2.6: Generated conaninfo.txt sentry-native/0.2.6: Generated conanbuildinfo.txt sentry-native/0.2.6: Generating the package sentry-native/0.2.6: Package folder /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/package/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5 sentry-native/0.2.6: Calling package() ----Running------ > cmake --build '/home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5' '--target' 'install' '--' '-j3' ----------------- [100%] Built target sentry Install the project... -- Install configuration: "Release" -- Installing: /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/package/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/lib/libsentry.so -- Set runtime path of "/home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/package/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/lib/libsentry.so" to "" -- Installing: /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/package/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/include/sentry.h -- Installing: /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/package/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/lib/cmake/sentry/sentry-targets.cmake -- Installing: /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/package/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/lib/cmake/sentry/sentry-targets-release.cmake -- Installing: /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/package/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/lib/cmake/sentry/sentry-config.cmake [HOOK - conan-center.py] post_package(): [PACKAGE LICENSE (KB-H012)] OK [HOOK - conan-center.py] post_package(): [DEFAULT PACKAGE LAYOUT (KB-H013)] OK [HOOK - conan-center.py] post_package(): [MATCHING CONFIGURATION (KB-H014)] OK [HOOK - conan-center.py] post_package(): [SHARED ARTIFACTS (KB-H015)] OK [HOOK - conan-center.py] post_package(): [PC-FILES (KB-H020)] OK [HOOK - conan-center.py] post_package(): [CMAKE-MODULES-CONFIG-FILES (KB-H016)] OK [HOOK - conan-center.py] post_package(): [PDB FILES NOT ALLOWED (KB-H017)] OK [HOOK - conan-center.py] post_package(): [LIBTOOL FILES PRESENCE (KB-H018)] OK [HOOK - conan-center.py] post_package(): [MS RUNTIME FILES (KB-H021)] OK [HOOK - conan-center.py] post_package(): [SHORT_PATHS USAGE (KB-H066)] OK [HOOK - conan-center.py] post_package(): [MISSING SYSTEM LIBS (KB-H043)] OK sentry-native/0.2.6 package(): Packaged 1 '.so' file: libsentry.so sentry-native/0.2.6 package(): Packaged 1 '.h' file: sentry.h sentry-native/0.2.6 package(): Packaged 1 file: LICENSE sentry-native/0.2.6: Package 'fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5' created sentry-native/0.2.6: Created package revision 265c9759829820a897c9d3ae1690a2ff [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK [HOOK - conan-center.py] post_package_info(): [LIBRARY DOES NOT EXIST (KB-H054)] OK [HOOK - conan-center.py] post_package_info(): [INCLUDE PATH DOES NOT EXIST (KB-H071)] OK Aggregating env generators CMake Warning: Manually-specified variables were not used by the project: CMAKE_EXPORT_NO_PACKAGE_REGISTRY SENTRY_BREAKPAD_SYSTEM SENTRY_INTEGRATION_QT SENTRY_PERFORMANCE_MONITORING In file included from /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/source_subfolder/src/sentry_sync.c:1: /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/source_subfolder/src/sentry_sync.c: In function ‘sentry__bgworker_start’: /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/source_subfolder/src/sentry_sync.h:229:41: warning: cast between incompatible function types from ‘int (*)(void *)’ to ‘void * (*)(void *)’ [-Wcast-function-type] 229 | (pthread_create(ThreadId, NULL, (void *(*)(void *))Func, Data) == 0 \ | ^ /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/source_subfolder/src/sentry_sync.c:116:9: note: in expansion of macro ‘sentry__thread_spawn’ 116 | if (sentry__thread_spawn(&bgw->thread_id, &worker_thread, bgw) != 0) { | ^~~~~~~~~~~~~~~~~~~~ /home/conan/w/prod/BuildSingleReference/.conan/data/sentry-native/0.2.6/_/_/build/fa31dc8b54f7ff0dd831d80f25a1a2afb68eaae5/source_subfolder/src/sentry_value.c:11:36: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] 11 | # pragma GCC diagnostic ignored "-Wstatic-in-inline" | ^~~~~~~~~~~~~~~~~~~~