Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 491422 - crossdev amd64=>arm - fails to compile ncurses with USE=cxx
Summary: crossdev amd64=>arm - fails to compile ncurses with USE=cxx
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: SpanKY
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-16 16:36 UTC by David Heidelberg (okias)
Modified: 2016-11-15 07:14 UTC (History)
3 users (show)

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


Attachments
build.log (build.log,470.42 KB, application/octet-stream)
2016-09-21 13:08 UTC, Xavier Miller (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Heidelberg (okias) 2013-11-16 16:36:40 UTC
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
Comment 1 David Heidelberg (okias) 2013-11-16 21:20:38 UTC
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?
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2013-11-19 15:56:34 UTC
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.
Comment 3 Xavier Miller (RETIRED) gentoo-dev 2016-09-21 12:59:35 UTC
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
Comment 4 Xavier Miller (RETIRED) gentoo-dev 2016-09-21 13:08:22 UTC
Created attachment 447036 [details]
build.log
Comment 5 Xavier Miller (RETIRED) gentoo-dev 2016-09-21 14:11:22 UTC
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
Comment 6 Felix Janda 2016-09-21 22:01:16 UTC
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.
Comment 7 Xavier Miller (RETIRED) gentoo-dev 2016-09-22 06:53:35 UTC
I had a CXX environment variable that pointed explicitly to g++, but when I remove it, ncurses compiles.

So this is no more reproducible.