Re: [PATCH v2] macos: do let the build find the gettext headers/libraries/msgfmt
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Apr 26, 2020, 17:05 UTC
- Message-ID
- <20200426170508.6uaexvcmorj2ntv3@tb-raspi4>
- In-Reply-To
- <pull.616.v2.git.1587819266388.gitgitgadget@gmail.com>
On Sat, Apr 25, 2020 at 12:54:26PM +0000, Johannes Schindelin via GitGitGadget wrote:
Show 19 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de> > > Apparently a recent Homebrew update now installs `gettext` into a > subdirectory under /usr/local/, requiring the CFLAGS/LDFLAGS to list > explicit directories _even_ when asking to force-link the `gettext` > package. > > Likewise, the `msgfmt` tool is no longer in the `PATH`. > > While it is unclear which change is responsible for this breakage (that > most notably only occurs on CI build agents that updated very recently), > https://github.com/Homebrew/homebrew-core/pull/53489 should fix it. > > Nevertheless, let's work around this issue, as there are still quite a > few build agents out there that need some help in this regard: we > explicitly do not call `brew update` in our CI/PR builds anymore. > > Helped-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
It seems as if things are happening fast in the brew-business. After debugging (on a local box) and travis-ing (remote) I may have a suggestion for a better commit-message - I can probably send that out as a patch later today. What do you think ?
================================================================= MacOs/brew: Let the build find gettext headers/libraries/msgfmt
Apparently a recent Homebrew update now installs `gettext` into the subdirectory /usr/local/opt/gettext/[lib/include].
Sometimes the ci job succeeds: brew link --force gettext Linking /usr/local/Cellar/gettext/0.20.1... 179 symlinks created
And sometimes installing the package "gettext" with force-link fails: brew link --force gettext Warning: Refusing to link macOS provided/shadowed software: gettext If you need to have gettext first in your PATH run: echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
(And the is not the final word either, since MacOs itself says: The default interactive shell is now zsh.)
Anyway, The latter requires CFLAGS to include /usr/local/opt/gettext/include and LDFLAGS to include /usr/local/opt/gettext/lib.
Likewise, the `msgfmt` tool is no longer in the `PATH`.
While it is unclear which change is responsible for this breakage (that most notably only occurs on CI build agents that updated very recently), https://github.com/Homebrew/homebrew-core/pull/53489 has fixed it.
Nevertheless, let's work around this issue, as there are still quite a few build agents out there that need some help in this regard: we explicitly do not call `brew update` in our CI/PR builds anymore.
Helped-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>