Compiling from tarball source fails on Debian 13: `Linking CXX static library libicui18n.a`

I’m attempting to compile Percona MySQL 8.0 and / or 8.4 from tarball source on Debian 13 aarch64. The configure process completes without any obvious issues, but the compile process errors out with a make error:

[  7%] Building CXX object extra/icu/CMakeFiles/icui18n.dir/icu-release-77-1/source/i18n/utf8collationiterator.cpp.o
[  7%] Building CXX object extra/icu/CMakeFiles/icui18n.dir/icu-release-77-1/source/i18n/utmscale.cpp.o
[  7%] Building CXX object extra/icu/CMakeFiles/icui18n.dir/icu-release-77-1/source/i18n/utrans.cpp.o
[  8%] Building CXX object extra/icu/CMakeFiles/icui18n.dir/icu-release-77-1/source/i18n/vtzone.cpp.o
[  8%] Building CXX object extra/icu/CMakeFiles/icui18n.dir/icu-release-77-1/source/i18n/vzone.cpp.o
[  8%] Building CXX object extra/icu/CMakeFiles/icui18n.dir/icu-release-77-1/source/i18n/zonemeta.cpp.o
[  8%] Building CXX object extra/icu/CMakeFiles/icui18n.dir/icu-release-77-1/source/i18n/zrule.cpp.o
[  8%] Building CXX object extra/icu/CMakeFiles/icui18n.dir/icu-release-77-1/source/i18n/ztrans.cpp.o
[  8%] Linking CXX static library libicui18n.a
[  8%] Built target icui18n
make: *** [Makefile:166: all] Error 2

The libicui18n.a library is present:

$ sudo locate libicui18n.a
/usr/lib/aarch64-linux-gnu/libicui18n.a

I’d appreciate any pointers as to where to investigate next. Thank you.

Hi @petecooper ,

Percona Server 8.4 should build fine on Debian 13 without any issues.
The make: *** [Makefile:166: all] Error 2 message is just a generic failure from make—it doesn’t indicate the actual cause. The real error should appear a few lines above in the build logs, where the compiler or linker reports what went wrong. Could you share that part of the log so we can pinpoint the issue? Thank you.

Such issue might appear if not all submodules were loaded to the source code directory.

1 Like

I understand the process for loading submodules when compiling from a git source (i.e. git submodule init&& git submodule update) – is there a process for the tarball route, if that is required? Thank you.

I am able to compile as expected on Debian 13 x64, this issue appears to manifest only on Debian 13 aarch64. The hosting provider is Hetzner, and the OS is their Debian 13 image with some additional changes from me. I will build a fresh server now and attempt to reproduce the issue, with logging as requested. Thank you.

I am compile from a clean directory inside the source tree, and these are my cmake and make commands:


cmake .. \
--install-prefix=/opt/percona/mysql/8.4 \
&& make \
-j"$(nproc)" \
&& sudo make \
-j"$(nproc)" \
install

cmake output: https://forums.percona.com/t/compiling-from-tarball-source-fails-on-debian-13-linking-cxx-static-library-libicui18n-a/39575 · GitHub

make output: https://forums.percona.com/t/compiling-from-tarball-source-fails-on-debian-13-linking-cxx-static-library-libicui18n-a/39575 · GitHub

I am willing and able to run the compile with additional debug flags, if that would help. Thank you.

Edit: make --debug=v debug output: https://forums.percona.com/t/compiling-from-tarball-source-fails-on-debian-13-linking-cxx-static-library-libicui18n-a/39575 · GitHub

I think this may be the cause. I am compiling 8.4.7-7 from source currently and the OP issue is not happening. I will confirm if 8.4.7-7 source compiles correctly but this will take some hours.

Edit: confirmed 8.4.7-7 resolves the issue. Thank you @Evgeniy_Patlan for the guidance.