Summary: | emerge -uvD world has failed and now emerge doesn work anymore | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Eduardo Juan <ejuan73> |
Component: | Core - Interface (emerge) | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Eduardo Juan
2004-10-06 08:04:28 UTC
I forgot this is the 1301 line on ebuild.sh thaś installed on my system: ****************** # Sources all eclasses in parameters declare -ix ECLASS_DEPTH=0 inherit() { ECLASS_DEPTH=$(($ECLASS_DEPTH + 1)) if [[ $ECLASS_DEPTH > 1 ]]; then debug-print "*** Multiple Inheritence (Level: ${ECLASS_DEPTH})" fi local location local PECLASS local B_IUSE local B_DEPEND local B_RDEPEND local B_CDEPEND local B_PDEPEND while [ "$1" ]; do location="${ECLASSDIR}/${1}.eclass" # PECLASS is used to restore the ECLASS var after recursion. PECLASS="$ECLASS" export ECLASS="$1" if [ "$EBUILD_PHASE" != "depend" ]; then if ! hasq $ECLASS $INHERITED; then echo echo "QA Notice: ECLASS '$ECLASS' inherited illegally in $CATEGORY/$PF" >&2 echo fi fi # any future resolution code goes here if [ -n "$PORTDIR_OVERLAY" ]; then local overlay for overlay in ${PORTDIR_OVERLAY}; do olocation="${overlay}/eclass/${1}.eclass" if [ -e "$olocation" ]; then location="${olocation}" debug-print " eclass exists: ${location}" fi done fi debug-print "inherit: $1 -> $location" #We need to back up the value of DEPEND and RDEPEND to B_DEPEND and B_RDEPEND #(if set).. and then restore them after the inherit call. #turn off glob expansion set -f # Retain the old data and restore it later. unset B_IUSE B_DEPEND B_RDEPEND B_CDEPEND B_PDEPEND [ "${IUSE-unset}" != "unset" ] && B_IUSE="${IUSE}" [ "${DEPEND-unset}" != "unset" ] && B_DEPEND="${DEPEND}" [ "${RDEPEND-unset}" != "unset" ] && B_RDEPEND="${RDEPEND}" [ "${CDEPEND-unset}" != "unset" ] && B_CDEPEND="${CDEPEND}" [ "${PDEPEND-unset}" != "unset" ] && B_PDEPEND="${PDEPEND}" unset IUSE DEPEND RDEPEND CDEPEND PDEPEND #turn on glob expansion set +f source "$location" || export ERRORMSG="died sourcing $location in inherit()" <<<<<<<<<<<<<--------------------------------------- [ -z "${ERRORMSG}" ] || die "${ERRORMSG}" This is a problem with bash-3/gcc-3.4/-freduce-all-givs Get a precompiled bash, remove -freduce-all-givs from your CFLAGS and re-emerge bash. OK Found the error..or better...my stupidity!! :D CFLAGS like "-freduce-all-givs" does make gnu bash goes crazy!! Just installed a binary bash from my collegue's debian and emerge is normal again. reemerged bash (without that stupid flag) and now everything works!! Muahahaa Even configure's are broken on 'trap' due to broken bashes (compiled with that flag!!) |