[Buildroot] libreadline undefined symbol error when generating rootfs tarball
Peter Seiderer
ps.report at gmx.net
Tue Sep 16 06:42:17 UTC 2025
Hello Bagas,
On Tue, 16 Sep 2025 09:11:08 +0700, Bagas Sanjaya <bagasdotme at gmail.com> wrote:
> Hi,
>
> On my Arch Linux computer, I'm trying to build an aarch64 SDK tarball (target
> gcc 15.2.0, binutils 2.44, custom kernel headers 6.12.x {I'm using 6.12
> mainline release [1]}) with ``make sdk``. This all goes well until generating
> rootfs.tar step, when the build errors out:
>
> ```
> ␛[7m>>> Generating filesystem image rootfs.tar␛[27m
> mkdir -p /home/bagas/repo/buildroot/output/images
> rm -rf /home/bagas/repo/buildroot/output/build/buildroot-fs/tar
> mkdir -p /home/bagas/repo/buildroot/output/build/buildroot-fs/tar
> rsync -auH --exclude=/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM /home/bagas/repo/buildroot/output/target/ /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target
> echo '#!/bin/sh' > /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> echo "set -e" >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> echo "chown -h -R 0:0 /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target" >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> PATH="/home/bagas/repo/buildroot/output/host/bin:/home/bagas/repo/buildroot/output/host/sbin:/home/bagas/.local/bin:/home/bagas/go/bin:/home/bagas/.local/bin:/home/bagas/.cargo/bin:/home/bagas/.nvm/versions/node/v22.19.0/bin:/home/bagas/go/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" /home/bagas/repo/buildroot/support/scripts/mkusers /home/bagas/repo/buildroot/output/build/buildroot-fs/full_users_table.txt /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> echo "/home/bagas/repo/buildroot/output/host/bin/makedevs -d /home/bagas/repo/buildroot/output/build/buildroot-fs/full_devices_table.txt /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target" >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> printf ' rm -rf /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target/usr/lib/udev/hwdb.d/ /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target/etc/udev/hwdb.d/\n' >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> echo "find /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target/run/ -mindepth 1 -prune -print0 | xargs -0r rm -rf --" >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> echo "find /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target/tmp/ -mindepth 1 -prune -print0 | xargs -0r rm -rf --" >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> printf ' \n' >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> printf ' \n' >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> printf ' (cd /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/target; find -print0 | LC_ALL=C sort -z | tar --pax-option=exthdr.name=%%d/PaxHeaders/%%f,atime:=0,ctime:=0 -cf /home/bagas/repo/buildroot/output/images/rootfs.tar --null --xattrs-include='\''*'\'' --no-recursion -T - --numeric-owner)\n' >> /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> chmod a+x /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> PATH="/home/bagas/repo/buildroot/output/host/bin:/home/bagas/repo/buildroot/output/host/sbin:/home/bagas/.local/bin:/home/bagas/go/bin:/home/bagas/.local/bin:/home/bagas/.cargo/bin:/home/bagas/.nvm/versions/node/v22.19.0/bin:/home/bagas/go/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" FAKEROOTDONTTRYCHOWN=1 /home/bagas/repo/buildroot/output/host/bin/fakeroot -- /home/bagas/repo/buildroot/output/build/buildroot-fs/tar/fakeroot
> /bin/sh: symbol lookup error: /home/bagas/repo/buildroot/output/host/lib/libreadline.so.8: undefined symbol: UP
> make: *** [fs/tar/tar.mk:38: /home/bagas/repo/buildroot/output/images/rootfs.tar] Error 127
> ```
>
> Is it a build regression? Or do I miss something?
The following patch fixed the problem for me:
diff --git a/package/readline/readline.mk b/package/readline/readline.mk
index f69cbe45e2..078607a0c5 100644
--- a/package/readline/readline.mk
+++ b/package/readline/readline.mk
@@ -15,6 +15,10 @@ READLINE_CONF_OPTS = \
--disable-install-examples \
--with-curses \
--with-shared-termcap-library
+HOST_READLINE_CONF_OPTS = \
+ --disable-install-examples \
+ --with-curses \
+ --with-shared-termcap-library
READLINE_LICENSE = GPL-3.0+
READLINE_LICENSE_FILES = COPYING
READLINE_CPE_ID_VENDOR = gnu
Regards,
Peter
>
> Full config attached.
>
> Thanks.
>
> [1]: https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.12.tar.xz
>
More information about the buildroot
mailing list