When cross-compiling dev-lang/python 3.9 or python 3.10, the output shows --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu whereas --build=x86_64-pc-linux-gnu --host=aarch64-unknown-linux-gnu is inserted earlier. This makes configure fail. Reproducible: Always Steps to Reproduce: 1.install crossdev aarch64-unknown-linux-gnu target 2.build all prerequisites 3.try to cross-compile python Actual Results: emerge output shows: /usr/aarch64-unknown-linux-gnu/tmp/portage/dev-lang/python-3.9.15_p2/work/Python-3.9.15/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=aarch64-unknown-linux-gnu --target=aarch64-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --docdir=/usr/share/doc/python-3.9.15_p2 --htmldir=/usr/share/doc/python-3.9.15_p2/html --libdir=/usr/lib64 --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu ac_cv_header_stropts_h=no --enable-shared --enable-ipv6 --infodir=${prefix}/share/info --mandir=${prefix}/share/man --with-computed-gotos --with-dbmliborder= --with-libc= --enable-loadable-sqlite-extensions --without-ensurepip --with-system-expat --with-system-ffi --with-wheel-pkg-dir=/usr/lib/python/ensurepip --with-lto --enable-optimizations --without-lto --disable-optimizations ...and configure fails Expected Results: /usr/aarch64-unknown-linux-gnu/tmp/portage/dev-lang/python-3.9.15_p2/work/Python-3.9.15/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=aarch64-unknown-linux-gnu --target=aarch64-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --docdir=/usr/share/doc/python-3.9.15_p2 --htmldir=/usr/share/doc/python-3.9.15_p2/html --libdir=/usr/lib64 ac_cv_header_stropts_h=no --enable-shared --enable-ipv6 --infodir=${prefix}/share/info --mandir=${prefix}/share/man --with-computed-gotos --with-dbmliborder= --with-libc= --enable-loadable-sqlite-extensions --without-ensurepip --with-system-expat --with-system-ffi --with-wheel-pkg-dir=/usr/lib/python/ensurepip --with-lto --enable-optimizations --without-lto --disable-optimizations emerge --info: Portage 3.0.38.1 (python 3.9.15-final-0, default/linux/amd64/17.1, gcc-12, glibc-2.36-r5, 6.0.6release+ x86_64) ================================================================= System uname: Linux-6.0.6release+-x86_64-AMD_Ryzen_Threadripper_2950X_16-Core_Processor-with-glibc2.36 KiB Mem: 131825904 total, 120058980 free KiB Swap: 61044720 total, 61044720 free Timestamp of repository gentoo: Sun, 06 Nov 2022 05:45:01 +0000 Head commit of repository gentoo: 0ef8ea199850e53ab5e7105bbb8bbc99f77b473a sh bash 5.1_p16-r2 ld GNU ld (Gentoo 2.39 p5) 2.39.0 distcc 3.4 x86_64-pc-linux-gnu [disabled] app-misc/pax-utils: 1.3.5::gentoo app-shells/bash: 5.1_p16-r2::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.36.0-r1::gentoo dev-lang/python: 3.9.15_p2::gentoo, 3.10.8_p2::gentoo dev-lang/rust-bin: 1.64.0::gentoo dev-util/cmake: 3.24.3::gentoo dev-util/meson: 0.63.3::gentoo sys-apps/baselayout: 2.9::gentoo sys-apps/openrc: 0.45.2-r1::gentoo sys-apps/sandbox: 2.29::gentoo sys-devel/autoconf: 2.71-r4::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.38-r2::gentoo, 2.39-r4::gentoo sys-devel/binutils-config: 5.4.1::gentoo sys-devel/clang: 14.0.6-r1::gentoo, 15.0.2::gentoo sys-devel/gcc: 11.3.1_p20221007::gentoo, 12.2.1_p20221008::gentoo sys-devel/gcc-config: 2.8::gentoo sys-devel/libtool: 2.4.7::gentoo sys-devel/lld: 15.0.2-r1::gentoo sys-devel/llvm: 9.0.1::x-jp, 14.0.6-r2::gentoo, 15.0.2::gentoo sys-devel/make: 4.4::gentoo sys-kernel/linux-headers: 6.0::gentoo (virtual/os-headers) sys-libs/glibc: 2.36-r5::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://localhost/gentoo-portage/ priority: -1000 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: sync-rsync-verify-jobs: 1 x-jp location: /var/db/repos/jp masters: gentoo priority: 10 guru location: /var/lib/layman/guru sync-type: laymansync sync-uri: https://anongit.gentoo.org/git/repo/proj/guru.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=znver1 -O3 -pipe " CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.1/ext-active/ /etc/php/cgi-php8.1/ext-active/ /etc/php/cli-php8.1/ext-active/ /etc/php/fpm-php8.1/ext-active/ /etc/php/phpdbg-php8.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=znver1 -O3 -pipe " DISTDIR="/data/distfiles" EMERGE_DEFAULT_OPTS=" --usepkg" 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 XDG_STATE_HOME" FCFLAGS="-march=znver1 -O3 -pipe " FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned qa-unresolved-soname-deps sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=znver1 -O3 -pipe " GENTOO_MIRRORS="http://ftp.belnet.be/pub/rsync.gentoo.org/gentoo/ rsync://ftp.belnet.be/gentoo/gentoo/ ftp://ftp.free.fr/mirrors/ftp.gentoo.org/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j32 -l16" PKGDIR="/data/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" SHELL="/bin/bash" USE="acl amd64 berkdb bind bzip2 caps clang cli compiler-rt crypt dbus default-compiler-rt default-libcxx dri fortran gdbm gnutls iconv ipv6 libcxx libcxxabi libglvnd libtirpc libunwind lto lzma mesa multilib ncurses nfs nftables nptl opencl openmp openssl pam pcre python readline samba seccomp sha3 split-usr ssl test-rust udev unicode urandom usb xattr xinetd zlib" ABI_X86="64" ADA_TARGET="gnat_2020" 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="aes sha sse sse2 sse3 avx avx2 bmi1 bmi2 sse4_1 sse4_2 ssse3 pni mmx mmxext fma3 f16c rdrand" 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="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AMDGPU X86" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9 python3_10" QEMU_SOFTMMU_TARGETS="x86_64 i386 aarch64 arm" QEMU_USER_TARGETS="x86_64 i386 aarch64 arm" RUBY_TARGETS="ruby27 ruby30" SANE_BACKENDS="xerox_mfp hp" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi" 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: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS aarch64-unknown-linux-gnu-emerge --info: Portage 3.0.38.1 (python 3.9.15-final-0, default/linux/arm64/17.0, gcc-12.2.0, glibc-2.36-r5, 6.0.6release+ x86_64) ================================================================= System uname: Linux-6.0.6release+-x86_64-AMD_Ryzen_Threadripper_2950X_16-Core_Processor-with-glibc2.36 KiB Mem: 131825904 total, 120065072 free KiB Swap: 61044720 total, 61044720 free Timestamp of repository gentoo: Sun, 06 Nov 2022 05:45:01 +0000 Head commit of repository gentoo: 0ef8ea199850e53ab5e7105bbb8bbc99f77b473a sh bash 5.1_p16-r2 ld GNU ld (Gentoo 2.39 p5) 2.39.0 distcc 3.4 x86_64-pc-linux-gnu [disabled] app-misc/pax-utils: 1.3.5::gentoo app-shells/bash: 5.1_p16-r2::gentoo dev-lang/perl: 5.36.0::gentoo dev-util/cmake: 3.22.3::gentoo dev-util/meson: 0.61.3::gentoo sys-apps/baselayout: 2.9::gentoo sys-apps/openrc: 0.44.10::gentoo sys-apps/sandbox: 2.29::gentoo sys-devel/autoconf: 2.71-r4::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.37_p1-r2::gentoo, 2.38-r1::gentoo, 2.39-r4::gentoo sys-devel/binutils-config: 5.4.1::gentoo sys-devel/gcc: 12.2.1_p20221008::gentoo sys-devel/gcc-config: 2.8::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.4::gentoo sys-kernel/linux-headers: 6.0::gentoo (virtual/os-headers) sys-libs/glibc: 2.36-r5::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: no sync-rsync-extra-opts: ACCEPT_KEYWORDS="arm64 ~arm64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CC="aarch64-unknown-linux-gnu-gcc" CFLAGS="-Ofast -mcpu=cortex-a53 -pipe -flto" CHOST="aarch64-unknown-linux-gnu" CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.1/ext-active/ /etc/php/cgi-php8.1/ext-active/ /etc/php/cli-php8.1/ext-active/ /etc/php/fpm-php8.1/ext-active/ /etc/php/phpdbg-php8.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CTARGET="aarch64-unknown-linux-gnu" CXXFLAGS="-Ofast -mcpu=cortex-a53 -pipe -flto" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS=" --usepkg" 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 XDG_STATE_HOME" FCFLAGS="-O2" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live 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 xattr" FFLAGS="-O2" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.utf8" LDFLAGS="-Ofast -mcpu=cortex-a53 -pipe -flto" MAKEOPTS="-j32" PKGDIR="/data/software/pkgaarch64/" PORTAGE_CONFIGROOT="/usr/aarch64-unknown-linux-gnu/" 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/aarch64-unknown-linux-gnu/tmp/" SHELL="/bin/bash" USE="arm64 bind build bzip2 caps cli crypt custom-cflags dbus dhcp dri fortran geoip iconv ipv6 libglvnd libtirpc lto minimal ncurses netlink nptl readline split-usr ssl stunnel test-rust threads unicode urandom xinetd zlib" ADA_TARGET="gnat_2020" 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_ARM="edsp thumb thumb2 v4 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4" 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="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10 python3_9" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="fbdev dummy v4l" 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: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Please always include the full build.log and config.log. I'm not sure what you mean by "unwanted" but it's unavoidable if you read the details as to why we added it. Probably a dupe of bug 880059. *** This bug has been marked as a duplicate of bug 880059 ***
Created attachment 828215 [details] build.log
Created attachment 828217 [details] env file
(In reply to Sam James from comment #1) > Please always include the full build.log and config.log. I'm not sure what > you mean by "unwanted" but it's unavoidable if you read the details as to > why we added it. > > Probably a dupe of bug 880059. > > *** This bug has been marked as a duplicate of bug 880059 *** when you see in the configure parameters, you'll notice --build and --host are included twice, the second one specifying the wrong chost
(In reply to Janpieter Sollie from comment #4) > (In reply to Sam James from comment #1) > > Please always include the full build.log and config.log. I'm not sure what > > you mean by "unwanted" but it's unavoidable if you read the details as to > > why we added it. > > > > Probably a dupe of bug 880059. > > > > *** This bug has been marked as a duplicate of bug 880059 *** > > when you see in the configure parameters, you'll notice --build and --host > are included twice, the second one specifying the wrong chost Please share config.log too. And yes, that's fine, because the *first* built Python must be for CBUILD and have CBUILD==CHOST. It then builds another one later.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5cb1ccc95873d55f9f643b043f3f7493fd31eee commit e5cb1ccc95873d55f9f643b043f3f7493fd31eee Author: Sam James <sam@gentoo.org> AuthorDate: 2022-11-07 07:57:49 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-11-07 07:57:49 +0000 dev-lang/python: append ncurses include path after CBUILD Python is built We don't want to contaminate the mini CBUILD Python cross build with paths in SYSROOT. Bug: https://bugs.gentoo.org/880059 Bug: https://bugs.gentoo.org/880137 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/python/python-3.10.8_p2.ebuild | 10 +++++----- dev-lang/python/python-3.11.0_p1.ebuild | 10 +++++----- dev-lang/python/python-3.12.0_alpha1_p1.ebuild | 10 +++++----- dev-lang/python/python-3.8.15_p2.ebuild | 10 +++++----- dev-lang/python/python-3.9.15_p2.ebuild | 10 +++++----- 5 files changed, 25 insertions(+), 25 deletions(-)
Created attachment 828219 [details] config.log
thanks, I'll look at it more later today
(In reply to Sam James from comment #8) > thanks, I'll look at it more later today in reply of your remark at bug 880059: > --- Comment #6 from Sam James <sam@gentoo.org> --- > I don't think the ncurses bit is sufficient, just a start. Can you share the config.logs? I tried to build it using `USE="-ncurses" aarch64-unknown-gnu-emerge` but the error message stays the same
Yeah, I need the two config.logs for tt_1s bug. Not related to this one I think now.
as a workaround for now: drop znver from cflags
(In reply to Sam James from comment #11) > as a workaround for now: drop znver from cflags nope, didn't work. Configure fails again. I'll add the second config.log and build.log
Created attachment 828225 [details] build log with no cflags
Created attachment 828239 [details] config.log with no clfags
Are you setting CC explicitly somewhere in your environment, ditto HOSTCC? (setting CC by itself is OK for me, it seems)
(In reply to Sam James from comment #15) > Are you setting CC explicitly somewhere in your environment, ditto HOSTCC? > (setting CC by itself is OK for me, it seems) This could be, I'm experimenting a lot with different compilers these days, it might be some leftover I forgot. Nonetherless, shouldn't you see this in the environment file I attached?
(In reply to Janpieter Sollie from comment #16) > (In reply to Sam James from comment #15) > > Are you setting CC explicitly somewhere in your environment, ditto HOSTCC? > > (setting CC by itself is OK for me, it seems) > This could be, I'm experimenting a lot with different compilers these days, > it might be some leftover I forgot. > Nonetherless, shouldn't you see this in the environment file I attached? The question is whether you're setting it as a human or if it's accidental, and also why.
In case unclear, HOSTCC being set is overriding the right CC value that it's supposed to use at this step. ebuilds typically don't control variables meant to override things, so it's on you to clear it up /if/ it was actually set by you (e.g. some make.conf or package.env files) environment file just says that it is set, but it doesn't really say where it's from
your idea actually fixes the issue: I used grep -R "HOSTCC" in /etc and /usr/aarch64-unknown-linux-gnu/etc, and found I set it in /usr/aarch64-unknown-linux-gnu/etc/portage/make.conf, in a desperate attempt to compile something which reverted to the wrong compiler. Commenting out everything fixed it. Sorry for reporting a bug that was a feature :(