Compiling code for ARM on my ~amd64 setup. NCurses fail with cxx USE enabled, otherwise work fine. Crossdev setup is basic (only USE and PYTHON vars modified) Reproducible: Always Steps to Reproduce: 1. USE="cxx" emerge -av1 ncurses Actual Results: /usr/bin/g++ -o demo ../obj_s/demo.o -L../lib -lncurses++ -L../lib -lform -lmenu -lpanel -lncurses -Wl,-O1 -Wl,--as-needed -lutil -Wl,-rpath,/var/tmp/portage/sys-libs/ncurses-5.9-r3/work/ncurses-5.9-default-narrowc/lib -I../c++ -I../include -I/var/tmp/portage/sys-libs/ncurses-5.9-r3/work/ncurses-5.9/c++ -DHAVE_CONFIG_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DXTSTRINGDEFINES -DNDEBUG -I. -I../include -I/var/tmp/portage/sys-libs/ncurses-5.9-r3/work/ncurses-5.9/c++/../include -Os -pipe -fomit-frame-pointer -W -Wall -Wabi -fabi-version=0 -Woverloaded-virtual -Wsign-promo -Wsynth -Wold-style-cast -Wcast-align -Wcast-qual -Wpointer-arith -Wshadow -Wundef -Wwrite-strings -Weffc++ -Wno-unused -fPIC ../lib/libncurses++.a: could not read symbols: Archive has no index; run ranlib to add one
Crosscompiler was installed without "cxx" flag, that's why. Not sure if it's feature or bug. Second place, where I hit this bug, was gettext Even with disabled "cxx" flag it ends this way: "arm-linux-gnueabi-gcc: error: autosprintf.cc: C++ compiler not installed on this system". So maybe it should depend on c++ support?
What are you trying to do here? It looks like you aren't using <toolchain>-emerge when you should be. 1) Please post your `<toolchain>-emerge --info' output in a comment. 2) Please attach the entire sys-libs/ncurses build log to this bug report.
Same problem for me. armv6j-hardfloat-linux-gnueabi-emerge --info Portage 2.3.1 (python 2.7.12-final-0, default/linux/arm/13.0/armv6j, gcc-5.4.0, unavailable, 4.7.4-gentoo x86_64) ================================================================= System uname: Linux-4.7.4-gentoo-x86_64-Intel-R-_Celeron-R-_2957U_@_1.40GHz-with-gentoo-2.3 KiB Mem: 3967644 total, 1335192 free KiB Swap: 2097148 total, 2097148 free Timestamp of repository gentoo: Tue, 20 Sep 2016 08:30:01 +0000 sh bash 4.3_p46 ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1 distcc 3.2rc1 x86_64-gentoo-linux-gnu [disabled] Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 local location: /usr/local/portage/overlay masters: gentoo proaudio gentoo-kodi-overlay priority: 0 gentoo-kodi-overlay location: /usr/local/portage/gentoo-kodi-overlay masters: gentoo priority: 1 proaudio location: /var/lib/layman/proaudio masters: gentoo priority: 50 xmw location: /var/lib/layman/xmw masters: gentoo priority: 50 ACCEPT_KEYWORDS="arm ~arm" ACCEPT_LICENSE="@FREE as-is freedist" CBUILD="x86_64-gentoo-linux-gnu" CFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard -fomit-frame-pointer" CHOST="armv6j-hardfloat-linux-gnueabi" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.0/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php7.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXX="/usr/x86_64-gentoo-linux-gnu/armv6j-hardfloat-linux-gnueabi/gcc-bin/5.4.0/armv6j-hardfloat-linux-gnueabi-g++" CXXFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard -fomit-frame-pointer" DISTDIR="/data/raspi_root/var/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y --quiet-build=n --buildpkg" FCFLAGS="-O2 -pipe -march=armv6j" FEATURES="assume-digests binpkg-logs buildpkg candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe -march=armv6j" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="fr_BE.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j5 -l2" PKGDIR="/data/raspi_root/var/portage/packages" PORTAGE_CONFIGROOT="/usr/armv6j-hardfloat-linux-gnueabi/" 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="arm bzip2 cli cracklib crypt cxx dri iconv modules ncurses nls nptl openmp pcre readline seccomp session sqlite ssl tcpd unicode xattr zlib" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr nl" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap omapfb dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Created attachment 447036 [details] build.log
Seems like ${CXX} is expanded to an empty string in place of getting the right (cross-)compiler name I have the same problem cross-emerging gcc
There is a problem in the configure stage: checking if /usr/x86_64-gentoo-linux-gnu/armv6j-hardfloat-linux-gnueabi/gcc-bin/5.4.0/armv6j-hardfloat-linux-gnueabi-g++ works... checking if /usr/x86_64-gentoo-linux-gnu/armv6j-hardfloat-linux-gnueabi/gcc-bin/5.4.0/armv6j-hardfloat-linux-gnueabi-g++ works... no configure: WARNING: Ignore /usr/x86_64-gentoo-linux-gnu/armv6j-hardfloat-linux-gnueabi/gcc-bin/5.4.0/armv6j-hardfloat-linux-gnueabi-g++, since it cannot compile hello-world. configure: WARNING: You don't have any C++ compiler, too bad So a config.log would also be useful.
I had a CXX environment variable that pointed explicitly to g++, but when I remove it, ncurses compiles. So this is no more reproducible.