Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 651036 - sys-process/procps-3.3.12-r1 - aclocal-1.15: command not found
Summary: sys-process/procps-3.3.12-r1 - aclocal-1.15: command not found
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-20 21:31 UTC by Martin Mokrejš
Modified: 2021-01-10 19:32 UTC (History)
1 user (show)

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


Attachments
stage1.log.bz2 (stage1.log.bz2,50.83 KB, application/octet-stream)
2018-03-20 21:33 UTC, Martin Mokrejš
Details
stage2.log.bz2 (stage2.log.bz2,249.39 KB, application/octet-stream)
2018-03-20 21:33 UTC, Martin Mokrejš
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2018-03-20 21:31:01 UTC
Little bit outdated version of bootstrap-prefix.sh does not complete for me.


$ ls -latr bootstrap-prefix.sh
-rwxr-xr-x 1 mmokrejs mmokrejs 89699 Mar 12 12:00 bootstrap-prefix.sh
$
$ sha1sum bootstrap-prefix.sh
787395f75da4a2223fcc0a932ab035ead9193377  bootstrap-prefix.sh
$

$ export PREFIX=/var/tmp/mmokrejs
$ export SHELL=$HOME/bash-4.4/bash

$ $SHELL bootstrap-prefix.sh

...

>>> Source configured.
>>> Compiling source in /var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12 ...
make -j8 
CDPATH="${ZSH_VERSION+.}:" && cd . && /var/tmp/mmokrejs/gentoo/bin/bash /var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12/missing aclocal-1.15 -I m4
/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
make: *** [Makefile:988: aclocal.m4] Error 127
 * ERROR: sys-process/procps-3.3.12-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-process/procps-3.3.12-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-process/procps-3.3.12-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/temp/environment'.
 * Working directory: '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12'
 * S: '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12'

>>> Failed to emerge sys-process/procps-3.3.12-r1, Log file:

>>>  '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/temp/build.log'
 * Messages for package sys-apps/util-linux-2.31.1-r1:
 * chown failure ignored with unprivileged user:
 *     chown root:root ${D}${EPREFIX}/usr/bin/mount
 *     ${EPREFIX}/bin/chown: changing ownership of '${D}${EPREFIX}/usr/bin/mount': Operation not permitted
 * chown failure ignored with unprivileged user:
 *     chown root:root ${D}${EPREFIX}/usr/bin/umount
 *     ${EPREFIX}/bin/chown: changing ownership of '${D}${EPREFIX}/usr/bin/umount': Operation not permitted
 * The mesg/wall/write tools have been disabled due to USE=-tty-helpers.
 * The agetty util now clears the terminal by default. You
 * might want to add --noclear to your /etc/inittab lines.
 * Messages for package sys-process/procps-3.3.12-r1:
 * ERROR: sys-process/procps-3.3.12-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-process/procps-3.3.12-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-process/procps-3.3.12-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/temp/environment'.
 * Working directory: '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12'
 * S: '/var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12'





 * IMPORTANT: config file '/var/tmp/mmokrejs/gentoo/etc/hosts' needs updating.
 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
 * sections of the emerge man page to learn how to update config files.

 * IMPORTANT: 11 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


Hmmmm, I was already afraid of this to happen.  Running
  /var/tmp/mmokrejs/gentoo/bin/bash /appsuv/gentoo/bootstrap-prefix.sh "/var/tmp/mmokrejs/gentoo" stage3
somewhere failed :(  Details might be found in the build log:
  /var/tmp/mmokrejs/gentoo/var/tmp/portage/sys-process/procps-3.3.12-r1/temp/build.log
I have no clue, really.  Please find friendly folks in #gentoo-prefix on
irc.gentoo.org, gentoo-alt@lists.gentoo.org mailing list, or file a bug
at bugs.gentoo.org under Gentoo/Alt, Prefix Support.  This is most
inconvenient, and it crushed my ego.  Sorry, I give up.
Should you want to give it a try, there is /var/tmp/mmokrejs/gentoo/stage3.log
Comment 1 Martin Mokrejš 2018-03-20 21:33:23 UTC
Created attachment 524620 [details]
stage1.log.bz2
Comment 2 Martin Mokrejš 2018-03-20 21:33:41 UTC
Created attachment 524622 [details]
stage2.log.bz2
Comment 3 Martin Mokrejš 2018-03-20 21:36:53 UTC
stage3.log.xz is at http://195.113.57.32/~mmokrejs/tmp/stage3.log.xz
Comment 4 Martin Mokrejš 2018-03-20 21:47:53 UTC
Ah, the bootstrap process has installed automake, but too new?!

Executing from the "parent OS":

$ /var/tmp/mmokrejs/gentoo/usr/bin/automake --version
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = "en_US.UTF-8",
	LC_ALL = (unset),
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
automake (GNU automake) 1.16.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey <tromey@redhat.com>
       and Alexandre Duret-Lutz <adl@xx.xx>.
$
$ ls -latr /var/tmp/mmokrejs/gentoo/usr/bin/automake*
-rwxr-xr-x 1 mmokrejs mmokrejs   4650 Mar 20 22:02 /var/tmp/mmokrejs/gentoo/usr/bin/automake
-rwxr-xr-x 1 mmokrejs mmokrejs 258071 Mar 20 22:06 /var/tmp/mmokrejs/gentoo/usr/bin/automake-1.16
$
Comment 5 Martin Mokrejš 2018-03-20 21:56:12 UTC
Ah, forget the checksums of the bootstrap-prefix.sh, I just fetched the cuurent one and ran diff, I figured out I used my modified copy with:

@@ -659,7 +648,7 @@
        [[ -x ${ROOT}/tmp/bin/bash ]] || [[ ! -x ${ROOT}/tmp/usr/bin/bash ]] || ln -s ../usr/bin/bash "${ROOT}"/tmp/bin/bash || return 1
        [[ -x ${ROOT}/tmp/bin/bash ]] || ln -s "${BASH}" "${ROOT}"/tmp/bin/bash || return 1
        [[ -x ${ROOT}/tmp/bin/sh ]] || ln -s bash "${ROOT}"/tmp/bin/sh || return 1
-       export PORTAGE_BASH="${ROOT}"/tmp/bin/bash --noprofile --norc
+       export PORTAGE_BASH="${ROOT}"/tmp/bin/bash
 
        einfo "Compiling ${A%-*}"
        econf \


But it was basically the version before Fabian made the bootstrap-bash.sh stage0:

$ diff -u -w /appsuv/gentoo/bootstrap-prefix.sh bootstrap-prefix.sh.1 
--- /appsuv/gentoo/bootstrap-prefix.sh	2018-03-12 12:00:31.822609618 +0100
+++ bootstrap-prefix.sh.1	2018-03-20 22:51:28.000000000 +0100
@@ -7,17 +7,6 @@
 eerror() { echo "!!! $*" 1>&2; }
 einfo() { echo "* $*"; }
 
-if [[ ! ${BASH_VERSION:-0} == 4.[23456789]* ]]; then
-	eerror "This script requires GNU bash 4.2 or newer to run."
-	eerror "You are using ${BASH} which is ${BASH_VERSION}"
-	eerror "If you don't have a newer one, please bootstrap bash 4.2 first:"
-	eerror "  https://wiki.gentoo.org/wiki/Project:Prefix/Bootstrap"
-	eerror "You can prepend a better bash's location to your PATH, or call"
-	eerror "this script with the alternative bash like so:"
-	eerror "  /path/to/bash-4.2 ${BASH_SOURCE[0]}"
-	exit 1
-fi
-
 # RAP (libc) mode is triggered on Linux kernel and glibc.
 is-rap() { [[ ${PREFIX_DISABLE_RAP} != "yes" && ${CHOST} = *linux-gnu* ]]; }
 rapx() { is-rap && echo $1 || echo $2; }
@@ -659,7 +648,7 @@
 	[[ -x ${ROOT}/tmp/bin/bash ]] || [[ ! -x ${ROOT}/tmp/usr/bin/bash ]] || ln -s ../usr/bin/bash "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/bash ]] || ln -s "${BASH}" "${ROOT}"/tmp/bin/bash || return 1
 	[[ -x ${ROOT}/tmp/bin/sh ]] || ln -s bash "${ROOT}"/tmp/bin/sh || return 1
-	export PORTAGE_BASH="${ROOT}"/tmp/bin/bash --noprofile --norc
+	export PORTAGE_BASH="${ROOT}"/tmp/bin/bash
 
 	einfo "Compiling ${A%-*}"
 	econf \
@@ -768,6 +757,13 @@
 	# but we don't need any groovy input at all, so just disable it
 	[[ ${PN} == "bash" ]] && myconf="${myconf} --disable-readline"
 
+	# ensure we don't read system-wide shell initialisation, it may
+	# contain cruft, bug #650284
+	[[ ${PN} == "bash" ]] && \
+		export CPPFLAGS="${CPPFLAGS} \
+			-DSYS_BASHRC=\'\"${ROOT}/etc/bash/bashrc\"\' \
+			-DSYS_BASH_LOGOUT=\'\"${ROOT}/etc/bash/bash_logout\"\'"
+
 	# Don't do ACL stuff on Darwin, especially Darwin9 will make
 	# coreutils completely useless (install failing on everything)
 	# Don't try using gmp either, it may be that just the library is
@@ -1261,8 +1257,9 @@
 	[[ $(patch --version 2>&1) == *"patch 2."[6-9]*GNU* ]] || (bootstrap_patch) || return 1
 	[[ $(grep --version 2>&1) == *GNU* ]] || (bootstrap_grep) || return 1
 	[[ $(awk --version < /dev/null 2>&1) == *GNU" Awk "[456789]* ]] || bootstrap_gawk || return 1
-	[[ $(LANG=C bash --version 2>&1) == "GNU bash, version 4."[23456789]* && ${CHOST} != *-aix* ]] \
-		|| [[ -x ${ROOT}/tmp/usr/bin/bash ]] \
+	# always build our own bash, for we don't know what devilish thing
+	# we're working with now, bug #650284
+	[[ -x ${ROOT}/tmp/usr/bin/bash ]] \
 		|| (bootstrap_bash) || return 1
 	type -P bzip2 > /dev/null || (bootstrap_bzip2) || return 1
 	type -P xz > /dev/null || (bootstrap_xz) || return 1
@@ -1331,6 +1328,8 @@
 
 	# important to have our own (non-flawed one) since Python (from
 	# Portage) and binutils use it
+	# note that this actually breaks the concept of stage1, this will be
+	# compiled for the target prefix
 	for zlib in ${ROOT}/tmp/usr/lib/libz.* ; do
 		[[ -e ${zlib} ]] && break
 		zlib=
@@ -1829,6 +1828,21 @@
 	return ${PIPESTATUS[0]}
 }
 
+set_helper_vars() {
+	CXXFLAGS="${CXXFLAGS:-${CFLAGS}}"
+	export PORTDIR=${PORTDIR:-"${ROOT}/usr/portage"}
+	export DISTDIR=${DISTDIR:-"${PORTDIR}/distfiles"}
+	PORTAGE_TMPDIR=${PORTAGE_TMPDIR:-${ROOT}/var/tmp}
+	DISTFILES_URL=${DISTFILES_URL:-"http://dev.gentoo.org/~grobian/distfiles"}
+	GNU_URL=${GNU_URL:="http://ftp.gnu.org/gnu"}
+	GENTOO_MIRRORS=${GENTOO_MIRRORS:="http://distfiles.gentoo.org"}
+	SNAPSHOT_HOST=$(rapx ${GENTOO_MIRRORS} http://rsync.prefix.bitzolder.nl)
+	SNAPSHOT_URL=${SNAPSHOT_URL:-"${SNAPSHOT_HOST}/snapshots"}
+	GCC_APPLE_URL="http://www.opensource.apple.com/darwinsource/tarballs/other"
+
+	export MAKE CONFIG_SHELL
+}
+
 bootstrap_interactive() {
 	# No longer support gen_usr_ldscript stuff and the /usr split it
 	# works around for in new bootstraps, this must be in line with what
@@ -1992,7 +2006,7 @@
 		# starting on purpose a shell here iso ${!flag} because I want
 		# to know if the shell initialisation files trigger this
 		# note that this code is so complex because it handles both
-		# C-shell as sh
+		# C-shell as well as *sh
 		dvar="echo \"((${flag}=\${${flag}}))\""
 		dvar="$(echo "${dvar}" | env -i HOME=$HOME $SHELL -l 2>/dev/null)"
 		if [[ ${dvar} == *"((${flag}="?*"))" ]] ; then
@@ -2487,13 +2501,19 @@
 		fi
 	fi
 	
+	# because we unset ROOT from environment above, and we didn't set
+	# ROOT as argument in the script, we set ROOT here to the EPREFIX we
+	# just harvested
+	ROOT="${EPREFIX}"
+	set_helper_vars
+
 	if ! [[ -x ${EPREFIX}/usr/lib/portage/bin/emerge || -x ${EPREFIX}/tmp/usr/lib/portage/bin/emerge || -x ${EPREFIX}/tmp/usr/bin/emerge  ]] \
-			&& ! ${BASH} ${BASH_SOURCE[0]} "${EPREFIX}" stage1_log ; then
+			&& ! bootstrap_stage1_log ; then
 		# stage 1 fail
 		cat << EOF
 
 I tried running
-  ${BASH} ${BASH_SOURCE[0]} "${EPREFIX}" stage1
+  bootstrap_stage1_log
 but that failed :(  I have no clue, really.  Please find friendly folks
 in #gentoo-prefix on irc.gentoo.org, gentoo-alt@lists.gentoo.org mailing list,
 or file a bug at bugs.gentoo.org under Gentoo/Alt, Prefix Support.
@@ -2503,6 +2523,8 @@
 		exit 1
 	fi
 
+	unset ROOT
+
 	# stage1 has set a profile, which defines CHOST, so unset any CHOST
 	# we've got here to avoid cross-compilation due to slight
 	# differences caused by our guessing vs. what the profile sets.
@@ -2767,6 +2789,7 @@
 fi
 
 ROOT="$1"
+set_helper_vars
 
 case $ROOT in
 	chost.guess)
@@ -2782,19 +2805,6 @@
 	;;
 esac
 
-CXXFLAGS="${CXXFLAGS:-${CFLAGS}}"
-export PORTDIR=${PORTDIR:-"${ROOT}/usr/portage"}
-export DISTDIR=${DISTDIR:-"${PORTDIR}/distfiles"}
-PORTAGE_TMPDIR=${PORTAGE_TMPDIR:-${ROOT}/var/tmp}
-DISTFILES_URL=${DISTFILES_URL:-"http://dev.gentoo.org/~grobian/distfiles"}
-GNU_URL=${GNU_URL:="http://ftp.gnu.org/gnu"}
-GENTOO_MIRRORS=${GENTOO_MIRRORS:="http://distfiles.gentoo.org"}
-SNAPSHOT_HOST=$(rapx ${GENTOO_MIRRORS} http://rsync.prefix.bitzolder.nl)
-SNAPSHOT_URL=${SNAPSHOT_URL:-"${SNAPSHOT_HOST}/snapshots"}
-GCC_APPLE_URL="http://www.opensource.apple.com/darwinsource/tarballs/other"
-
-export MAKE CONFIG_SHELL
-
 
 einfo "Bootstrapping Gentoo prefixed portage installation using"
 einfo "host:   ${CHOST}"
Comment 6 Martin Mokrejš 2018-03-20 23:24:34 UTC
Current bootstrap-prefix.sh dies because of this too. Not much surprising anyway.
Comment 7 Benda Xu gentoo-dev 2018-03-21 00:16:31 UTC
I have kept only automake-1.16 on my system and procps installed fine.

Looking closer at the build directory of procps, I do find the line in Makefile

> ACLOCAL = ${SHELL} /dev/shm/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12/missing aclocal-1.15

But somehow it was not executed.

Something in your system triggered the execution of $(ACLOCAL).
Comment 8 Viktor Yu. Kovalskii 2018-03-30 07:51:17 UTC
(In reply to Benda Xu from comment #7)
> I have kept only automake-1.16 on my system and procps installed fine.
> 
> Looking closer at the build directory of procps, I do find the line in
> Makefile
> 
> > ACLOCAL = ${SHELL} /dev/shm/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12/missing aclocal-1.15
> 
> But somehow it was not executed.
> 
> Something in your system triggered the execution of $(ACLOCAL).

I have the similar problem on Gentoo into VirtualBox.

This script allows to build =sys-process/procps-3.3.12-r1:

sed 's/1\.15/1\.16/g' /var/tmp/portage/sys-process/procps-3.3.12-r1/work/procps-ng-3.3.12/configure -i
Comment 9 Fabian Groffen gentoo-dev 2021-01-10 19:32:05 UTC
We'd need a reproducer on a Prefix bootstrap.  I don't fancy setting SHELL, but I can't really say that would break this case.