Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 573650

Summary: sys-process/psmisc-22.21-r2 fails to emerge in bootstrap
Product: Gentoo/Alt Reporter: Jeffrey Ratcliffe <Jeffrey.Ratcliffe>
Component: Prefix SupportAssignee: Gentoo Prefix <prefix>
Status: RESOLVED OBSOLETE    
Severity: blocker CC: ericvw
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Jeffrey Ratcliffe 2016-02-02 10:48:24 UTC
Reproducible: Always




$ usr/bin/emerge --info '=sys-process/psmisc-22.21-r2::gentoo_prefix'
Portage 2.2.20-prefix (python 2.7.11-final-0, prefix/linux/amd64, gcc-4.8.4, unavailable, 2.6.18-238.9.1.el5 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-2.6.18-238.9.1.el5-x86_64-with-redhat-5.6-Tikanga
KiB Mem:    16352048 total,   2453624 free
KiB Swap:   17825784 total,  17825616 free
Timestamp of repository gentoo_prefix: Sun, 24 Jan 2016 23:14:52 +0000
sh bash 4.3_p39
ld GNU ld version 2.17.50.0.6-14.el5 20061020
app-shells/bash:          4.3_p39::gentoo_prefix
dev-lang/perl:            5.22.1::gentoo_prefix
dev-lang/python:          2.7.11::gentoo_prefix, 3.4.3-r6::gentoo_prefix, 3.5.1-r1::gentoo_prefix
dev-util/pkgconfig:       0.29::gentoo_prefix
sys-devel/autoconf:       2.69::gentoo_prefix
sys-devel/automake:       1.14.1::gentoo_prefix, 1.15::gentoo_prefix
sys-devel/binutils:       2.24-r2::gentoo_prefix
sys-devel/gcc:            4.8.4::gentoo_prefix
sys-devel/gcc-config:     1.8-r1::gentoo_prefix
sys-devel/libtool:        2.4.6-r1::gentoo_prefix
sys-devel/make:           4.1-r1::gentoo_prefix
sys-kernel/linux-headers: 4.4::gentoo_prefix (virtual/os-headers)
Repositories:

gentoo_prefix
    location: /home/jeff/gentoo/usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix
    priority: -1000
    aliases: gentoo

ACCEPT_KEYWORDS="~amd64-linux"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/terminfo"
CXXFLAGS="-O2 -pipe -O2 -pipe"
DISTDIR="/home/jeff/gentoo/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs case-insensitive-fs config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans unprivileged userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j5"
PKGDIR="/home/jeff/gentoo/usr/portage/packages"
PORTAGE_CONFIGROOT="/home/jeff/gentoo/"
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"
PORTAGE_TMPDIR="/scratch"
USE="amd64 berkdb bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 mmx mmxext modules ncurses nls nptl openmp pcre prefix prefix-guest readline seccomp session sse sse2 ssl tcpd unicode xattr zlib" ABI_X86="64" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" 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" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware 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, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Jeffrey Ratcliffe 2016-02-02 10:49:07 UTC
Created attachment 424456 [details]
build.log
Comment 2 Jeffrey Ratcliffe 2016-02-02 10:51:03 UTC
It is pulling in headers from the host:

In file included from /usr/include/curses.h:127:0,
                 from pstree.c:36:
/home/jeff/gentoo/usr/include/ncurses/unctrl.h:60:63: error: unknown type name 'SCREEN'
 NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
Comment 3 Jeffrey Ratcliffe 2016-02-02 12:06:24 UTC
Once I patched the source to explicitly take curses.h from the prefix, it emerged with no error.
Comment 4 Jeffrey Ratcliffe 2016-02-02 12:12:20 UTC
sys-process/procps-3.3.11-r3 fails to emerge with the same error
Comment 5 Fabian Groffen gentoo-dev 2016-02-05 19:21:46 UTC
does
         $(use_with ncurses ncurses=${EPREFIX}/usr) \
work too?

I doubt so, but perhaps there's autoconf magic allowing it
Comment 6 Jonathan Callen (RETIRED) gentoo-dev 2016-02-06 02:19:34 UTC
(In reply to Fabian Groffen from comment #5)
> does
>          $(use_with ncurses ncurses=${EPREFIX}/usr) \
> work too?
> 
> I doubt so, but perhaps there's autoconf magic allowing it

The configure.ac script doesn't have a --with-ncurses option at all.  It appears that part of the problem may be that ncurses installed the curses.h header into ${EPREFIX}/usr/include/ncurses instead of ${EPREFIX}/usr/include, as it is on my non-prefix system, which means that the --enable-overwrite in the ebuild might not be enough any more.
Comment 7 Daa Jaa 2016-02-09 10:12:01 UTC
Eric reproduced the bug, and just added himself to the Cc: list.

Eric, you might try this workaround:

LDFLAGS="${EPREFIX}/usr/include/ncurses" ./bootstrap-prefix.sh 

(no need to clean your $EPREFIX, bootstrap will resume automatically at last error)
Comment 8 Eric N. Vander Weele 2016-02-09 22:06:20 UTC
(In reply to Daa Jaa from comment #7)
> Eric reproduced the bug, and just added himself to the Cc: list.
> 
> Eric, you might try this workaround:
> 
> LDFLAGS="${EPREFIX}/usr/include/ncurses" ./bootstrap-prefix.sh 
> 
> (no need to clean your $EPREFIX, bootstrap will resume automatically at last
> error)

Unfortunately I cleaned my $EPREFIX before I saw this :(.

It turns out I am now hitting bug 567300 before I get to emerging sys-process/psmisc.

However, if I try stage3 again manually, I eventually get to emerging sys-process/psmisc.  Using the workaround as you suggested did not work.  I changed the environment variable to be CFLAGS and CPPFLAGS with a leading "-I", which got me further along, but I am still up against bug 567300.
Comment 9 Daa Jaa 2016-02-10 08:07:41 UTC
Eric, sorry for the loss; I didn't know that a changed LDFLAGS did clean $EPREFIX.

Because you are in the emerge -e phase, you might now try this:

./bootstrap-prefix.sh $EPREFIX startscript

This should not clean anything, and this may create $EPREFIX/startprefix, which you can execute to use your functionnal $EPREFIX (but not totally up to date).

If that fails, try SHELL=bash PATH=$EPREFIX/usr/bin:$EPREFIX/bin ./bootstrap-prefix.sh $EPREFIX startscript
Comment 10 Fabian Groffen gentoo-dev 2021-01-06 12:52:11 UTC
This needs revisiting using latest versions and setup.