* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS @ 2018-01-01 12:15 Philipp 2018-01-01 13:13 ` Noam Postavsky 2018-01-01 14:59 ` Alan Third 0 siblings, 2 replies; 20+ messages in thread From: Philipp @ 2018-01-01 12:15 UTC (permalink / raw) To: 29931 There are a few small bugs when building on macOS and not passing the right configure options. 1. When running configure without options, the build fails with an error xml.c:26:10: fatal error: 'libxml/tree.h' file not found #include <libxml/tree.h> ^~~~~~~~~~~~~~~ Apparently configure detects libxml2 to be present, but doesn't set the correct include path. 2. When building with --without-libxml2, the build succeeds, but gives warnings like GEN ../../info/auth.info ./../emacs/docstyle.texi:3: warning: unrecognized encoding name `UTF-8'. This is because macOS ships an ancient version of makeinfo (4.8). It's possible to install a newer version using Homebrew, but that's not in PATH and therefore not found. Maybe configure could also search for makeinfo in the Homebrew directory (/usr/local/opt/texinfo/bin)? In GNU Emacs 27.0.50 (build 1, x86_64-apple-darwin17.3.0, NS appkit-1561.20 Version 10.13.2 (Build 17C88)) of 2018-01-01 built on p Repository revision: d70a841f6a6f8d38620a4025a84c7bd76788531a Windowing system distributor 'Apple', version 10.3.1561 System Description: Mac OS X 10.13.2 Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --without-xml2' Configured features: NOTIFY ACL GNUTLS ZLIB TOOLKIT_SCROLL_BARS NS JSON Important settings: value of $LANG: de_DE.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair time-date tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 204457 9102) (symbols 48 20149 1) (miscs 40 43 191) (strings 32 28873 1569) (string-bytes 1 770488) (vectors 16 35127) (vector-slots 8 719006 13116) (floats 8 48 68) (intervals 56 200 0) (buffers 992 11)) ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 12:15 bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS Philipp @ 2018-01-01 13:13 ` Noam Postavsky 2018-01-01 13:51 ` Philipp Stephani 2018-01-01 14:54 ` Alan Third 2018-01-01 14:59 ` Alan Third 1 sibling, 2 replies; 20+ messages in thread From: Noam Postavsky @ 2018-01-01 13:13 UTC (permalink / raw) To: Philipp; +Cc: 29931 Philipp <p.stephani2@gmail.com> writes: > GEN ../../info/auth.info > ./../emacs/docstyle.texi:3: warning: unrecognized encoding name `UTF-8'. > > This is because macOS ships an ancient version of makeinfo (4.8). Doesn't configure catch this? ## Require makeinfo >= 4.13 (last of the 4.x series) to build the manuals. if test "${MAKEINFO:=makeinfo}" != "no"; then case `($MAKEINFO --version) 2>/dev/null` in *' (GNU texinfo) '4.1[[3-9]]* | \ *' (GNU texinfo) '[[5-9]]* | \ *' (GNU texinfo) '[[1-9][0-9]]* ) ;; *) MAKEINFO=no;; esac fi ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 13:13 ` Noam Postavsky @ 2018-01-01 13:51 ` Philipp Stephani 2018-01-01 14:54 ` Alan Third 1 sibling, 0 replies; 20+ messages in thread From: Philipp Stephani @ 2018-01-01 13:51 UTC (permalink / raw) To: Noam Postavsky; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 962 bytes --] Noam Postavsky <npostavs@users.sourceforge.net> schrieb am Mo., 1. Jan. 2018 um 14:13 Uhr: > Philipp <p.stephani2@gmail.com> writes: > > > GEN ../../info/auth.info > > ./../emacs/docstyle.texi:3: warning: unrecognized encoding name `UTF-8'. > > > > This is because macOS ships an ancient version of makeinfo (4.8). > > Doesn't configure catch this? > > ## Require makeinfo >= 4.13 (last of the 4.x series) to build the > manuals. > if test "${MAKEINFO:=makeinfo}" != "no"; then > case `($MAKEINFO --version) 2>/dev/null` in > *' (GNU texinfo) '4.1[[3-9]]* | \ > *' (GNU texinfo) '[[5-9]]* | \ > *' (GNU texinfo) '[[1-9][0-9]]* ) ;; > *) MAKEINFO=no;; > esac > fi > > Indeed, but only for a fresh checkout. Otherwise configure sees that info/ emacs.info already exists and thinks that it's a release build. Maybe configure could check for .git instead? That should detect a Git clone more reliably. [-- Attachment #2: Type: text/html, Size: 1578 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 13:13 ` Noam Postavsky 2018-01-01 13:51 ` Philipp Stephani @ 2018-01-01 14:54 ` Alan Third 1 sibling, 0 replies; 20+ messages in thread From: Alan Third @ 2018-01-01 14:54 UTC (permalink / raw) To: Noam Postavsky; +Cc: Philipp, 29931 On Mon, Jan 01, 2018 at 08:13:03AM -0500, Noam Postavsky wrote: > Philipp <p.stephani2@gmail.com> writes: > > > GEN ../../info/auth.info > > ./../emacs/docstyle.texi:3: warning: unrecognized encoding name `UTF-8'. > > > > This is because macOS ships an ancient version of makeinfo (4.8). > > Doesn't configure catch this? > > ## Require makeinfo >= 4.13 (last of the 4.x series) to build the manuals. > if test "${MAKEINFO:=makeinfo}" != "no"; then > case `($MAKEINFO --version) 2>/dev/null` in > *' (GNU texinfo) '4.1[[3-9]]* | \ > *' (GNU texinfo) '[[5-9]]* | \ > *' (GNU texinfo) '[[1-9][0-9]]* ) ;; > *) MAKEINFO=no;; > esac > fi It looks to me like this test is almost immediately circumvented by: if test "$MAKEINFO" = "no"; then MAKEINFO=makeinfo configure only throws up an error message if you don’t already have info/emacs.info in your build tree, and I’d guess Philipp has them from before the check for 4.13 was implemented (December 2016). -- Alan Third ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 12:15 bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS Philipp 2018-01-01 13:13 ` Noam Postavsky @ 2018-01-01 14:59 ` Alan Third 2018-01-01 15:05 ` Philipp Stephani 1 sibling, 1 reply; 20+ messages in thread From: Alan Third @ 2018-01-01 14:59 UTC (permalink / raw) To: Philipp; +Cc: 29931 On Mon, Jan 01, 2018 at 01:15:09PM +0100, Philipp wrote: > > There are a few small bugs when building on macOS and not passing the > right configure options. > > 1. When running configure without options, the build fails with an error > > xml.c:26:10: fatal error: 'libxml/tree.h' file not found > #include <libxml/tree.h> > ^~~~~~~~~~~~~~~ > > Apparently configure detects libxml2 to be present, but doesn't set the > correct include path. This works fine here. Is it possible this was introduced by macOS 10.13? Do you see the file in /usr/include/libxml2/libxml/? > 2. When building with --without-libxml2, the build succeeds, but gives > warnings like > > GEN ../../info/auth.info > ./../emacs/docstyle.texi:3: warning: unrecognized encoding name `UTF-8'. > > This is because macOS ships an ancient version of makeinfo (4.8). It's > possible to install a newer version using Homebrew, but that's not in > PATH and therefore not found. Maybe configure could also search for > makeinfo in the Homebrew directory (/usr/local/opt/texinfo/bin)? I’d think it’s the user’s responsibility to make sure /usr/local/bin is on their path if they want to use homebrew stuff? -- Alan Third ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 14:59 ` Alan Third @ 2018-01-01 15:05 ` Philipp Stephani 2018-01-01 15:12 ` Philipp Stephani 2018-01-01 15:48 ` Alan Third 0 siblings, 2 replies; 20+ messages in thread From: Philipp Stephani @ 2018-01-01 15:05 UTC (permalink / raw) To: Alan Third; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 2176 bytes --] Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 15:59 Uhr: > On Mon, Jan 01, 2018 at 01:15:09PM +0100, Philipp wrote: > > > > There are a few small bugs when building on macOS and not passing the > > right configure options. > > > > 1. When running configure without options, the build fails with an error > > > > xml.c:26:10: fatal error: 'libxml/tree.h' file not found > > #include <libxml/tree.h> > > ^~~~~~~~~~~~~~~ > > > > Apparently configure detects libxml2 to be present, but doesn't set the > > correct include path. > > This works fine here. Is it possible this was introduced by macOS > 10.13? > > Do you see the file in /usr/include/libxml2/libxml/? > No, /usr/include doesn't exist at all on my system. The include directory is /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include. > > > 2. When building with --without-libxml2, the build succeeds, but gives > > warnings like > > > > GEN ../../info/auth.info > > ./../emacs/docstyle.texi:3: warning: unrecognized encoding name `UTF-8'. > > > > This is because macOS ships an ancient version of makeinfo (4.8). It's > > possible to install a newer version using Homebrew, but that's not in > > PATH and therefore not found. Maybe configure could also search for > > makeinfo in the Homebrew directory (/usr/local/opt/texinfo/bin)? > > I’d think it’s the user’s responsibility to make sure /usr/local/bin > is on their path if they want to use homebrew stuff? > > /usr/local/bin doesn't contain makeinfo when installed via Homebrew. This is intentional; `brew info texinfo` says ==> *Caveats* This formula is keg-only, which means it was not symlinked into /usr/local, because software that uses TeX, such as lilypond and octave, require a newer version of these files. If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/texinfo/bin:$PATH"' >> ~/.bash_profile I can obviously do that or set MAKEINFO explicitly when invoking configure, but it would be nice if configure detected this situation automatically. [-- Attachment #2: Type: text/html, Size: 3414 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 15:05 ` Philipp Stephani @ 2018-01-01 15:12 ` Philipp Stephani 2018-01-01 15:53 ` Alan Third 2018-01-01 15:48 ` Alan Third 1 sibling, 1 reply; 20+ messages in thread From: Philipp Stephani @ 2018-01-01 15:12 UTC (permalink / raw) To: Alan Third; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 1259 bytes --] Philipp Stephani <p.stephani2@gmail.com> schrieb am Mo., 1. Jan. 2018 um 16:05 Uhr: > Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 15:59 Uhr: > >> On Mon, Jan 01, 2018 at 01:15:09PM +0100, Philipp wrote: >> > >> > There are a few small bugs when building on macOS and not passing the >> > right configure options. >> > >> > 1. When running configure without options, the build fails with an error >> > >> > xml.c:26:10: fatal error: 'libxml/tree.h' file not found >> > #include <libxml/tree.h> >> > ^~~~~~~~~~~~~~~ >> > >> > Apparently configure detects libxml2 to be present, but doesn't set the >> > correct include path. >> >> This works fine here. Is it possible this was introduced by macOS >> 10.13? >> >> Do you see the file in /usr/include/libxml2/libxml/? >> > > No, /usr/include doesn't exist at all on my system. The include directory > is > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include. > `xcode-select --install` does add a /usr/include directory. If `xcode-select --install` is necessary for building Emacs, should configure error out if it hasn't been run? However, all other parts of the build process seem to work fine without `xcode-select --install`. [-- Attachment #2: Type: text/html, Size: 2034 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 15:12 ` Philipp Stephani @ 2018-01-01 15:53 ` Alan Third 2018-01-02 12:10 ` Alan Third 2018-01-02 19:51 ` Philipp Stephani 0 siblings, 2 replies; 20+ messages in thread From: Alan Third @ 2018-01-01 15:53 UTC (permalink / raw) To: Philipp Stephani; +Cc: 29931 On Mon, Jan 01, 2018 at 03:12:57PM +0000, Philipp Stephani wrote: > Philipp Stephani <p.stephani2@gmail.com> schrieb am Mo., 1. Jan. 2018 um > 16:05 Uhr: > > > Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 15:59 Uhr: > > > >> On Mon, Jan 01, 2018 at 01:15:09PM +0100, Philipp wrote: > >> > > >> > There are a few small bugs when building on macOS and not passing the > >> > right configure options. > >> > > >> > 1. When running configure without options, the build fails with an error > >> > > >> > xml.c:26:10: fatal error: 'libxml/tree.h' file not found > >> > #include <libxml/tree.h> > >> > ^~~~~~~~~~~~~~~ > >> > > >> > Apparently configure detects libxml2 to be present, but doesn't set the > >> > correct include path. > >> > >> This works fine here. Is it possible this was introduced by macOS > >> 10.13? > >> > >> Do you see the file in /usr/include/libxml2/libxml/? > >> > > > > No, /usr/include doesn't exist at all on my system. The include directory > > is > > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include. > > > > `xcode-select --install` does add a /usr/include directory. If > `xcode-select --install` is necessary for building Emacs, should configure > error out if it hasn't been run? > However, all other parts of the build process seem to work fine without > `xcode-select --install`. Can you please run xcrun --show-sdk-path And see if it returns something useful? On my machine it returns nothing at all, but I don’t have the full xcode installed. -- Alan Third ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 15:53 ` Alan Third @ 2018-01-02 12:10 ` Alan Third 2018-01-02 20:03 ` Philipp Stephani 2018-01-02 19:51 ` Philipp Stephani 1 sibling, 1 reply; 20+ messages in thread From: Alan Third @ 2018-01-02 12:10 UTC (permalink / raw) To: Philipp Stephani; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 367 bytes --] On Mon, Jan 01, 2018 at 03:53:59PM +0000, Alan Third wrote: > Can you please run > > xcrun --show-sdk-path > > And see if it returns something useful? On my machine it returns > nothing at all, but I don’t have the full xcode installed. Actually, I think I’ve found the bug. I’ve attached a patch that will hopefully fix both your issues. -- Alan Third [-- Attachment #2: 0001-Fix-build-issues-on-macOS-bug-29931.patch --] [-- Type: text/plain, Size: 1618 bytes --] From aa1600509e188f3423943b4220a1faa210e356a2 Mon Sep 17 00:00:00 2001 From: Alan Third <alan@idiocy.org> Date: Mon, 1 Jan 2018 15:44:24 +0000 Subject: [PATCH] Fix build issues on macOS (bug#29931) * configure.ac: On darwin add check for Homebrew texinfo install, and fix incorrect quoting of libxml2 includes. --- configure.ac | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index ec1418b99e..cc514710dc 100644 --- a/configure.ac +++ b/configure.ac @@ -1267,6 +1267,13 @@ AC_DEFUN AC_SUBST([PAXCTL_dumped]) AC_SUBST([PAXCTL_notdumped]) +# Makeinfo on macOS is ancient, check whether there is a more recent +# version installed by Homebrew. +if test "${opsys}" = darwin && test -z ${MAKEINFO} && \ + test -d "/usr/local/opt/texinfo/bin"; then + MAKEINFO=/usr/local/opt/texinfo/bin/makeinfo +fi + ## Require makeinfo >= 4.13 (last of the 4.x series) to build the manuals. if test "${MAKEINFO:=makeinfo}" != "no"; then case `($MAKEINFO --version) 2>/dev/null` in @@ -3881,13 +3888,13 @@ AC_DEFUN xcsdkdir="" ;; esac fi - CPPFLAGS="$CPPFLAGS -I$xcsdkdir/usr/include/libxml2" + CPPFLAGS="$CPPFLAGS -I${xcsdkdir}/usr/include/libxml2" AC_CHECK_HEADER(libxml/HTMLparser.h, [AC_CHECK_DECL(HTML_PARSE_RECOVER, HAVE_LIBXML2=yes, , [#include <libxml/HTMLparser.h>])]) CPPFLAGS="$SAVE_CPPFLAGS" if test "${HAVE_LIBXML2}" = "yes"; then - LIBXML2_CFLAGS="-I'$xcsdkdir/usr/include/libxml2'" + LIBXML2_CFLAGS="-I${xcsdkdir}/usr/include/libxml2" LIBXML2_LIBS="-lxml2" fi fi -- 2.14.3 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-02 12:10 ` Alan Third @ 2018-01-02 20:03 ` Philipp Stephani 2018-01-02 21:51 ` Alan Third 0 siblings, 1 reply; 20+ messages in thread From: Philipp Stephani @ 2018-01-02 20:03 UTC (permalink / raw) To: Alan Third; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 676 bytes --] Alan Third <alan@idiocy.org> schrieb am Di., 2. Jan. 2018 um 13:10 Uhr: > On Mon, Jan 01, 2018 at 03:53:59PM +0000, Alan Third wrote: > > Can you please run > > > > xcrun --show-sdk-path > > > > And see if it returns something useful? On my machine it returns > > nothing at all, but I don’t have the full xcode installed. > > Actually, I think I’ve found the bug. I’ve attached a patch that will > hopefully fix both your issues. > > Thanks, the patch for libxml2 looks correct. I can't test it now, because I've already run xcode-select --install, and there's no easy way to revert that. Probably this should use -isystem instead of -I, though. [-- Attachment #2: Type: text/html, Size: 1003 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-02 20:03 ` Philipp Stephani @ 2018-01-02 21:51 ` Alan Third 0 siblings, 0 replies; 20+ messages in thread From: Alan Third @ 2018-01-02 21:51 UTC (permalink / raw) To: Philipp Stephani; +Cc: 29931 On Tue, Jan 02, 2018 at 08:03:31PM +0000, Philipp Stephani wrote: > Thanks, the patch for libxml2 looks correct. I can't test it now, because > I've already run xcode-select --install, and there's no easy way to revert > that. It works if you remove the EMACS_CHECK_MODULES line just above the change, when it didn’t before, so I’m pretty confident in it. > Probably this should use -isystem instead of -I, though. Having looked it up, I agree. I’ve made the change in my local copy. -- Alan Third ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 15:53 ` Alan Third 2018-01-02 12:10 ` Alan Third @ 2018-01-02 19:51 ` Philipp Stephani 1 sibling, 0 replies; 20+ messages in thread From: Philipp Stephani @ 2018-01-02 19:51 UTC (permalink / raw) To: Alan Third; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 2021 bytes --] Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 16:54 Uhr: > On Mon, Jan 01, 2018 at 03:12:57PM +0000, Philipp Stephani wrote: > > Philipp Stephani <p.stephani2@gmail.com> schrieb am Mo., 1. Jan. 2018 um > > 16:05 Uhr: > > > > > Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 15:59 > Uhr: > > > > > >> On Mon, Jan 01, 2018 at 01:15:09PM +0100, Philipp wrote: > > >> > > > >> > There are a few small bugs when building on macOS and not passing > the > > >> > right configure options. > > >> > > > >> > 1. When running configure without options, the build fails with an > error > > >> > > > >> > xml.c:26:10: fatal error: 'libxml/tree.h' file not found > > >> > #include <libxml/tree.h> > > >> > ^~~~~~~~~~~~~~~ > > >> > > > >> > Apparently configure detects libxml2 to be present, but doesn't set > the > > >> > correct include path. > > >> > > >> This works fine here. Is it possible this was introduced by macOS > > >> 10.13? > > >> > > >> Do you see the file in /usr/include/libxml2/libxml/? > > >> > > > > > > No, /usr/include doesn't exist at all on my system. The include > directory > > > is > > > > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include. > > > > > > > `xcode-select --install` does add a /usr/include directory. If > > `xcode-select --install` is necessary for building Emacs, should > configure > > error out if it hasn't been run? > > However, all other parts of the build process seem to work fine without > > `xcode-select --install`. > > Can you please run > > xcrun --show-sdk-path > > And see if it returns something useful? On my machine it returns > nothing at all, but I don’t have the full xcode installed. > > It prints the correct directory: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk That is, `xcrun --show-sdk-path`/usr/include/libxml2 contains the required header files. [-- Attachment #2: Type: text/html, Size: 2794 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 15:05 ` Philipp Stephani 2018-01-01 15:12 ` Philipp Stephani @ 2018-01-01 15:48 ` Alan Third 2018-01-02 19:42 ` Philipp Stephani 2018-01-02 19:48 ` Philipp Stephani 1 sibling, 2 replies; 20+ messages in thread From: Alan Third @ 2018-01-01 15:48 UTC (permalink / raw) To: Philipp Stephani; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 867 bytes --] On Mon, Jan 01, 2018 at 03:05:02PM +0000, Philipp Stephani wrote: > Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 15:59 Uhr: > > > I’d think it’s the user’s responsibility to make sure /usr/local/bin > > is on their path if they want to use homebrew stuff? > > > > > /usr/local/bin doesn't contain makeinfo when installed via Homebrew. This > is intentional; `brew info texinfo` says <snip> > If you need to have this software first in your PATH run: > echo 'export PATH="/usr/local/opt/texinfo/bin:$PATH"' >> ~/.bash_profile > > I can obviously do that or set MAKEINFO explicitly when invoking configure, > but it would be nice if configure detected this situation automatically. Ah, I think I must have linked it into /usr/local/bin myself. Do you have any idea if other packaging tools do similar things? Patch attached. -- Alan Third [-- Attachment #2: 0001-Use-Homebrew-installed-makeinfo-if-it-exists-bug-299.patch --] [-- Type: text/plain, Size: 998 bytes --] From 6fe03f8c62a063866504ef1c746ac01305b53890 Mon Sep 17 00:00:00 2001 From: Alan Third <alan@idiocy.org> Date: Mon, 1 Jan 2018 15:44:24 +0000 Subject: [PATCH] Use Homebrew installed makeinfo if it exists (bug#29931) * configure.ac: Add check for Homebrew texinfo install on darwin. --- configure.ac | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/configure.ac b/configure.ac index ec1418b99e..e695e0d791 100644 --- a/configure.ac +++ b/configure.ac @@ -1267,6 +1267,13 @@ AC_DEFUN AC_SUBST([PAXCTL_dumped]) AC_SUBST([PAXCTL_notdumped]) +# Makeinfo on macOS is ancient, check whether there is a more recent +# version installed by Homebrew. +if test "${opsys}" = darwin && test -z ${MAKEINFO} && \ + test -d "/usr/local/opt/texinfo/bin"; then + MAKEINFO=/usr/local/opt/texinfo/bin/makeinfo +fi + ## Require makeinfo >= 4.13 (last of the 4.x series) to build the manuals. if test "${MAKEINFO:=makeinfo}" != "no"; then case `($MAKEINFO --version) 2>/dev/null` in -- 2.14.3 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 15:48 ` Alan Third @ 2018-01-02 19:42 ` Philipp Stephani 2018-01-02 19:48 ` Philipp Stephani 1 sibling, 0 replies; 20+ messages in thread From: Philipp Stephani @ 2018-01-02 19:42 UTC (permalink / raw) To: Alan Third; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 1158 bytes --] Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 16:48 Uhr: > On Mon, Jan 01, 2018 at 03:05:02PM +0000, Philipp Stephani wrote: > > Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 15:59 Uhr: > > > > > I’d think it’s the user’s responsibility to make sure /usr/local/bin > > > is on their path if they want to use homebrew stuff? > > > > > > > > /usr/local/bin doesn't contain makeinfo when installed via Homebrew. This > > is intentional; `brew info texinfo` says > <snip> > > If you need to have this software first in your PATH run: > > echo 'export PATH="/usr/local/opt/texinfo/bin:$PATH"' >> > ~/.bash_profile > > > > I can obviously do that or set MAKEINFO explicitly when invoking > configure, > > but it would be nice if configure detected this situation automatically. > > Ah, I think I must have linked it into /usr/local/bin myself. > > Do you have any idea if other packaging tools do similar things? > > No idea. Do you have an overview how important other package managers are these days? It seems to me that Homebrew is by far the most popular one, but I don't have any statistics. [-- Attachment #2: Type: text/html, Size: 1606 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-01 15:48 ` Alan Third 2018-01-02 19:42 ` Philipp Stephani @ 2018-01-02 19:48 ` Philipp Stephani 2018-01-02 19:49 ` Philipp Stephani 2018-01-02 20:04 ` Eli Zaretskii 1 sibling, 2 replies; 20+ messages in thread From: Philipp Stephani @ 2018-01-02 19:48 UTC (permalink / raw) To: Alan Third; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 172 bytes --] Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 16:48 Uhr: > Patch attached. > > Thanks. Maybe just do 'test -x /.../makeinfo' to test for the file directly? [-- Attachment #2: Type: text/html, Size: 454 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-02 19:48 ` Philipp Stephani @ 2018-01-02 19:49 ` Philipp Stephani 2018-01-02 20:04 ` Eli Zaretskii 1 sibling, 0 replies; 20+ messages in thread From: Philipp Stephani @ 2018-01-02 19:49 UTC (permalink / raw) To: Alan Third; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 389 bytes --] Philipp Stephani <p.stephani2@gmail.com> schrieb am Di., 2. Jan. 2018 um 20:48 Uhr: > > > Alan Third <alan@idiocy.org> schrieb am Mo., 1. Jan. 2018 um 16:48 Uhr: > >> Patch attached. >> >> > Thanks. Maybe just do 'test -x /.../makeinfo' to test for the file > directly? > Also, please quote the variable substitution ("${MAKEINFO}"). OTOH, there's no need to quote the literal filename. [-- Attachment #2: Type: text/html, Size: 959 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-02 19:48 ` Philipp Stephani 2018-01-02 19:49 ` Philipp Stephani @ 2018-01-02 20:04 ` Eli Zaretskii 2018-01-02 20:19 ` Alan Third 1 sibling, 1 reply; 20+ messages in thread From: Eli Zaretskii @ 2018-01-02 20:04 UTC (permalink / raw) To: Philipp Stephani; +Cc: alan, 29931 > From: Philipp Stephani <p.stephani2@gmail.com> > Date: Tue, 02 Jan 2018 19:48:45 +0000 > Cc: 29931@debbugs.gnu.org > > Maybe just do 'test -x /.../makeinfo' to test for the file directly? ISTR that the -x switch to 'test' is non-portable. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-02 20:04 ` Eli Zaretskii @ 2018-01-02 20:19 ` Alan Third 2018-01-02 21:24 ` Alan Third 0 siblings, 1 reply; 20+ messages in thread From: Alan Third @ 2018-01-02 20:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Philipp Stephani, 29931 On Tue, Jan 02, 2018 at 10:04:37PM +0200, Eli Zaretskii wrote: > > From: Philipp Stephani <p.stephani2@gmail.com> > > Date: Tue, 02 Jan 2018 19:48:45 +0000 > > Cc: 29931@debbugs.gnu.org > > > > Maybe just do 'test -x /.../makeinfo' to test for the file directly? > > ISTR that the -x switch to 'test' is non-portable. I’m not sure how portable this test needs to be since it should only run on darwin: if test "${opsys}" = darwin && test -z "${MAKEINFO}" && \ test -x /usr/local/opt/texinfo/bin/makeinfo; then -- Alan Third ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-02 20:19 ` Alan Third @ 2018-01-02 21:24 ` Alan Third 2018-01-07 14:05 ` Philipp Stephani 0 siblings, 1 reply; 20+ messages in thread From: Alan Third @ 2018-01-02 21:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Philipp Stephani, 29931 [-- Attachment #1: Type: text/plain, Size: 536 bytes --] On Tue, Jan 02, 2018 at 08:19:00PM +0000, Alan Third wrote: > I’m not sure how portable this test needs to be since it should only > run on darwin: > > if test "${opsys}" = darwin && test -z "${MAKEINFO}" && \ > test -x /usr/local/opt/texinfo/bin/makeinfo; then I’ve done some investigation and come up with a version that uses autoconfig macros. I also looked into macports and it seems it always includes everything you’ve installed, unlike homebrew, so we shouldn’t run into this issue with it. -- Alan Third [-- Attachment #2: 0001-Fix-build-issues-on-macOS-bug-29931.patch --] [-- Type: text/plain, Size: 1656 bytes --] From b8d2de82a3ee3faa72ad54d68a00cec95370f504 Mon Sep 17 00:00:00 2001 From: Alan Third <alan@idiocy.org> Date: Mon, 1 Jan 2018 15:44:24 +0000 Subject: [PATCH] Fix build issues on macOS (bug#29931) * configure.ac: On darwin add check for Homebrew texinfo install, and fix incorrect quoting of libxml2 includes. --- configure.ac | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 4c2644b11d..26f01cad13 100644 --- a/configure.ac +++ b/configure.ac @@ -1267,6 +1267,14 @@ AC_DEFUN AC_SUBST([PAXCTL_dumped]) AC_SUBST([PAXCTL_notdumped]) +# Makeinfo on macOS is ancient, check whether there is a more recent +# version installed by Homebrew. +AC_CHECK_PROG(HAVE_BREW, [brew], [yes]) +if test -n "$HAVE_BREW"; then + AC_PATH_PROG([MAKEINFO], [makeinfo], [], + [`brew --prefix 2>/dev/null`/opt/texinfo/bin$PATH_SEPARATOR$PATH]) +fi + ## Require makeinfo >= 4.13 (last of the 4.x series) to build the manuals. if test "${MAKEINFO:=makeinfo}" != "no"; then case `($MAKEINFO --version) 2>/dev/null` in @@ -3881,13 +3889,13 @@ AC_DEFUN xcsdkdir="" ;; esac fi - CPPFLAGS="$CPPFLAGS -I$xcsdkdir/usr/include/libxml2" + CPPFLAGS="$CPPFLAGS -I${xcsdkdir}/usr/include/libxml2" AC_CHECK_HEADER(libxml/HTMLparser.h, [AC_CHECK_DECL(HTML_PARSE_RECOVER, HAVE_LIBXML2=yes, , [#include <libxml/HTMLparser.h>])]) CPPFLAGS="$SAVE_CPPFLAGS" if test "${HAVE_LIBXML2}" = "yes"; then - LIBXML2_CFLAGS="-I'$xcsdkdir/usr/include/libxml2'" + LIBXML2_CFLAGS="-I${xcsdkdir}/usr/include/libxml2" LIBXML2_LIBS="-lxml2" fi fi -- 2.14.3 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS 2018-01-02 21:24 ` Alan Third @ 2018-01-07 14:05 ` Philipp Stephani 0 siblings, 0 replies; 20+ messages in thread From: Philipp Stephani @ 2018-01-07 14:05 UTC (permalink / raw) To: Alan Third; +Cc: 29931 [-- Attachment #1: Type: text/plain, Size: 589 bytes --] Alan Third <alan@idiocy.org> schrieb am Di., 2. Jan. 2018 um 22:25 Uhr: > On Tue, Jan 02, 2018 at 08:19:00PM +0000, Alan Third wrote: > > I’m not sure how portable this test needs to be since it should only > > run on darwin: > > > > if test "${opsys}" = darwin && test -z "${MAKEINFO}" && \ > > test -x /usr/local/opt/texinfo/bin/makeinfo; then > > I’ve done some investigation and come up with a version that uses > autoconfig macros. > > Thanks, that works as well. You could even use `brew --prefix texinfo` to get more parts of the path from Homebrew. [-- Attachment #2: Type: text/html, Size: 940 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2018-01-07 14:05 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-01-01 12:15 bug#29931: 27.0.50; Slightly suboptimal build behavior on macOS Philipp 2018-01-01 13:13 ` Noam Postavsky 2018-01-01 13:51 ` Philipp Stephani 2018-01-01 14:54 ` Alan Third 2018-01-01 14:59 ` Alan Third 2018-01-01 15:05 ` Philipp Stephani 2018-01-01 15:12 ` Philipp Stephani 2018-01-01 15:53 ` Alan Third 2018-01-02 12:10 ` Alan Third 2018-01-02 20:03 ` Philipp Stephani 2018-01-02 21:51 ` Alan Third 2018-01-02 19:51 ` Philipp Stephani 2018-01-01 15:48 ` Alan Third 2018-01-02 19:42 ` Philipp Stephani 2018-01-02 19:48 ` Philipp Stephani 2018-01-02 19:49 ` Philipp Stephani 2018-01-02 20:04 ` Eli Zaretskii 2018-01-02 20:19 ` Alan Third 2018-01-02 21:24 ` Alan Third 2018-01-07 14:05 ` Philipp Stephani
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.