Opened 5 years ago
Closed 5 years ago
#60487 closed defect (fixed)
poedit: autoconf: command not found
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | l2dy (Zero King) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | Cc: | ||
Port: | poedit |
Description
poedit fails to build on all OS versions except 10.14. Don't know why 10.14 is the exception, but on 10.15 we get this:
The following build commands failed: PhaseScriptExecution Ninja\ Build /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Poedit.build/Release/deps.gettext.build/Script-B2C129D921C6CBAF004364B2.sh (1 failure)
Earlier in the log we see:
/bin/sh -c /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Poedit.build/Release/deps.gettext.build/Script-B2C129D921C6CBAF004364B2.sh [0/2] Downloading https://ftp.gnu.org/pub/gnu/gettext/gettext-0.20.2.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 22.6M 0 192k 0 0 284k 0 0:01:21 --:--:-- 0:01:21 284k 9 22.6M 9 2192k 0 0 1324k 0 0:00:17 0:00:01 0:00:16 1323k 20 22.6M 20 4672k 0 0 1759k 0 0:00:13 0:00:02 0:00:11 1759k 30 22.6M 30 7040k 0 0 1930k 0 0:00:11 0:00:03 0:00:08 1929k 39 22.6M 39 9152k 0 0 1969k 0 0:00:11 0:00:04 0:00:07 1969k 46 22.6M 46 10.4M 0 0 1902k 0 0:00:12 0:00:05 0:00:07 2121k 51 22.6M 51 11.6M 0 0 1794k 0 0:00:12 0:00:06 0:00:06 1950k 56 22.6M 56 12.7M 0 0 1706k 0 0:00:13 0:00:07 0:00:06 1678k 61 22.6M 61 13.8M 0 0 1645k 0 0:00:14 0:00:08 0:00:06 1437k 66 22.6M 66 15.0M 0 0 1593k 0 0:00:14 0:00:09 0:00:05 1243k 71 22.6M 71 16.1M 0 0 1550k 0 0:00:14 0:00:10 0:00:04 1153k 75 22.6M 75 17.0M 0 0 1494k 0 0:00:15 0:00:11 0:00:04 1096k 78 22.6M 78 17.8M 0 0 1439k 0 0:00:16 0:00:12 0:00:04 1035k 81 22.6M 81 18.4M 0 0 1374k 0 0:00:16 0:00:13 0:00:03 915k 85 22.6M 85 19.2M 0 0 1345k 0 0:00:17 0:00:14 0:00:03 869k 89 22.6M 89 20.2M 0 0 1322k 0 0:00:17 0:00:15 0:00:02 837k 93 22.6M 93 21.1M 0 0 1297k 0 0:00:17 0:00:16 0:00:01 844k 97 22.6M 97 22.0M 0 0 1279k 0 0:00:18 0:00:17 0:00:01 869k 100 22.6M 100 22.6M 0 0 1280k 0 0:00:18 0:00:18 --:--:-- 982k [1/2] Building deps/gettext... note: ⋯ rm -rf "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/_intermediate/gettext" "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/gettext" note: ⋯ mkdir -p "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/_intermediate/gettext" note: ⋯ tar -x -f "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/deps/tarballs/gettext-0.20.2.tar.gz" -C "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/_intermediate/gettext" --strip-components 1 note: ⋯ patch -d "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/_intermediate/gettext" -p1 < "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/deps/gettext/gettext-smaller-build.patch" note: ⋯ patch -d "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/_intermediate/gettext" -p1 < "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/deps/gettext/gettext-macos-catalina-dont-touch-parent-dirs.patch" note: ⋯ cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/_intermediate/gettext" note: ⋯ touch `find . -name configure` note: ⋯ touch `find . -name aclocal.m4` note: ⋯ touch `find . -name config.h.in` note: ⋯ touch `find . -name Makefile.in` note: ⋯ touch `find . -name *.1` note: ⋯ touch `find . -name *.3` note: ⋯ find . -name *.html -exec touch {} \; note: ⋯ touch `find . -name *stream*.[ch]*` note: ⋯ touch `find . -name *.gmo` note: ⋯ ./configure --prefix=/ CC=clang CXX=clang++ CFLAGS="-arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.15 -O2 -w -Dalarm=alarm_disabled" CXXFLAGS="-arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.15 -O2 -stdlib=libc++ -w" LDFLAGS="-arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.15 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -Wl,-macosx_version_min,10.15 " GSED=/opt/local/bin/gsed YACC=/usr/local/opt/bison/bin/yacc --with-libiconv-prefix=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr --disable-static --disable-java --disable-csharp --disable-rpath --disable-dependency-tracking --enable-silent-rules --enable-relocatable --with-included-libxml note: ⋯ make -j`sysctl -n hw.ncpu` -l`sysctl -n hw.ncpu` CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/_intermediate/gettext/build-aux/missing autoconf /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_editors_poedit/poedit/work/poedit-2.3.1/build/Deps.build/Release/_intermediate/gettext/build-aux/missing: line 81: autoconf: command not found WARNING: 'autoconf' is missing on your system. You should only need it if you modified 'configure.ac', or m4 files included by it. The 'autoconf' program is part of the GNU Autoconf package: <https://www.gnu.org/software/autoconf/> It also requires GNU m4 and Perl in order to run: <https://www.gnu.org/software/m4/> <https://www.perl.org/> make: *** [configure] Error 127
Must poedit download and build its own copy of gettext? Could it use the MacPorts gettext instead?
Change History (6)
comment:1 Changed 5 years ago by l2dy (Zero King)
comment:2 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Their build does seem pretty convoluted. They also patch gettext. I thought maybe telling their build system to use MacPorts gettext would be easier than fixing their gettext build, but I guess not.
I think the problem is that they're touching configure files first and then touching aclocal.m4 files. If both touches happen to occur during the same clock second then there's no problem, but if the clock advances between the time that the configure files are touched and the time that the aclocal.m4 files are touched, then the configure files are considered older and it will want to rebuild them with autoconf. The fix would be to touch the configure files after the aclocal.m4 files. The order of these touch commands could be changed in deps/build.ninja.
comment:3 follow-up: 4 Changed 5 years ago by l2dy (Zero King)
Is "touch the configure files after the aclocal.m4 files" all we need? These are the files touched before the gettext build, I can submit a PR upstream if swapping the two lines would fix the issue.
build_commands=[ # Prevent automake regeneration: 'touch `find . -name configure`', 'touch `find . -name aclocal.m4`', 'touch `find . -name config.h.in`', 'touch `find . -name Makefile.in`', 'touch `find . -name *.1`', 'touch `find . -name *.3`', 'find . -name *.html -exec touch {} \\;', # Prevent running moopp tool that requires GNU sed and refused to be configured to use gsed: 'touch `find . -name *stream*.[ch]*`', # Prevent running msgfmt: 'touch `find . -name *.gmo`', ] + default_build_commands + [
comment:4 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to l2dy:
Is "touch the configure files after the aclocal.m4 files" all we need?
I think so. If the touches are needed at all (which seems unlikely to me, but I'm not going to argue with them about it) then the important thing is to touch configure after all of its dependencies (which are configure.ac and any .m4 files).
comment:5 Changed 5 years ago by l2dy (Zero King)
Thanks, upstream merged the patch. I'll patch our port and test it on BuildBot.
comment:6 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Great, looks like [848975a46dc674d9b043eb0e599983c365a8f4b4/macports-ports] got a successful build on 10.14 and 10.15.
It still fails on 10.13 and earlier but it's a different reason.
Replying to ryandesign:
It's a race condition in the build process, see https://github.com/vslavik/poedit/issues/502.
Maybe it could, but I don't have time to figure that out.