Summary: | sys-process/procps-3.3.12-r1 - aclocal-1.15: command not found | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Martin Mokrejš <mmokrejs> |
Component: | Prefix Support | Assignee: | Gentoo Prefix <prefix> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | vityokster |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
stage1.log.bz2
stage2.log.bz2 |
Description
Martin Mokrejš
2018-03-20 21:31:01 UTC
Created attachment 524620 [details]
stage1.log.bz2
Created attachment 524622 [details]
stage2.log.bz2
stage3.log.xz is at http://195.113.57.32/~mmokrejs/tmp/stage3.log.xz 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 $ 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}" Current bootstrap-prefix.sh dies because of this too. Not much surprising anyway. 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).
(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 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. |