OpenWrt 25 python3/host build failure on OpenSUSE 15.6

Rosen Penev rosenp at gmail.com
Wed May 27 15:13:58 PDT 2026


On Wed, May 27, 2026 at 5:34 AM Jan Kardell via openwrt-devel
<openwrt-devel at lists.openwrt.org> wrote:
>
> The sender domain has a DMARC Reject/Quarantine policy which disallows
> sending mailing list messages using the original "From" header.
>
> To mitigate this problem, the original message has been wrapped
> automatically by the mailing list software.
>
>
> ---------- Forwarded message ----------
> From: Jan Kardell <jan.kardell at telliq.com>
> To: openwrt-devel <openwrt-devel at lists.openwrt.org>, Alexandru Ardelean <alex at shruggie.ro>
> Cc:
> Bcc:
> Date: Wed, 27 May 2026 13:44:47 +0200
> Subject: OpenWrt 25 python3/host build failure on OpenSUSE 15.6
> Hi,
>
> The modules _curses.cpython-313-x86_64-linux-gnu.so and
> _curses_panel.cpython-313-x86_64-linux-gnu.so is built using the host
> header files, and linked with staging_dir/hostpkg/lib/libncurses.a. The
> systems ncurses is an older version.
>
> [ERROR] _curses failed to import:
> /local/jan/gtb2/openwrt/src-gtb2-25/build_dir/hostpkg/Python-3.13.9/build/lib.linux-x86_64-3.13/_curses.cpython-313-x86_64-linux-gnu.so:
> undefined symbol: _nc_acs_map
This report belongs in https://github.com/openwrt/packages/issues , not here.
>
> Pythons configure finds the systems ncursesw, but not the ncursesw library.
>
> pyconfig.h:
> #define HAVE_NCURSES 1
> /* #undef HAVE_NCURSESW */
> #define HAVE_NCURSESW_CURSES_H 1
> #define HAVE_NCURSESW_NCURSES_H 1
>
> In OpenWrt 24, the same modules are compiled and dynamically linked
> against the system ncursesw, as can be seen by ldd:
>
> ldd
> staging_dir/hostpkg/lib/python3.11/lib-dynload/_curses.cpython-311-x86_64-linux-gnu.so
>          linux-vdso.so.1 (0x00007ffde4d85000)
>          libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007efd04861000)
>          libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007efd04832000)
>          libc.so.6 => /lib64/libc.so.6 (0x00007efd04600000)
>          libdl.so.2 => /lib64/libdl.so.2 (0x00007efd0482d000)
>          /lib64/ld-linux-x86-64.so.2 (0x00007efd048eb000)
>
> My current fix is to install ncursesw in staging_dir, and add as
> dependency. Not sure if it is a good solution, it is after all a change
> to the openwrt base.
I've been struggling with getting this working. The library for HOST
is a static one to avoid rpath issues. It needs to be discovered why
it's failing to link.
>
> //Jan
>
> diff --git a/package/libs/ncurses/Makefile b/package/libs/ncurses/Makefile
> index 07f9d33747..a0187a7558 100644
> --- a/package/libs/ncurses/Makefile
> +++ b/package/libs/ncurses/Makefile
> @@ -91,6 +91,7 @@ HOST_CONFIGURE_ARGS += \
>          --without-manpages \
>          --without-profile \
>          --without-tests \
> +       --enable-widec \
>          --without-curses-h
>
> diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile
> index e327f81092..5f11567678 100644
> --- a/lang/python/python3/Makefile
> +++ b/lang/python/python3/Makefile
> @@ -41,7 +41,7 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION)
>   HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION)
>
>   PKG_BUILD_DEPENDS:=bluez python3/host python-build/host
> python-installer/host python-wheel/host
> -HOST_BUILD_DEPENDS:=bzip2/host libffi/host
> +HOST_BUILD_DEPENDS:=bzip2/host libffi/host ncurses/host
>
>   include $(INCLUDE_DIR)/host-build.mk
>   include $(INCLUDE_DIR)/package.mk
>
>
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list