Opened 11 years ago

Closed 10 years ago

#41705 closed defect (worksforme)

gettext: build hangs

Reported by: info@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc:
Port: gettext

Description (last modified by ryandesign (Ryan Carsten Schmidt))

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

Attachments (1)

install_expat.log (42.3 KB) - added by info@… 11 years ago.
log generated with -dv

Download all attachments as: .zip

Change History (4)

Changed 11 years ago by info@…

Attachment: install_expat.log added

log generated with -dv

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to ryandesign@…
Port: gettext added
Summary: Install hangs with loop of recursive make invocationsgettext: build hangs

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?

comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Can you provide any further info?

comment:3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.