So I've had what at least feels like progress today, with anbox.
After adding the mirror for Reborn OS to pacman, I had access to anbox-reborn and anbox-modules-dkms-git. I edited the pkgbuild for anbox-image for aarch64 and pointed it toward the android arm64 image (linked in a previous post.)
Afterward, I had to get anbox-git installed. I opted for the version in the AUR over Reborn's, as for some reason I couldn't edit the pkgbuild of anbox-git from Reborn.
Here is the pkgbuild so far:
Unfortunately, this has only gotten me so far:
I'm going to try running this through pamac in terminal, to hopefully get a more verbose error, though I fear the issue might lie within soome of the files pamac is receiving (looking at you cpu_features.)
Again, if anyone is familiar with "emerge," I could use your help determining how to use it to tell the SPURV repo to use my local C, Go, and Ninja during compiling. I have a hunch, if I can figure that out, this monstrosity of an idea may see some headway. It seems the biggest hold-up so far has been how ingrained Google's x86 toolchains are. Even though I have all the dependencies I need in aarch64, I can't get Android source to stop looking for the x86 bundles.
I'm done for the day, the PBP is down to 4% battery and the chargers are at home. (If I could find someone willing to make us a fully functioning Chromium OS right now, I would start throwing money at them immediately.)
After adding the mirror for Reborn OS to pacman, I had access to anbox-reborn and anbox-modules-dkms-git. I edited the pkgbuild for anbox-image for aarch64 and pointed it toward the android arm64 image (linked in a previous post.)
Afterward, I had to get anbox-git installed. I opted for the version in the AUR over Reborn's, as for some reason I couldn't edit the pkgbuild of anbox-git from Reborn.
Here is the pkgbuild so far:
Code:
# Maintainer: Iwan Timmer <irtimmer@gmail.com>
pkgname=('anbox-git' 'anbox-modules-dkms-git')
_pkgname=anbox
pkgver=r1126.0a49ae0
pkgrel=1
epoch=1
arch=('aarch64')
url="http://anbox.io/"
license=('GPL3')
makedepends=('cmake' 'git' 'glm' 'lxc' 'sdl2_image' 'protobuf' 'boost' 'properties-cpp' 'gtest' 'python2')
source=("git+https://github.com/anbox/anbox.git"
"git+https://github.com/anbox/anbox-modules.git"
'anbox-container-manager.service'
'anbox-session-manager.service'
'99-anbox.rules'
'anbox.conf'
'anbox.desktop'
'anbox-bridge.network'
'anbox-bridge.netdev')
sha256sums=('SKIP'
'SKIP'
'5be94b63dc30d141f15ca7d1be6e3e81f26ef33f844614975537562f5d08236c'
'1f22dbb5a3ca6925bbf62899cd0f0bbaa0b77c879adcdd12ff9d43adfa61b1d8'
'210eb93342228168f7bb632c8b93d9bfda6f53f62459a6b74987fa1e17530475'
'3e07dc524a827c1651857cce28a06c1565bc5188101c140ed213bbafedc5abff'
'7332d09865be553a259a53819cebddd21f661c7a251d78c2f46acd75c66676b6'
'44899328725667041e6e84912da81c1d0147b708006eb2c2bb6503f271629ff0'
'559190df4d6d595480b30d8b13b862081fc4aac52790e33eb24cf7fbcb8003b8')
pkgver() {
cd "$srcdir/$_pkgname"
( set -o pipefail
git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
)
}
prepare() {
cd "$srcdir/${_pkgname}"
# Don't build tests
truncate -s 0 cmake/FindGMock.cmake
truncate -s 0 tests/CMakeLists.txt
}
build() {
mkdir -p "$srcdir/${_pkgname}/build"
cd "$srcdir/${_pkgname}/build"
cmake .. -DCMAKE_INSTALL_LIBDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CXX_FLAGS="-Wno-error=implicit-fallthrough -Wno-error=missing-field-initializers" -DCMAKE_BUILD_TYPE=Release
make
}
package_anbox-git() {
depends=('lxc' 'sdl2_image' 'protobuf' 'anbox-image' 'libsystemd' 'boost-libs')
optdepends=('anbox-modules-dkms-git: Required Android kernel modules')
pkgdesc="Running Android in a container"
cd "$srcdir/${_pkgname}"
make -C build DESTDIR="$pkgdir" install
install -Dm 644 -t $pkgdir/usr/lib/systemd/system $srcdir/anbox-container-manager.service
install -Dm 644 -t $pkgdir/usr/lib/systemd/user $srcdir/anbox-session-manager.service
install -Dm 644 $srcdir/anbox-bridge.network $pkgdir/usr/lib/systemd/network/80-anbox-bridge.network
install -Dm 644 $srcdir/anbox-bridge.netdev $pkgdir/usr/lib/systemd/network/80-anbox-bridge.netdev
install -Dm 644 -t $pkgdir/usr/lib/udev/rules.d $srcdir/99-anbox.rules
install -Dm 644 -t $pkgdir/usr/share/applications $srcdir/anbox.desktop
install -Dm 644 snap/gui/icon.png $pkgdir/usr/share/pixmaps/anbox.png
}
package_anbox-modules-dkms-git() {
pkgdesc="Required kernel module sources for Android"
depends=('dkms')
arch=('any')
cd "$srcdir/anbox-modules"
modules=(ashmem binder)
for mod in "${modules[@]}"; do
install -dm 755 $pkgdir/usr/src
cp -a $mod $pkgdir/usr/src/anbox-modules-$mod-$pkgver
done;
install -Dm 644 -t $pkgdir/usr/lib/modules-load.d $srcdir/anbox.conf
}
Unfortunately, this has only gotten me so far:
Code:
Edit anbox-git build files
Cloning anbox-git build files...
Checking anbox-git dependencies...
Preparing...
Building anbox-git...
==> Making package: anbox-git 1:r1126.0a49ae0-1 (Fri 27 Dec 2019 03:21:12 PM EST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating anbox git repo...
Fetching origin
-> Updating anbox-modules git repo...
Fetching origin
-> Found anbox-container-manager.service
-> Found anbox-session-manager.service
-> Found 99-anbox.rules
-> Found anbox.conf
-> Found anbox.desktop
-> Found anbox-bridge.network
-> Found anbox-bridge.netdev
==> Validating source files with sha256sums...
anbox ... Skipped
anbox-modules ... Skipped
anbox-container-manager.service ... Passed
anbox-session-manager.service ... Passed
99-anbox.rules ... Passed
anbox.conf ... Passed
anbox.desktop ... Passed
anbox-bridge.network ... Passed
anbox-bridge.netdev ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Creating working copy of anbox git repo...
Cloning into 'anbox'...
done.
-> Creating working copy of anbox-modules git repo...
Cloning into 'anbox-modules'...
done.
==> Starting prepare()...
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-- The C compiler identification is GNU 9.1.0
-- The CXX compiler identification is GNU 9.1.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Treat warnings as errors
-- Found Boost: /usr/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: filesystem log serialization system thread program_options
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.3")
-- Found Threads: TRUE
-- Found EGL: /usr/lib/libEGL.so
-- Found GLESv2: /usr/lib/libGLESv2.so
-- Found Protobuf: /usr/lib/libprotobuf.so;-lpthread (found version "3.11.1")
-- Checking for module 'sdl2'
-- Found sdl2, version 2.0.10
-- Checking for module 'SDL2_image'
-- Found SDL2_image, version 2.0.5
-- Checking for module 'dbus-1'
-- Found dbus-1, version 1.12.16
-- Checking for module 'lxc'
-- Found lxc, version 3.2.1
-- Checking for module 'properties-cpp'
-- Found properties-cpp, version 0.0.1
-- Checking for module 'libsystemd'
-- Found libsystemd, version 244
-- LXC version: 3.2.1
-- Found Boost: /usr/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: iostreams system
-- Found Boost: /usr/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: filesystem system unit_test_framework
-- Found libdw: /usr/lib/libdw.so
-- Found libbfd: /usr/lib/libbfd.so
-- Found libdwarf: /usr/lib/libdwarf.so
-- Found Backward: /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp
-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build
Scanning dependencies of target process-cpp
[ 1%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/backtrace.cpp.o
[ 1%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/child_process.cpp.o
[ 2%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/exec.cpp.o
[ 2%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/fork.cpp.o
[ 2%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/process.cpp.o
[ 3%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/process_group.cpp.o
[ 3%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/signal.cpp.o
[ 4%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/signalable.cpp.o
[ 4%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/standard_stream.cpp.o
[ 5%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/wait.cpp.o
[ 5%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/this_process.cpp.o
[ 5%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/linux/proc/process/oom_adj.cpp.o
[ 6%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/linux/proc/process/oom_score.cpp.o
[ 6%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/linux/proc/process/oom_score_adj.cpp.o
[ 7%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/posix/linux/proc/process/stat.cpp.o
[ 7%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/testing/cross_process_sync.cpp.o
[ 8%] Building CXX object external/process-cpp-minimal/src/CMakeFiles/process-cpp.dir/core/testing/fork_and_run.cpp.o
[ 8%] Linking CXX static library libprocess-cpp.a
[ 8%] Built target process-cpp
Scanning dependencies of target emugen
[ 9%] Building CXX object external/android-emugl/host/tools/emugen/CMakeFiles/emugen.dir/ApiGen.cpp.o
[ 9%] Building CXX object external/android-emugl/host/tools/emugen/CMakeFiles/emugen.dir/EntryPoint.cpp.o
[ 10%] Building CXX object external/android-emugl/host/tools/emugen/CMakeFiles/emugen.dir/main.cpp.o
[ 10%] Building CXX object external/android-emugl/host/tools/emugen/CMakeFiles/emugen.dir/Parser.cpp.o
[ 11%] Building CXX object external/android-emugl/host/tools/emugen/CMakeFiles/emugen.dir/strUtils.cpp.o
[ 11%] Building CXX object external/android-emugl/host/tools/emugen/CMakeFiles/emugen.dir/TypeFactory.cpp.o
[ 11%] Linking CXX executable emugen
[ 11%] Built target emugen
Scanning dependencies of target OpenglCodecCommon
[ 11%] Building CXX object external/android-emugl/shared/OpenglCodecCommon/CMakeFiles/OpenglCodecCommon.dir/ChecksumCalculator.cpp.o
[ 13%] Building CXX object external/android-emugl/shared/OpenglCodecCommon/CMakeFiles/OpenglCodecCommon.dir/ChecksumCalculatorThreadInfo.cpp.o
[ 13%] Building CXX object external/android-emugl/shared/OpenglCodecCommon/CMakeFiles/OpenglCodecCommon.dir/glUtils.cpp.o
[ 14%] Linking CXX static library libOpenglCodecCommon.a
[ 14%] Built target OpenglCodecCommon
[ 14%] Generating ../include/OpenGLESDispatch/gles1_extensions_functions.h, ../include/OpenGLESDispatch/gles1_only_functions.h, ../include/OpenGLESDispatch/gles2_extensions_functions.h, ../include/OpenGLESDispatch/gles2_only_functions.h, ../include/OpenGLESDispatch/gles3_only_functions.h, ../include/OpenGLESDispatch/gles_common_functions.h, ../include/OpenGLESDispatch/gles_extensions_functions.h, ../include/OpenGLESDispatch/RenderEGL_extensions_functions.h, ../include/OpenGLESDispatch/RenderEGL_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/RenderEGL_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/RenderEGL_extensions_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/gles_common_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/gles_extensions_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/gles1_only_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/gles1_extensions_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/gles2_only_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/gles2_extensions_functions.h
Generating /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/build/external/android-emugl/host/include/OpenGLESDispatch/gles3_only_functions.h
[ 15%] Generating GLESv2_dec/gles2_dec.cpp, GLESv2_dec/gles2_opcodes.h, GLESv2_dec/gles2_server_context.cpp
Scanning dependencies of target GLESv2_dec
[ 15%] Building CXX object external/android-emugl/host/libs/CMakeFiles/GLESv2_dec.dir/GLESv2_dec/GLESv2Decoder.cpp.o
[ 16%] Building CXX object external/android-emugl/host/libs/CMakeFiles/GLESv2_dec.dir/GLESv2_dec/gles2_dec.cpp.o
[ 16%] Building CXX object external/android-emugl/host/libs/CMakeFiles/GLESv2_dec.dir/GLESv2_dec/gles2_server_context.cpp.o
[ 17%] Linking CXX static library libGLESv2_dec.a
[ 17%] Built target GLESv2_dec
[ 17%] Generating GLESv1_dec/renderControl_dec.cpp, GLESv1_dec/renderControl_server_context.cpp
Scanning dependencies of target renderControl_dec
[ 18%] Building CXX object external/android-emugl/host/libs/CMakeFiles/renderControl_dec.dir/GLESv1_dec/renderControl_dec.cpp.o
[ 18%] Building CXX object external/android-emugl/host/libs/CMakeFiles/renderControl_dec.dir/GLESv1_dec/renderControl_server_context.cpp.o
[ 19%] Linking CXX static library librenderControl_dec.a
[ 19%] Built target renderControl_dec
[ 19%] Generating GLESv1_dec/gles1_dec.cpp, GLESv1_dec/gles1_opcodes.h, GLESv1_dec/gles1_server_context.cpp
Scanning dependencies of target GLESv1_dec
[ 20%] Building CXX object external/android-emugl/host/libs/CMakeFiles/GLESv1_dec.dir/GLESv1_dec/GLESv1Decoder.cpp.o
[ 20%] Building CXX object external/android-emugl/host/libs/CMakeFiles/GLESv1_dec.dir/GLESv1_dec/gles1_dec.cpp.o
[ 21%] Building CXX object external/android-emugl/host/libs/CMakeFiles/GLESv1_dec.dir/GLESv1_dec/gles1_server_context.cpp.o
[ 21%] Linking CXX static library libGLESv1_dec.a
[ 21%] Built target GLESv1_dec
Scanning dependencies of target emugl_common
[ 22%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/crash_reporter.cpp.o
[ 22%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/id_to_object_map.cpp.o
[ 23%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/lazy_instance.cpp.o
[ 23%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/logging.cpp.o
[ 25%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/message_channel.cpp.o
[ 25%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/mutex_unittest.cpp.o
[ 25%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/pod_vector.cpp.o
[ 26%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/shared_library.cpp.o
[ 26%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/smart_ptr.cpp.o
[ 27%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/sockets.cpp.o
[ 27%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/thread_pthread.cpp.o
[ 28%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/thread_store.cpp.o
[ 28%] Building CXX object external/android-emugl/shared/emugl/common/CMakeFiles/emugl_common.dir/thread_unittest.cpp.o
[ 28%] Linking CXX static library libemugl_common.a
[ 28%] Built target emugl_common
Scanning dependencies of target OpenGLESDispatch
[ 29%] Building CXX object external/android-emugl/host/libs/CMakeFiles/OpenGLESDispatch.dir/libOpenGLESDispatch/EGLDispatch.cpp.o
[ 29%] Building CXX object external/android-emugl/host/libs/CMakeFiles/OpenGLESDispatch.dir/libOpenGLESDispatch/GLESv2Dispatch.cpp.o
[ 29%] Building CXX object external/android-emugl/host/libs/CMakeFiles/OpenGLESDispatch.dir/libOpenGLESDispatch/GLESv1Dispatch.cpp.o
[ 30%] Linking CXX static library libOpenGLESDispatch.a
[ 30%] Built target OpenGLESDispatch
Scanning dependencies of target xdg
[ 30%] Building CXX object external/xdg/CMakeFiles/xdg.dir/xdg.cpp.o
[ 31%] Linking CXX static library libxdg.a
[ 31%] Built target xdg
Scanning dependencies of target xdg_test
[ 31%] Building CXX object external/xdg/CMakeFiles/xdg_test.dir/xdg_test.cpp.o
[ 32%] Linking CXX executable xdg_test
[ 32%] Built target xdg_test
Scanning dependencies of target backward
[ 33%] Building CXX object external/backward-cpp/CMakeFiles/backward.dir/backward.cpp.o
In file included from /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.cpp:26:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:3707: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
3707 | #pragma clang diagnostic push
|
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:3708: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
3708 | #pragma clang diagnostic ignored "-Wdisabled-macro-expansion"
|
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:3710: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
3710 | #pragma clang diagnostic pop
|
In file included from /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.cpp:26:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp: In member function ‘backward::ResolvedTrace backward::TraceResolverLinuxImpl<backward::trace_resolver_tag::libdw>::resolve(backward::ResolvedTrace)’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1324:46: warning: use of old-style cast to ‘Dwarf_Addr’ {aka ‘long unsigned int’} [-Wold-style-cast]
1324 | Dwarf_Addr trace_addr = (Dwarf_Addr) trace.addr;
| ^~~~
| -----------------------
| reinterpret_cast<Dwarf_Addr> ( trace.addr)
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp: In member function ‘void backward::TraceResolverLinuxImpl<backward::trace_resolver_tag::libdw>::inliners_search_cb::operator()(Dwarf_Die*)’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1507:28: warning: use of old-style cast to ‘unsigned int’ [-Wold-style-cast]
1507 | sloc.line = (unsigned)line;
| ^~~~
| --------------
| static_cast<unsigned> (line)
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1508:27: warning: use of old-style cast to ‘unsigned int’ [-Wold-style-cast]
1508 | sloc.col = (unsigned)col;
| ^~~
| -------------
| static_cast<unsigned> (col)
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1483:11: warning: switch missing default case [-Wswitch-default]
1483 | switch (dwarf_tag(die)) {
| ^
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp: In static member function ‘static Dwarf_Die* backward::TraceResolverLinuxImpl<backward::trace_resolver_tag::libdw>::find_fundie_by_pc(Dwarf_Die*, Dwarf_Addr, Dwarf_Die*)’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1559:11: warning: switch missing default case [-Wswitch-default]
1559 | switch (dwarf_tag(die)) {
| ^
[ 33%] Linking CXX static library libbackward.a
[ 33%] Built target backward
Scanning dependencies of target backward_object
[ 34%] Building CXX object external/backward-cpp/CMakeFiles/backward_object.dir/backward.cpp.o
In file included from /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.cpp:26:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:3707: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
3707 | #pragma clang diagnostic push
|
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:3708: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
3708 | #pragma clang diagnostic ignored "-Wdisabled-macro-expansion"
|
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:3710: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
3710 | #pragma clang diagnostic pop
|
In file included from /var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.cpp:26:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp: In member function ‘backward::ResolvedTrace backward::TraceResolverLinuxImpl<backward::trace_resolver_tag::libdw>::resolve(backward::ResolvedTrace)’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1324:46: warning: use of old-style cast to ‘Dwarf_Addr’ {aka ‘long unsigned int’} [-Wold-style-cast]
1324 | Dwarf_Addr trace_addr = (Dwarf_Addr) trace.addr;
| ^~~~
| -----------------------
| reinterpret_cast<Dwarf_Addr> ( trace.addr)
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp: In member function ‘void backward::TraceResolverLinuxImpl<backward::trace_resolver_tag::libdw>::inliners_search_cb::operator()(Dwarf_Die*)’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1507:28: warning: use of old-style cast to ‘unsigned int’ [-Wold-style-cast]
1507 | sloc.line = (unsigned)line;
| ^~~~
| --------------
| static_cast<unsigned> (line)
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1508:27: warning: use of old-style cast to ‘unsigned int’ [-Wold-style-cast]
1508 | sloc.col = (unsigned)col;
| ^~~
| -------------
| static_cast<unsigned> (col)
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1483:11: warning: switch missing default case [-Wswitch-default]
1483 | switch (dwarf_tag(die)) {
| ^
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp: In static member function ‘static Dwarf_Die* backward::TraceResolverLinuxImpl<backward::trace_resolver_tag::libdw>::find_fundie_by_pc(Dwarf_Die*, Dwarf_Addr, Dwarf_Die*)’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/backward-cpp/backward.hpp:1559:11: warning: switch missing default case [-Wswitch-default]
1559 | switch (dwarf_tag(die)) {
| ^
[ 34%] Built target backward_object
Scanning dependencies of target cpu_features
[ 34%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/linux_features_aggregator.c.o
[ 35%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/cpuid_x86_clang_gcc.c.o
[ 35%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/cpuid_x86_msvc.c.o
[ 35%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/cpuinfo_aarch64.c.o
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_aarch64.c: In function ‘GetAarch64FeaturesEnumValue’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_aarch64.c:100:3: warning: switch missing default case [-Wswitch-default]
100 | switch (value) {
| ^~~~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_aarch64.c: In function ‘GetAarch64FeaturesEnumName’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_aarch64.c:122:3: warning: switch missing default case [-Wswitch-default]
122 | switch (value) {
| ^~~~~~
[ 36%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/cpuinfo_arm.c.o
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c: In function ‘FixErrors’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:130:32: warning: overflow in conversion from ‘int’ to ‘signed char:1’ changes value from ‘1’ to ‘-1’ [-Woverflow]
130 | info->features.idiva = true;
| ^~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:141:30: warning: overflow in conversion from ‘int’ to ‘signed char:1’ changes value from ‘1’ to ‘-1’ [-Woverflow]
141 | info->features.idiva = true;
| ^~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:142:30: warning: overflow in conversion from ‘int’ to ‘signed char:1’ changes value from ‘1’ to ‘-1’ [-Woverflow]
142 | info->features.idivt = true;
| ^~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:121:3: warning: switch missing default case [-Wswitch-default]
121 | switch (GetCpuId(info)) {
| ^~~~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:147:52: warning: overflow in conversion from ‘int’ to ‘signed char:1’ changes value from ‘1’ to ‘-1’ [-Woverflow]
147 | if (info->features.vfpv4) info->features.vfpv3 = true;
| ^~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:148:51: warning: overflow in conversion from ‘int’ to ‘signed char:1’ changes value from ‘1’ to ‘-1’ [-Woverflow]
148 | if (info->features.neon) info->features.vfpv3 = true;
| ^~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:149:50: warning: overflow in conversion from ‘int’ to ‘signed char:1’ changes value from ‘1’ to ‘-1’ [-Woverflow]
149 | if (info->features.vfpv3) info->features.vfp = true;
| ^~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c: In function ‘GetArmFeaturesEnumValue’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:194:3: warning: switch missing default case [-Wswitch-default]
194 | switch (value) {
| ^~~~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c: In function ‘GetArmFeaturesEnumName’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_arm.c:228:3: warning: switch missing default case [-Wswitch-default]
228 | switch (value) {
| ^~~~~~
[ 36%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/cpuinfo_mips.c.o
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_mips.c: In function ‘GetMipsFeaturesEnumValue’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_mips.c:77:3: warning: switch missing default case [-Wswitch-default]
77 | switch (value) {
| ^~~~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_mips.c: In function ‘GetMipsFeaturesEnumName’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_mips.c:89:3: warning: switch missing default case [-Wswitch-default]
89 | switch (value) {
| ^~~~~~
[ 38%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/cpuinfo_ppc.c.o
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_ppc.c: In function ‘GetPPCFeaturesEnumValue’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_ppc.c:180:3: warning: switch missing default case [-Wswitch-default]
180 | switch (value) {
| ^~~~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_ppc.c: In function ‘GetPPCFeaturesEnumName’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_ppc.c:271:3: warning: switch missing default case [-Wswitch-default]
271 | switch (value) {
| ^~~~~~
[ 38%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/cpuinfo_x86.c.o
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_x86.c: In function ‘GetX86FeaturesEnumValue’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_x86.c:264:3: warning: switch missing default case [-Wswitch-default]
264 | switch (value) {
| ^~~~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_x86.c: In function ‘GetX86FeaturesEnumName’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_x86.c:332:3: warning: switch missing default case [-Wswitch-default]
332 | switch (value) {
| ^~~~~~
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_x86.c: In function ‘GetX86MicroarchitectureName’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/cpuinfo_x86.c:400:3: warning: switch missing default case [-Wswitch-default]
400 | switch (uarch) {
| ^~~~~~
[ 39%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/filesystem.c.o
[ 39%] Building C object external/cpu_features/CMakeFiles/cpu_features.dir/src/hwcaps.c.o
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/hwcaps.c: In function ‘GetElfHwcapFromGetauxval’:
/var/tmp/pamac-build-topherneal/anbox-git/src/anbox/external/cpu_features/src/hwcaps.c:94:10: error: ISO C forbids conversion of object pointer to function pointer type [-Werror=pedantic]
94 | func = (getauxval_func_t*)dlsym(libc_handle, "getauxval");
| ^
cc1: all warnings being treated as errors
make[2]: *** [external/cpu_features/CMakeFiles/cpu_features.dir/build.make:180: external/cpu_features/CMakeFiles/cpu_features.dir/src/hwcaps.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1617: external/cpu_features/CMakeFiles/cpu_features.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
I'm going to try running this through pamac in terminal, to hopefully get a more verbose error, though I fear the issue might lie within soome of the files pamac is receiving (looking at you cpu_features.)
Again, if anyone is familiar with "emerge," I could use your help determining how to use it to tell the SPURV repo to use my local C, Go, and Ninja during compiling. I have a hunch, if I can figure that out, this monstrosity of an idea may see some headway. It seems the biggest hold-up so far has been how ingrained Google's x86 toolchains are. Even though I have all the dependencies I need in aarch64, I can't get Android source to stop looking for the x86 bundles.
I'm done for the day, the PBP is down to 4% battery and the chargers are at home. (If I could find someone willing to make us a fully functioning Chromium OS right now, I would start throwing money at them immediately.)