Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 820506 - sys-libs/ncurses-6.3: fails to cross-build for x86_64-w64-mingw32 (with the same version installed in the base system)
Summary: sys-libs/ncurses-6.3: fails to cross-build for x86_64-w64-mingw32 (with the s...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2021-10-27 11:48 UTC by Tee KOBAYASHI
Modified: 2022-12-17 14:02 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The full build.log (ncurses-6.3-build.log.gz,64.19 KB, application/gzip)
2021-10-27 11:49 UTC, Tee KOBAYASHI
Details
ncurses-6.3.ebuild: Revive "threads" USE flag (ncurses-6.3.ebuild-revive-threads-use-flag.patch,840 bytes, patch)
2021-10-27 13:34 UTC, Tee KOBAYASHI
Details | Diff
Proposed fix along with the suggestion from sam@ (ncurses-6.3.ebuild-mingw-no-threads.patch,409 bytes, patch)
2021-10-29 19:32 UTC, Tee KOBAYASHI
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tee KOBAYASHI 2021-10-27 11:48:58 UTC
Cross-emerging sys-libs/ncurses-6.3 for target x86_64-w64-mingw32 does not succeed.

Note that the base system has the same version of ncurses installed as the one tried to cross-build here.

The full build.log will be attached soon.

Reproducible: Always

Steps to Reproduce:
1. x86_64-w64-mingw32-emerge -1 =sys-libs/ncurses-6.3

Actual Results:  
The build fails.

Expected Results:  
The build succeeds.

x86_64-w64-mingw32-emerge --info:

Portage 3.0.28 (python 3.10.0-final-0, embedded, gcc-11.2.0, unavailable, 5.4.134-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.4.134-gentoo-x86_64-with-glibc2.33
KiB Mem:     1516768 total,    411656 free
KiB Swap:   49351676 total,  49233148 free
Timestamp of repository gentoo: Wed, 27 Oct 2021 01:21:29 +0000
sh bash 5.1_p8
ld GNU ld (Gentoo 2.37_p1 p0) 2.37
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-w64-mingw32"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
FCFLAGS="-Os -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news nodoc noinfo noman parallel-fetch preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-Os -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ja_JP.eucJP"
LDFLAGS=""
LINGUAS="en"
PKGDIR="/usr/x86_64-w64-mingw32/packages/"
PORTAGE_CONFIGROOT="/usr/x86_64-w64-mingw32/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/usr/x86_64-w64-mingw32/tmp/"
USE="amd64 kdrive minimal multicall zlib" ELIBC="mingw" INPUT_DEVICES="evdev" KERNEL="Winnt" USERLAND="GNU" VIDEO_CARDS="fbdev"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, ENV_UNSET, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS


emerge --info:

Portage 3.0.28 (python 3.10.0-final-0, default/linux/amd64/17.1, gcc-11.2.0, glibc-2.33-r7, 5.4.134-gentoo x86_64)
=================================================================
System uname: Linux-5.4.134-gentoo-x86_64-Intel-R-_Core-TM-2_CPU_U7500_@_1.06GHz-with-glibc2.33
KiB Mem:     1516768 total,    182736 free
KiB Swap:   49351676 total,  49267716 free
Timestamp of repository gentoo: Wed, 27 Oct 2021 01:21:29 +0000
Head commit of repository gentoo: 7abf69f56a0b4a6bc21a377b9e95b98c047b996c

sh bash 5.1_p8
ld GNU ld (Gentoo 2.36.1 p4) 2.36.1
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::x-portage
dev-lang/perl:            5.34.0::gentoo
dev-lang/python:          3.9.7::gentoo, 3.10.0::gentoo
dev-lang/rust:            1.55.0::gentoo
dev-util/cmake:           3.21.3::gentoo
sys-apps/baselayout:      2.8::gentoo
sys-apps/openrc:          0.44.7::gentoo
sys-apps/sandbox:         2.27::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo, 2.71-r1::gentoo
sys-devel/automake:       1.16.5::gentoo
sys-devel/binutils:       2.36.1-r2::gentoo, 2.37_p1::gentoo
sys-devel/gcc:            10.3.0::gentoo, 11.2.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33-r7::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000
    sync-git-verify-commit-signature: true

portage-crossdev
    location: /usr/local/portage-crossdev
    masters: gentoo

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE FraunhoferFDK bh-luxi android linux-firmware no-source-code lha free-noncomm freedist linux-fw-redistributable"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/angband/gamedata/ /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=core2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -march=core2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -march=core2 -pipe"
GENTOO_MIRRORS="ftp://ftp.jaist.ac.jp/pub/Linux/Gentoo/ ftp://ftp.iij.ad.jp/pub/linux/gentoo/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="ja"
MAKEOPTS="-j1"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X acl alsa amd64 bzip2 cli crypt dri ffmpeg fortran gdbm gui iconv ipv6 jack libglvnd libtirpc multilib ncurses nls nptl opengl openmp pam pcre pulseaudio readline seccomp split-usr ssl unicode xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2019" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev joystick libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AArch64 ARM M68k Mips PowerPC RISCV Sparc SystemZ WebAssembly" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" QEMU_SOFTMMU_TARGETS="aarch64 alpha arm hppa i386 m68k mips mips64 mips64el mipsel or1k ppc ppc64 riscv32 riscv64 s390x sh4 sh4eb sparc sparc64 x86_64" QEMU_USER_TARGETS="aarch64 aarch64_be alpha arm armeb hppa i386 m68k mips mips64 mips64el mipsel mipsn32 mipsn32el or1k ppc ppc64 ppc64abi32 ppc64le riscv32 riscv64 s390x sh4 sh4eb sparc sparc32plus sparc64 x86_64" RUBY_TARGETS="ruby27 ruby30" USERLAND="GNU" VIDEO_CARDS="fbdev intel vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 1 Tee KOBAYASHI 2021-10-27 11:49:44 UTC
Created attachment 746970 [details]
The full build.log
Comment 2 Tee KOBAYASHI 2021-10-27 13:34:37 UTC
Created attachment 746994 [details, diff]
ncurses-6.3.ebuild: Revive "threads" USE flag

This seems to be due to the toolchain for x86_64-w64-mingw32 (at least gcc) not supporting pthreads:

$ x86_64-w64-mingw32-gcc -v
Using built-in specs.
COLLECT_GCC=x86_64-w64-mingw32-gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-w64-mingw32/11.2.0/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: /var/tmp/portage/cross-x86_64-w64-mingw32/gcc-11.2.0/work/gcc-11.2.0/configure --host=x86_64-pc-linux-gnu --target=x86_64-w64-mingw32 --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/x86_64-w64-mingw32/gcc-bin/11.2.0 --includedir=/usr/lib/gcc/x86_64-w64-mingw32/11.2.0/include --datadir=/usr/share/gcc-data/x86_64-w64-mingw32/11.2.0 --mandir=/usr/share/gcc-data/x86_64-w64-mingw32/11.2.0/man --infodir=/usr/share/gcc-data/x86_64-w64-mingw32/11.2.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-w64-mingw32/11.2.0/include/g++-v11 --with-python-dir=/share/gcc-data/x86_64-w64-mingw32/11.2.0/python --enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 11.2.0 p1' --disable-esp --enable-libstdcxx-time --enable-poison-system-directories --with-sysroot=/usr/x86_64-w64-mingw32 --disable-bootstrap --disable-multilib --with-multilib-list=m64 --disable-fixed-point --enable-targets=all --disable-libgomp --disable-libada --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --without-zstd --enable-lto --without-isl --disable-libsanitizer --disable-default-pie --enable-default-ssp
Thread model: win32
Supported LTO compression algorithms: zlib
gcc version 11.2.0 (Gentoo 11.2.0 p1)

And I wonder why "threads" USE flag is removed from recent ncurses ebuilds (note that ncurses-6.2-r1.ebuild still has that flag). Is there any workaround for this issue other than reviving "threads" flag and disabling it?
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-10-27 13:36:46 UTC
For things like this I'd generally just update the other bug and say it still fails with 6.3.

USE=threads was removed because it wasn't thought to be very useful. Sounds more like we should just turn it off on mingw32?
Comment 4 Tee KOBAYASHI 2021-10-29 19:32:00 UTC
Created attachment 747303 [details, diff]
Proposed fix along with the suggestion from sam@

With this patch, "ncursest" and "ncursestw" are excluded from NCURSES_TARGETS if and only if CHOST is mingw.