[MacPorts] #41705: Install hangs with loop of recursive make invocations
#41705: Install hangs with loop of recursive make invocations --------------------+-------------------------------- Reporter: info@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Keywords: | Port: --------------------+-------------------------------- Trying to install expat and/or gettext hangs. The hang prevents me from completely updating outdated ports. The command $ sudo port install expat gets to building gettext: Deactivating expat @2.1.0_0+universal ---> Cleaning expat ---> Activating expat @2.1.0_0 ---> Cleaning expat ---> Scanning binaries for linking errors: 100.0% ---> Found 1 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order ---> Rebuilding in order gettext @0.18.1.1 +universal ---> Computing dependencies for gettext ---> Dependencies to be installed: expat ---> Deactivating expat @2.1.0_0 ---> Cleaning expat ---> Activating expat @2.1.0_0+universal ---> Cleaning expat ---> Building get text This never ends. I hit this bug after self update, while running $ port upgrade outdated The build hangs in a recursive invocation of make that starts with: sh -c cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gettext/gettext/work/gettext-0.18.3.1-x86_64" && /usr/bin/make -j8 -w all and then continues via make executing a build task: /bin/sh -c fail=; if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n ' Makefile' && test -n '0'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \^I]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs^I]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then failcom='fail=yes'; else failcom='exit 1'; fi; dot_seen=no; target=`echo all-recursive | sed s/-recursive//`; case "all-recursive" in distclean-* | maintainer-clean-*) list='gnulib-local gettext-runtime gettext-tools' ;; *) list='gnulib-local gettext-runtime gettext-tools' ;; esac; for subdir in $list; do echo "Making $target in $subdir"; if test "$subdir" = "."; then dot_seen=yes; local_target="$target- am"; else local_target="$target"; fi; (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && /Developer/Applications/Xcode.app/Contents/Developer/usr/bin/make $local_target) || eval $failcom; done; if test "$dot_seen" = "no"; then /Developer/Applications/Xcode.app/Contents/Developer/usr/bin/make "$target-am" || exit 1; fi; test -z "$fail" I have log file attached. I killed one of recursive invocations, as shown in the log in attempt to end the build. system: Intel Core i7 @2.3GHz OS X 10.9 (13A3017) Darwin 13.0.2 -- Ticket URL: <https://trac.macports.org/ticket/41705> MacPorts <http://www.macports.org/> Ports system for OS X
#41705: gettext: build hangs ----------------------+-------------------------- Reporter: info@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: gettext | ----------------------+-------------------------- Changes (by ryandesign@…): * owner: macports-tickets@… => ryandesign@… * port: => gettext Old description:
Trying to install expat and/or gettext hangs. The hang prevents me from completely updating outdated ports.
The command $ sudo port install expat gets to building gettext: Deactivating expat @2.1.0_0+universal ---> Cleaning expat ---> Activating expat @2.1.0_0 ---> Cleaning expat ---> Scanning binaries for linking errors: 100.0% ---> Found 1 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order ---> Rebuilding in order gettext @0.18.1.1 +universal ---> Computing dependencies for gettext ---> Dependencies to be installed: expat ---> Deactivating expat @2.1.0_0 ---> Cleaning expat ---> Activating expat @2.1.0_0+universal ---> Cleaning expat ---> Building get text This never ends. I hit this bug after self update, while running $ port upgrade outdated
The build hangs in a recursive invocation of make that starts with: sh -c cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gettext/gettext/work/gettext-0.18.3.1-x86_64" && /usr/bin/make -j8 -w all and then continues via make executing a build task: /bin/sh -c fail=; if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n ' Makefile' && test -n '0'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \^I]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs^I]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then failcom='fail=yes'; else failcom='exit 1'; fi; dot_seen=no; target=`echo all-recursive | sed s/-recursive//`; case "all-recursive" in distclean-* | maintainer-clean-*) list='gnulib-local gettext-runtime gettext-tools' ;; *) list='gnulib-local gettext-runtime gettext-tools' ;; esac; for subdir in $list; do echo "Making $target in $subdir"; if test "$subdir" = "."; then dot_seen=yes; local_target="$target- am"; else local_target="$target"; fi; (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && /Developer/Applications/Xcode.app/Contents/Developer/usr/bin/make $local_target) || eval $failcom; done; if test "$dot_seen" = "no"; then /Developer/Applications/Xcode.app/Contents/Developer/usr/bin/make "$target-am" || exit 1; fi; test -z "$fail"
I have log file attached. I killed one of recursive invocations, as shown in the log in attempt to end the build.
system: Intel Core i7 @2.3GHz OS X 10.9 (13A3017) Darwin 13.0.2
New description: Trying to install expat and/or gettext hangs. The hang prevents me from completely updating outdated ports. The command {{{ $ sudo port install expat }}} gets to building gettext: {{{ Deactivating expat @2.1.0_0+universal ---> Cleaning expat ---> Activating expat @2.1.0_0 ---> Cleaning expat ---> Scanning binaries for linking errors: 100.0% ---> Found 1 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order ---> Rebuilding in order gettext @0.18.1.1 +universal ---> Computing dependencies for gettext ---> Dependencies to be installed: expat ---> Deactivating expat @2.1.0_0 ---> Cleaning expat ---> Activating expat @2.1.0_0+universal ---> Cleaning expat ---> Building get text }}} This never ends. I hit this bug after self update, while running {{{ $ port upgrade outdated }}} The build hangs in a recursive invocation of make that starts with: {{{ sh -c cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gettext/gettext/work/gettext-0.18.3.1-x86_64" && /usr/bin/make -j8 -w all }}} and then continues via make executing a build task: {{{ /bin/sh -c fail=; if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n ' Makefile' && test -n '0'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \^I]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs^I]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then failcom='fail=yes'; else failcom='exit 1'; fi; dot_seen=no; target=`echo all-recursive | sed s/-recursive//`; case "all-recursive" in distclean-* | maintainer-clean-*) list='gnulib-local gettext-runtime gettext-tools' ;; *) list='gnulib-local gettext-runtime gettext-tools' ;; esac; for subdir in $list; do echo "Making $target in $subdir"; if test "$subdir" = "."; then dot_seen=yes; local_target="$target- am"; else local_target="$target"; fi; (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && /Developer/Applications/Xcode.app/Contents/Developer/usr/bin/make $local_target) || eval $failcom; done; if test "$dot_seen" = "no"; then /Developer/Applications/Xcode.app/Contents/Developer/usr/bin/make "$target-am" || exit 1; fi; test -z "$fail" }}} I have log file attached. I killed one of recursive invocations, as shown in the log in attempt to end the build. system: * Intel Core i7 @2.3GHz * OS X 10.9 (13A3017) * Darwin 13.0.2 -- Comment: Please remember to use WikiFormatting and to preview before submitting. gettext builds fine for me. How long did you wait? It is a large package and does take awhile to build. Please `sudo port clean gettext` and try again. I tested rebuilding gettext +universal just now on my 2.6GHz 4-core Core i7 MacBook Pro with OS X 10.9; it took 9 minutes. Since your CPU is slightly slower, wait a little longer. If you have fewer cores, or a hard disk instead of an SSD, wait longer. Note that when you typed `sudo port install expat` above, MacPorts deactivated the universal copy of expat you already had installed and activated the non-universal copy of expat you already had installed. Then it ran rev-upgrade which checks for broken packages, which found that gettext was broken (because gettext was installed universal, and gettext requires expat, and the architectures must match), so it re-activated the universal copy of expat before trying to rebuild gettext. In fact, rebuilding gettext might not be necessary at all; possibly the only reason it was marked as broken was because you de-universalized its expat dependency. What does `port outdated` show now? Does `sudo port rev-upgrade` still try to rebuild gettext or is it ok now? -- Ticket URL: <https://trac.macports.org/ticket/41705#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#41705: gettext: build hangs ----------------------+-------------------------- Reporter: info@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: gettext | ----------------------+-------------------------- Comment (by ryandesign@…): Can you provide any further info? -- Ticket URL: <https://trac.macports.org/ticket/41705#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#41705: gettext: build hangs -------------------------+-------------------------- Reporter: info@… | Owner: ryandesign@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: worksforme | Keywords: Port: gettext | -------------------------+-------------------------- Changes (by ryandesign@…): * status: new => closed * resolution: => worksforme -- Ticket URL: <https://trac.macports.org/ticket/41705#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts