[Android-tools-devel] Bug#1111007: android-libandroidfw: There is an undefined symbol in libandroidfw.so: ExtractEntryToFile(ZipArchive*, ZipEntry*, int).

Robert Heller heller at deepsoft.com
Wed Aug 13 14:04:05 BST 2025


Package: android-libandroidfw
Version: 1:10.0.0+r36-10
Severity: normal
Tags: ftbfs

Dear Maintainer,

   * What led up to the situation?
I am trying to build a package for the Android system.

   * What exactly did you do (or not do) that was effective (or
     ineffective)?
/usr/bin/aapt2 -v

   * What was the outcome of this action?
/usr/bin/aapt2: symbol lookup error: /usr/lib/aarch64-linux-gnu/android/libandroidfw.so.0: undefined symbol: _Z18ExtractEntryToFileP10ZipArchiveP8ZipEntryi
   * What outcome did you expect instead?
Get the version number of aapt2

I did some additional exploration:

marchhare% nm -D --demangle -A /usr/lib/aarch64-linux-gnu/android/lib* | grep ExtractEntryToFile
/usr/lib/aarch64-linux-gnu/android/libandroidfw.so.0:                 U ExtractEntryToFile(ZipArchive*, ZipEntry*, int)
/usr/lib/aarch64-linux-gnu/android/libziparchive.so:000000000001c508 T ExtractEntryToFile(ZipArchive*, ZipEntry64 const*, int)
/usr/lib/aarch64-linux-gnu/android/libziparchive.so:000000000001c470 T ExtractEntryToFile(ZipArchive*, ZipEntry const*, int)
/usr/lib/aarch64-linux-gnu/android/libziparchive.so.0:000000000001c508 T ExtractEntryToFile(ZipArchive*, ZipEntry64 const*, int)
/usr/lib/aarch64-linux-gnu/android/libziparchive.so.0:000000000001c470 T ExtractEntryToFile(ZipArchive*, ZipEntry const*, int)

I also used apt-get to download the sources and attempted to rebuild the 
package from source, but encounted errors there:

marchhare% dpkg-buildpackage 
dpkg-buildpackage: info: source package android-platform-frameworks-base
dpkg-buildpackage: info: source version 1:10.0.0+r36-10
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Roger Shimizu <rosh at debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture arm64
 debian/rules clean
dh clean --with bash-completion
   dh_clean
 dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building android-platform-frameworks-base using existing ./android-platform-frameworks-base_10.0.0+r36.orig.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: warning: ignoring deletion of file media/native/midi/include/Doxyfile.orig, use --include-removal to override
dpkg-source: info: building android-platform-frameworks-base in android-platform-frameworks-base_10.0.0+r36-10.debian.tar.xz
dpkg-source: info: building android-platform-frameworks-base in android-platform-frameworks-base_10.0.0+r36-10.dsc
 debian/rules binary
dh binary --with bash-completion
   dh_update_autotools_config
   dh_autoreconf
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/home/heller/android-platform-frameworks-base-10.0.0+r36'
mkdir -p debian/out
dh_auto_configure
make[1]: Leaving directory '/home/heller/android-platform-frameworks-base-10.0.0+r36'
   debian/rules override_dh_auto_build-arch
make[1]: Entering directory '/home/heller/android-platform-frameworks-base-10.0.0+r36'
dh_auto_build --buildsystem=makefile -- -f debian/libandroidfw.mk
	make -j4 -f debian/libandroidfw.mk
make[2]: Entering directory '/home/heller/android-platform-frameworks-base-10.0.0+r36'
mkdir --parents debian/out
clang++ libs/androidfw/ApkAssets.cpp libs/androidfw/Asset.cpp libs/androidfw/AssetDir.cpp libs/androidfw/AssetManager.cpp libs/androidfw/AssetManager2.cpp libs/androidfw/AttributeResolution.cpp libs/androidfw/ChunkIterator.cpp libs/androidfw/ConfigDescription.cpp libs/androidfw/Idmap.cpp libs/androidfw/LoadedArsc.cpp libs/androidfw/Locale.cpp libs/androidfw/LocaleData.cpp libs/androidfw/misc.cpp libs/androidfw/ObbFile.cpp libs/androidfw/PosixUtils.cpp libs/androidfw/ResourceTypes.cpp libs/androidfw/ResourceUtils.cpp libs/androidfw/StreamingZipInflater.cpp libs/androidfw/TypeWrappers.cpp libs/androidfw/Util.cpp libs/androidfw/ZipFileRO.cpp libs/androidfw/ZipUtils.cpp -o debian/out/libandroidfw.so.0 -g -O2 -ffile-prefix-map=/home/heller/android-platform-frameworks-base-10.0.0+r36=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fPIC -DSTATIC_ANDROIDFW_FOR_TOOLS -std=gnu++17 -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -UDEBUG -I/usr/include/android -Wno-c99-designator -Wno-gnu-designator -Wno-gnu-folding-constant -fmessage-length=0 -fno-exceptions -fno-strict-aliasing -no-canonical-prefixes  -Ilibs/androidfw/include -I/usr/include/android  -Wl,-z,relro -Wl,-z,now -fPIC -shared -Wl,-soname,libandroidfw.so.0 -Wl,-rpath=/usr/lib/aarch64-linux-gnu/android -lz -L/usr/lib/aarch64-linux-gnu/android -lziparchive -lutils -llog -lbase
libs/androidfw/ZipUtils.cpp:128:16: error: variable type 'FileReader' is an abstract class
    FileReader reader(fp);
               ^
/usr/include/android/ziparchive/zip_archive.h:337:16: note: unimplemented pure virtual method 'ReadAtOffset' in 'FileReader'
  virtual bool ReadAtOffset(uint8_t* buf, size_t len, off64_t offset) const = 0;
               ^
libs/androidfw/ZipUtils.cpp:136:14: error: variable type 'FdReader' is an abstract class
    FdReader reader(fd);
             ^
/usr/include/android/ziparchive/zip_archive.h:337:16: note: unimplemented pure virtual method 'ReadAtOffset' in 'FdReader'
  virtual bool ReadAtOffset(uint8_t* buf, size_t len, off64_t offset) const = 0;
               ^
libs/androidfw/ZipUtils.cpp:144:18: error: variable type 'BufferReader' is an abstract class
    BufferReader reader(in, compressedLen);
                 ^
/usr/include/android/ziparchive/zip_archive.h:337:16: note: unimplemented pure virtual method 'ReadAtOffset' in 'BufferReader'
  virtual bool ReadAtOffset(uint8_t* buf, size_t len, off64_t offset) const = 0;
               ^
3 errors generated.
make[2]: *** [debian/libandroidfw.mk:39: build] Error 1
make[2]: Leaving directory '/home/heller/android-platform-frameworks-base-10.0.0+r36'
dh_auto_build: error: make -j4 -f debian/libandroidfw.mk returned exit code 2
make[1]: *** [debian/rules:38: debian/out/libandroidfw.so] Error 25
make[1]: Leaving directory '/home/heller/android-platform-frameworks-base-10.0.0+r36'
make: *** [debian/rules:44: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2


-- System Information:
Debian Release: 12.11
  APT prefers oldstable-updates
  APT policy: (500, 'oldstable-updates'), (500, 'oldstable-security'), (500, 'oldstable')
Architecture: arm64 (aarch64)
Foreign Architectures: armhf

Kernel: Linux 6.12.25+rpt-rpi-2712 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=en_US.UTF-8
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages android-libandroidfw depends on:
ii  android-libbase        1:33.0.3-2~bpo12+1~rpt1
ii  android-liblog         1:33.0.3-2~bpo12+1~rpt1
ii  android-libutils       1:33.0.3-2~bpo12+1~rpt1
ii  android-libziparchive  1:33.0.3-2~bpo12+1~rpt1
ii  libc6                  2.36-9+rpt2+deb12u12
ii  libgcc-s1              12.2.0-14+deb12u1
ii  libstdc++6             12.2.0-14+deb12u1
ii  zlib1g                 1:1.2.13.dfsg-1+rpt1

android-libandroidfw recommends no packages.

android-libandroidfw suggests no packages.

-- no debconf information



More information about the Android-tools-devel mailing list