>>> libsurvive: Building community/libsurvive 1.01-r5 (using abuild 3.18.0_rc7-r1) started Tue, 03 Nov 2026 19:12:31 +0000 >>> libsurvive: Validating /home/buildozer/aports/community/libsurvive/APKBUILD... >>> libsurvive: Analyzing dependencies... >>> libsurvive: Installing for build: build-base xr-hardware eigen-dev libpcap-dev libusb-dev openblas-dev zlib-dev cmake samurai sciplot ( 1/31) Installing udev-init-scripts (35-r1) ( 2/31) Installing udev-init-scripts-openrc (35-r1) ( 3/31) Installing eudev-openrc (3.2.14-r8) ( 4/31) Installing libeconf (0.8.4-r0) ( 5/31) Installing libblkid (2.42.4-r3) ( 6/31) Installing xz-libs (5.8.4-r0) ( 7/31) Installing kmod-libs (34.2-r1) ( 8/31) Installing eudev (3.2.14-r8) ( 9/31) Installing xr-hardware (1.1.2-r1) (10/31) Installing eigen-dev (3.4.0-r10) (11/31) Installing libpcap (1.11.0-r0) (12/31) Installing libpcap-dev (1.11.0-r0) (13/31) Installing libusb (1.0.30-r0) (14/31) Installing libusb-dev (1.0.30-r0) (15/31) Installing libquadmath (15.2.0-r9) (16/31) Installing libgfortran (15.2.0-r9) (17/31) Installing gfortran (15.2.0-r9) (18/31) Installing openblas (0.3.30-r2) (19/31) Installing liblapack (0.3.30-r2) (20/31) Installing liblapacke (0.3.30-r2) (21/31) Installing openblas-ilp64 (0.3.30-r2) (22/31) Installing openblas-dev (0.3.30-r2) (23/31) Installing zlib-dev (1.3.2-r1) (24/31) Installing libbz2 (1.0.8-r6) (25/31) Installing libarchive (3.8.10-r0) (26/31) Installing rhash-libs (1.4.6-r1) (27/31) Installing libuv (1.52.1-r0) (28/31) Installing cmake (4.3.4-r0) (29/31) Installing samurai (1.3-r0) (30/31) Installing sciplot (0.3.1-r0) (31/31) Installing .makedepends-libsurvive (20261103.191252) Executing busybox-1.38.0-r8.trigger Executing eudev-3.2.14-r8.trigger OK: 649.3 MiB in 136 packages >>> libsurvive: Cleaning up srcdir >>> libsurvive: Cleaning up pkgdir >>> libsurvive: Cleaning up tmpdir >>> libsurvive: Fetching https://distfiles.alpinelinux.org/distfiles/v3.25/libsurvive-v1.01-source.zip Connecting to distfiles.alpinelinux.org (172.105.82.32:443) saving to '/var/cache/distfiles/v3.25/libsurvive-v1.01-source.zip.part' libsurvive-v1.01-sou 100% |********************************| 1810k 0:00:00 ETA '/var/cache/distfiles/v3.25/libsurvive-v1.01-source.zip.part' saved /var/cache/distfiles/v3.25/libsurvive-v1.01-source.zip: OK /home/buildozer/aports/community/libsurvive/off64_t.patch: OK /home/buildozer/aports/community/libsurvive/sciplot-0.3.0.patch: OK >>> libsurvive: Fetching https://distfiles.alpinelinux.org/distfiles/v3.25/libsurvive-v1.01-source.zip /var/cache/distfiles/v3.25/libsurvive-v1.01-source.zip: OK /home/buildozer/aports/community/libsurvive/off64_t.patch: OK /home/buildozer/aports/community/libsurvive/sciplot-0.3.0.patch: OK >>> libsurvive: Unpacking /var/cache/distfiles/v3.25/libsurvive-v1.01-source.zip... >>> libsurvive: off64_t.patch patching file src/driver_usbmon.c >>> libsurvive: sciplot-0.3.0.patch patching file libs/cnkalman/include/cnkalman/ModelPlot.h patching file libs/cnkalman/src/ModelPlot.cc -- The C compiler identification is GNU 15.2.0 -- The CXX compiler identification is GNU 15.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - 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/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Option: DO_CORE_BUILD: OFF -- Option: BUILD_STATIC: OFF -- Option: USE_SINGLE_PRECISION: OFF -- Option: ENABLE_WARNINGS_AS_ERRORS: OFF -- Option: USE_HIDAPI: OFF -- Option: USE_ASAN: OFF -- Option: USE_MSAN: OFF -- Option: ENABLE_TESTS: OFF -- Option: USE_HEX_FLOAT_PRINTF: OFF -- Option: USE_OPENCV: OFF -- Option: USE_COLUMN_MAJOR_MATRICES: OFF -- Option: USE_CPU_TUNE: OFF -- Option: USE_OPENBLAS: -- Option: BUILD_LH1_SUPPORT: ON -- Performing Test HAVE_GZVPRINTF -- Performing Test HAVE_GZVPRINTF - Success -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Looking for gattlib.h -- Looking for gattlib.h - not found -- Option: BUILD_GATT_SUPPORT: -- Looking for zlib.h -- Looking for zlib.h - found -- Option: BUILD_APPLICATIONS: ON Using sciplot... Could not find cblas Found openblas at /usr/lib/libopenblas.so Found lapacke at /usr/lib/liblapacke.so -- Looking for lapacke/lapacke.h -- Looking for lapacke/lapacke.h - not found Using blas backend openblas -- Looking for X11/Xlib.h -- Looking for X11/Xlib.h - not found Could not find cblas Found openblas at /usr/lib/libopenblas.so Found lapacke at /usr/lib/liblapacke.so Using blas backend openblas -- Looking for fopencookie -- Looking for fopencookie - found Using provided /home/buildozer/aports/community/libsurvive/src/libsurvive/src/./generated/common_math.gen.h Using provided /home/buildozer/aports/community/libsurvive/src/libsurvive/src/./generated/kalman_kinematics.gen.h Using provided /home/buildozer/aports/community/libsurvive/src/libsurvive/src/./generated/lighthouse_model.gen.h Using provided /home/buildozer/aports/community/libsurvive/src/libsurvive/src/./generated/imu_model.gen.h -- Looking for libusb.h -- Looking for libusb.h - not found -- Looking for libusb-1.0/libusb.h -- Looking for libusb-1.0/libusb.h - found -- Looking for libusb/libusb.h -- Looking for libusb/libusb.h - not found Using versioned libusb dir -- Option: ENABLE_driver_dummy: ON -- Option: ENABLE_driver_vive: ON -- Option: ENABLE_driver_simulator: ON -- Option: ENABLE_driver_playback: ON -- Option: ENABLE_disambiguator_statebased: ON -- Option: ENABLE_poser_dummy: ON -- Option: ENABLE_poser_mpfit: ON -- Option: ENABLE_poser_kalman_only: ON -- Option: ENABLE_poser_barycentric_svd: ON -- Option: ENABLE_driver_global_scene_solver: ON -- Option: ENABLE_driver_udp: ON -- Option: ENABLE_driver_usbmon: ON -- Option: ENABLE_survive-cli: ON -- Option: ENABLE_api_example: ON -- Option: ENABLE_sensors-readout: ON -- Option: ENABLE_survive-solver: ON -- Option: ENABLE_survive-buttons: ON -- Configuring done (1.0s) -- Generating done (0.1s) -- Build files have been written to: /home/buildozer/aports/community/libsurvive/src/libsurvive/build [1/83] Building C object tools/visualize_mpfit/CMakeFiles/visualize_mpfit.dir/visualize_mpfit.c.o [2/83] Building C object CMakeFiles/survive-buttons.dir/survive-buttons.c.o [3/83] Building C object CMakeFiles/survive-solver.dir/survive-solver.c.o [4/83] Building C object CMakeFiles/sensors-readout.dir/sensors-readout.c.o [5/83] Building C object CMakeFiles/api_example.dir/api_example.c.o [6/83] Building C object src/CMakeFiles/poser_mpfit.dir/poser_mpfit.c.o [7/83] Building C object src/CMakeFiles/poser_kalman_only.dir/poser_kalman_only.c.o [8/83] Building C object src/CMakeFiles/poser_dummy.dir/poser_dummy.c.o [9/83] Building C object src/CMakeFiles/poser_barycentric_svd.dir/barycentric_svd/barycentric_svd.c.o [10/83] Building C object src/CMakeFiles/poser_barycentric_svd.dir/poser_barycentric_svd.c.o [11/83] Building C object src/CMakeFiles/driver_vive.dir/driver_vive.c.o [12/83] Building C object src/CMakeFiles/driver_usbmon.dir/driver_usbmon.c.o [13/83] Building C object src/CMakeFiles/driver_udp.dir/driver_udp.c.o [14/83] Building C object src/CMakeFiles/driver_simulator.dir/driver_simulator.c.o [15/83] Building C object src/CMakeFiles/driver_playback.dir/driver_playback.c.o [16/83] Building C object src/CMakeFiles/driver_global_scene_solver.dir/driver_global_scene_solver.c.o [17/83] Building C object src/CMakeFiles/driver_dummy.dir/driver_dummy.c.o [18/83] Building C object src/CMakeFiles/disambiguator_statebased.dir/disambiguator_statebased.c.o [19/83] Building CXX object libs/cnkalman/src/CMakeFiles/cnkalman.dir/ModelPlot.cc.o [20/83] Building C object libs/cnkalman/src/CMakeFiles/cnkalman.dir/iekf.c.o [21/83] Building C object libs/cnkalman/src/CMakeFiles/cnkalman.dir/numerical_diff.c.o [22/83] Building CXX object libs/cnkalman/src/CMakeFiles/cnkalman.dir/model.cc.o [23/83] Building C object libs/cnkalman/src/CMakeFiles/cnkalman.dir/kalman.c.o [24/83] Building C object libs/cnkalman/libs/cnmatrix/src/CMakeFiles/cnmatrix.dir/cn_matrix.blas.c.o [25/83] Building C object libs/cnkalman/libs/cnmatrix/src/CMakeFiles/cnmatrix.dir/cn_matrix.c.o [26/83] Building C object redist/CMakeFiles/mpfit.dir/mpfit/mpfit.c.o [27/83] Building C object src/CMakeFiles/survive.dir/__/redist/crc32.c.o [28/83] Building C object src/CMakeFiles/survive.dir/__/redist/json_helpers.c.o [29/83] Building C object src/CMakeFiles/survive.dir/__/redist/jsmn.c.o [30/83] Building C object src/CMakeFiles/survive.dir/__/redist/symbol_enumerator.c.o [31/83] Building C object src/CMakeFiles/survive.dir/__/redist/puff.c.o [32/83] Building C object src/CMakeFiles/survive.dir/__/redist/linmath.c.o [33/83] Building C object src/CMakeFiles/survive.dir/survive_async_optimizer.c.o [34/83] Building C object src/CMakeFiles/survive.dir/test_cases/str.c.o [35/83] Building C object src/CMakeFiles/survive.dir/survive_str.c.o [36/83] Building C object src/CMakeFiles/survive.dir/lfsr_lh2.c.o [37/83] Building C object src/CMakeFiles/survive.dir/lfsr.c.o [38/83] Building C object src/CMakeFiles/survive.dir/survive_reproject.c.o [39/83] Building C object src/CMakeFiles/survive.dir/survive_process_gen1.c.o [40/83] Building C object src/CMakeFiles/survive.dir/survive_reproject_gen2.c.o [41/83] Building C object src/CMakeFiles/survive.dir/barycentric_svd/barycentric_svd.c.o [42/83] Building C object src/CMakeFiles/survive.dir/survive_kalman_lighthouses.c.o [43/83] Building C object src/CMakeFiles/survive.dir/survive_sensor_activations.c.o [44/83] Building C object src/CMakeFiles/survive.dir/survive_process_gen2.c.o [45/83] Building C object src/CMakeFiles/survive.dir/survive_process.c.o [46/83] Building C object src/CMakeFiles/survive.dir/survive_plugins.c.o [47/83] Building C object src/CMakeFiles/survive.dir/survive_recording.c.o [48/83] Building C object src/CMakeFiles/survive.dir/survive_optimizer.c.o [49/83] Building C object src/CMakeFiles/survive.dir/survive_kalman_tracker.c.o [50/83] Building C object src/CMakeFiles/survive.dir/survive_driverman.c.o ninja: job failed with status 1: /usr/bin/cc -DBUILD_LH1_SUPPORT -DHAVE_FOPENCOOKIE -DSURVIVE_LIBUSB_VER_DIR -Ddriver_usbmon_EXPORTS -I/home/buildozer/aports/community/libsurvive/src/libsurvive/redist -I/home/buildozer/aports/community/libsurvive/src/libsurvive/include/libsurvive -I/home/buildozer/aports/community/libsurvive/src/libsurvive/include -I/home/buildozer/aports/community/libsurvive/src/libsurvive/libs/cnkalman/libs/cnmatrix/src/../include -I/home/buildozer/aports/community/libsurvive/src/libsurvive/libs/cnkalman/src/../include -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -Wall -Wno-unused-variable -Wno-switch -Wno-parentheses -Wno-missing-braces -Werror=return-type -fvisibility=hidden -Werror=vla -fno-math-errno -Werror=pointer-arith -std=gnu99 -Werror=incompatible-pointer-types -Werror=implicit-function-declaration -Werror=missing-field-initializers -O2 -g -DNDEBUG -fPIC -MD -MT src/CMakeFiles/driver_usbmon.dir/driver_usbmon.c.o -MF src/CMakeFiles/driver_usbmon.dir/driver_usbmon.c.o.d -o src/CMakeFiles/driver_usbmon.dir/driver_usbmon.c.o -c /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c: In function 'make_time': /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:455:33: error: invalid operands to binary + (have 'pcap_4_byte_aligned_int64' and 'double') 455 | return pMmapped->ts_sec + pMmapped->ts_usec * 1.e-6 - start; | ~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | pcap_4_byte_aligned_int64 double /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c: In function 'fill_usb_header': /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:501:20: error: incompatible types when assigning to type 'pcap_4_byte_aligned_uint64' from type 'uint64_t' {aka 'long unsigned int'} 501 | usbp->id = hdr->irpId; | ^~~ /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:512:24: error: incompatible types when assigning to type 'pcap_4_byte_aligned_int64' from type 'time_t' {aka 'long int'} 512 | usbp->ts_sec = pkthdr->ts.tv_sec; | ^~~~~~ /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c: In function 'pcap_thread_fn': /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:606:72: error: invalid operands to binary >> (have 'pcap_4_byte_aligned_uint64' and 'int') 606 | unsigned hash = ((usbp->id + (usbp->id >> 8) + (usbp->id >> 16) + (usbp->id >> 24)) & 0xFF) % 8; | ~~~~~~~~ ^~ | | | pcap_4_byte_aligned_uint64 /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:606:90: error: invalid operands to binary >> (have 'pcap_4_byte_aligned_uint64' and 'int') 606 | unsigned hash = ((usbp->id + (usbp->id >> 8) + (usbp->id >> 16) + (usbp->id >> 24)) & 0xFF) % 8; | ~~~~~~~~ ^~ | | | pcap_4_byte_aligned_uint64 /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:606:109: error: invalid operands to binary >> (have 'pcap_4_byte_aligned_uint64' and 'int') 606 | unsigned hash = ((usbp->id + (usbp->id >> 8) + (usbp->id >> 16) + (usbp->id >> 24)) & 0xFF) % 8; | ~~~~~~~~ ^~ | | | pcap_4_byte_aligned_uint64 /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:621:71: error: incompatible types when assigning to type 'uint64_t' {aka 'long unsigned int'} from type 'pcap_4_byte_aligned_uint64' 621 | dev->last_config_id = usbp->id; | ^~~~ /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:687:54: error: invalid operands to binary == (have 'pcap_4_byte_aligned_uint64' and 'uint64_t' {aka 'long unsigned int'}) 687 | if (usbp->id == dev->last_config_id) { | ~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~~~ | | | | | uint64_t {aka long unsigned int} | pcap_4_byte_aligned_uint64 /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:713:46: error: invalid operands to binary == (have 'pcap_4_byte_aligned_uint64' and 'uint64_t' {aka 'long unsigned int'}) 713 | if (usbp->id == dev->last_config_id && usbp->event_type == 'C' && dev->hasConfiged == false) { | ~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~~~ | | | | | uint64_t {aka long unsigned int} | pcap_4_byte_aligned_uint64 /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:741:70: error: invalid operands to binary * (have 'pcap_4_byte_aligned_int64' and 'int') 741 | uint64_t time = usbp->ts_sec * 1000000 + usbp->ts_usec; | ~~~~~~~~~~~~ ^ | | | pcap_4_byte_aligned_int64 /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c: In function 'usbmon_close': /home/buildozer/aports/community/libsurvive/src/libsurvive/src/driver_usbmon.c:257:9: warning: ignoring return value of 'pcap_stats' declared with attribute 'warn_unused_result' [-Wunused-result] 257 | pcap_stats(driver->pcap, &stats); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/buildozer/aports/community/libsurvive/src/libsurvive/redist/os_generic.unix.h:9, from /home/buildozer/aports/community/libsurvive/src/libsurvive/redist/os_generic.h:128, from /home/buildozer/aports/community/libsurvive/src/libsurvive/include/libsurvive/poser.h:5, from /home/buildozer/aports/community/libsurvive/src/libsurvive/include/libsurvive/survive.h:5, from /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_sensor_activations.c:4: In function 'snprintf', inlined from 'SurviveSensorActivations_check_outlier' at /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_sensor_activations.c:183:3: /usr/include/fortify/stdio.h:133:16: warning: 'measured_dev' may be used uninitialized [-Wmaybe-uninitialized] 133 | return __orig_snprintf(__s, __n, __f, __builtin_va_arg_pack()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_sensor_activations.c: In function 'SurviveSensorActivations_check_outlier': /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_sensor_activations.c:146:13: note: 'measured_dev' was declared here 146 | FLT measured_dev = self->angles_center_dev[lh][axis]; | ^~~~~~~~~~~~ In function 'snprintf', inlined from 'SurviveSensorActivations_check_outlier' at /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_sensor_activations.c:183:3: /usr/include/fortify/stdio.h:133:16: warning: 'cnt' may be used uninitialized [-Wmaybe-uninitialized] 133 | return __orig_snprintf(__s, __n, __f, __builtin_va_arg_pack()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_sensor_activations.c: In function 'SurviveSensorActivations_check_outlier': /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_sensor_activations.c:148:13: note: 'cnt' was declared here 148 | int cnt = self->angles_center_cnt[lh][axis]; | ^~~ /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_optimizer.c:1844:98: warning: argument 4 of type 'const double *' declared as a pointer [-Warray-parameter=] 1844 | void survive_optimizer_set_cam_up_vector(survive_optimizer *ctx, int i, FLT variance, const FLT *up) { | ~~~~~~~~~~~^~ In file included from /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_optimizer.c:3: /home/buildozer/aports/community/libsurvive/src/libsurvive/include/libsurvive/survive_optimizer.h:278:132: note: previously declared as an array 'const double[3]' 278 | const LinmathVec3d up); | ~~~~~~~~~~~~~~~~~~~^~ /home/buildozer/aports/community/libsurvive/src/libsurvive/src/survive_optimizer.c:1859:98: warning: argument 4 of type 'const double *' declared as a pointer [-Warray-parameter=] 1859 | void survive_optimizer_set_obj_up_vector(survive_optimizer *ctx, int i, FLT variance, const FLT *up) { | ~~~~~~~~~~~^~ /home/buildozer/aports/community/libsurvive/src/libsurvive/include/libsurvive/survive_optimizer.h:280:132: note: previously declared as an array 'const double[3]' 280 | const LinmathVec3d up); | ~~~~~~~~~~~~~~~~~~~^~ ninja: subcommand failed >>> ERROR: libsurvive: build failed >>> libsurvive: Uninstalling dependencies... ( 1/31) Purging .makedepends-libsurvive (20261103.191252) ( 2/31) Purging xr-hardware (1.1.2-r1) ( 3/31) Purging eigen-dev (3.4.0-r10) ( 4/31) Purging libpcap-dev (1.11.0-r0) ( 5/31) Purging libpcap (1.11.0-r0) ( 6/31) Purging libusb-dev (1.0.30-r0) ( 7/31) Purging libusb (1.0.30-r0) ( 8/31) Purging openblas-dev (0.3.30-r2) ( 9/31) Purging gfortran (15.2.0-r9) (10/31) Purging liblapack (0.3.30-r2) (11/31) Purging liblapacke (0.3.30-r2) (12/31) Purging openblas-ilp64 (0.3.30-r2) (13/31) Purging openblas (0.3.30-r2) (14/31) Purging zlib-dev (1.3.2-r1) (15/31) Purging cmake (4.3.4-r0) (16/31) Purging samurai (1.3-r0) (17/31) Purging sciplot (0.3.1-r0) (18/31) Purging eudev-openrc (3.2.14-r8) (19/31) Purging eudev (3.2.14-r8) (20/31) Purging udev-init-scripts-openrc (35-r1) (21/31) Purging udev-init-scripts (35-r1) (22/31) Purging kmod-libs (34.2-r1) (23/31) Purging libarchive (3.8.10-r0) (24/31) Purging libblkid (2.42.4-r3) (25/31) Purging libbz2 (1.0.8-r6) (26/31) Purging libeconf (0.8.4-r0) (27/31) Purging libgfortran (15.2.0-r9) (28/31) Purging libquadmath (15.2.0-r9) (29/31) Purging libuv (1.52.1-r0) (30/31) Purging rhash-libs (1.4.6-r1) (31/31) Purging xz-libs (5.8.4-r0) Executing busybox-1.38.0-r8.trigger OK: 441.7 MiB in 105 packages