homebrew-core
homebrew-core copied to clipboard
icu4c 71.1
- [x] Have you followed the guidelines for contributing?
- [x] Have you ensured that your commits follow the commit style guide?
- [x] Have you checked that there aren't other open pull requests for the same formula update/change?
- [ ] Have you built your formula locally with
brew install --build-from-source <formula>, where<formula>is the name of the formula you're submitting? - [ ] Is your test running fine
brew test <formula>, where<formula>is the name of the formula you're submitting? - [ ] Does your build pass
brew audit --strict <formula>(after doingbrew install --build-from-source <formula>)? If this is a new formula, does it passbrew audit --new <formula>?
Looks like there's no ICU-specific concerns here, just some build issues with Xcode 13.3. I've already fixed all of them in my local branch.
As per last time, I will not be revision bumping texlive in this pull request.
Just a few things to clean up:
- MPD requires upstreaming a patch first - I'll do that soon.
- Ideally we'd also sort out the Qt5 issue described in #98765 but this is not a blocker - just nice to avoid two revision bumps.
- Decide on a merge technique - do we try the code-owners method I suggested previously?
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
This is waiting for a solution on how we built Qt5 on macOS 12.3+. I think that's the only blocker left (+ my previous comment)
qt@5 was updated to 5.15.5 in #103229
12-arm64:
Error: 8 failed steps!
brew install --verbose --build-bottle couchdb
brew install --verbose --build-bottle mysql
brew test --verbose node@12
brew install --verbose --build-bottle percona-xtrabackup
brew bottle --verbose --json postgresql --only-json-tab
brew audit qt@5 --git --skip-style
brew install --verbose --build-bottle swift
brew install --verbose --build-bottle vte3
11-arm64:
Error: 6 failed steps!
brew install --verbose --build-bottle couchdb
brew install --verbose --build-bottle mysql
brew install --verbose --build-bottle percona-xtrabackup
brew bottle --verbose --json postgresql --only-json-tab
brew audit qt@5 --git --skip-style
brew install --verbose --build-bottle vte3
Also lots of linkage failures, etc, for dependents. We can ignore node@12. The qt@5 audit failure is
qt@5:
* revisions should only increment by 1
Hmm seems this has regressed over time rather than improved.
couchdb looks like a pre-existing erlang version problem. We should try fix that in a separate PR (so we can test easier if it works), merge that (or cherry-pick it back here) and try again here when done.
mysql apparently just refuses to build now if Homebrew boost is installed which is bizarre and we'll need to sort that out by whatever means/hacks necessary (not conflicts_with).
percona-xtrabackup conflict with percona-server yet again... I'll look into how that's happened but we may need to test that scenario more often.
postgresql is a brew bottle bug. I think we have a workaround in some versioned PostgreSQL formula but we should probably fix it properly.
swift - I'll look into this since I've been maintaining this formula.
vte3 - need to cherry-pick #98909 instead of revision bumping. I forgot to fixup and merge that PR a few weeks ago - sorry!
Also lots of linkage failures, etc, for dependents.
Looks like some commits went missing in the rebase (--empty=ask helps but even then you need to be careful). I probably still have them locally so I should have a list of missing ones. Or check https://github.com/Homebrew/homebrew-core/commits/a50b12692cae71ce74ab945594aa9d00e726dca7 I guesss.
Let's not cherry pick any fixes into this PR, that only delays them. If we need a fix for something we have a better chance in a new PR.
I suggest dropping ICU support from [email protected] (probably in a separate PR) to avoid having to rev bump it with every icu4c update.
Monterey ARM failures:
Error: 8 failed steps!
brew test --verbose libxml2
brew bottle --verbose --json postgresql --only-json-tab
brew install --verbose --build-bottle couchdb
brew install --verbose --build-bottle gspell
brew test --verbose node@12
brew install --verbose --build-bottle tepl
brew install --verbose --build-bottle tracker
brew install --verbose --build-bottle vte3
Summary of unique failures:
- [x]
libxml2-- I think https://github.com/Homebrew/brew/pull/13533 may have brokelibxml2as brew doesn't always pick a specific Python when multiple Python are in build environment (e.g. In other PRs, I think I've seen macOS prioritize[email protected]while Linux prioritize[email protected]). - [ ]
postgresql--PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/is getting burned into binaries maybe due toCONFIGURE_ARGSmacro used insrc/common/config_info.c - [ ]
couchdb-- we've seen this failure happen sporadically. As mentioned in #105876, it failed in 25.0.1 attempt, but went away in 25.0.2 attempt, and now returned in 25.0.3 attempt. No idea at this point, but thinking some issue withrebarv2 and Erlang 25, so maybe a temporary workaround oferlang@24may work. - [ ]
node@12-- same issue seen innode@14where the particular old copy ofgyp-mac-toolhas a#!/usr/bin/env python. Innode@14, I went with a test-only PATH workaround (#104172), though wasn't sure if an env-script would have been better.
Following are all due to glib/glib-utils split. Needs depends_on "glib-utils" => :build to use glib-mkenums:
- [x]
gspell-- Interestingly, configure detects that it is missing (checking for glib-mkenums... no), but build doesn't fail until it tries to run$(GLIB_MKENUMS) --template ... - [x]
tepl - [x]
tracker - [x]
vte
I'll start working on those. I'd argue however that those do not need to delay this merge since they're unrelated to icu4c.
I'd argue however that those do not need to delay this merge since they're unrelated to icu4c.
Normally I'd agree but merging this will break the bottles for those formulae, so we have to fix at least the ones modified in this PR.
I merged #106485 in the meantime, since this doesn't look ready to merge.
- Fixes for
gspell,tepl,tracker,vte3in #106768 - Workaround for
couchdbin #106767 node@10will be dropped on Monterey due to Python 2 requirement, but it has been over a year since deprecation date so not too important.- [ ] This leaves
postgresqlandnode@12to avoid dropping bottles on Monterey. Probably better to do quick fix before next run. - [ ] New build failure for
mysql(also merge conflict). May be due toboostin build environmentWITH_ICU=system is not compatible with Homebrew boost. If it still fails with latest version, may need to see if possible to avoidboostdetection or just fix linkage in separate PR. - [ ] Linux had some other linkage failures in previous run https://github.com/Homebrew/homebrew-core/runs/7495559761?check_suite_focus=true
poacFull linkage --test poac output Missing libraries: unexpected (libicudata.so.70)unarFull linkage --test unar output Missing libraries: unexpected (libicuuc.so.70)
mysql build checks for Homebrew installation of boost and doesn't seem to provide a way around https://github.com/mysql/mysql-server/blob/mysql-8.0.30/CMakeLists.txt#L1930-L1935
IF(APPLE)
GET_FILENAME_COMPONENT(HOMEBREW_BASE ${HOMEBREW_HOME} DIRECTORY)
IF(EXISTS ${HOMEBREW_BASE}/include/boost)
FOREACH(SYSTEM_LIB ICU LIBEVENT LZ4 PROTOBUF ZSTD FIDO)
IF(WITH_${SYSTEM_LIB} STREQUAL "system")
MESSAGE(FATAL_ERROR
May be easier to leave broken linkage and fix afterward in PR without boost.
Would be nicer to improve build scripts to avoid failing if boost was installed.
Or would be useful to have a
conflicts_with "boost" => :build
maybe. But I guess it's not too common. We could unlink boost manually in the formula...
For other issues outside of mysql:
- [x]
node@12- #106879 - [ ]
postgresql- this seems to be related to thestrings-option. Part of line is missing from output when reading all bytes rather than default looking in sections https://github.com/Homebrew/brew/blob/master/Library/Homebrew/keg_relocate.rb#L330❯ strings bin/postgres | rg PKG_CONFIG | tr ' ' '\n' | rg PKG_CONFIG 'PKG_CONFIG_PATH=/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/[email protected]/lib/pkgconfig:/opt/homebrew/opt/krb5/lib/pkgconfig:/opt/homebrew/opt/lz4/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/Homebrew/os/mac/pkgconfig/12' ❯ strings - bin/postgres | rg PKG_CONFIG | tr ' ' '\n' | rg PKG_CONFIG 'PKG_CONFIG_PATH=/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/[email protected]/lib/pkgconfig:/opt/homebrew/opt/krb5/lib/pkgconfig:/opt/homebrew/opt/lz4/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/
llvm now has linkage with icu4c on Linux now that libxml2 depends on icu4c, which is a pretty huge nightmare.
I'm probably going to disable libxml2 in llvm at the next rebuild.
Rebase necessary for:
mysql, r, freeciv, libphonenumber
Since this PR already requires a rebase I'm going to merge https://github.com/Homebrew/homebrew-core/pull/107797 with conflicting mapnik
UPD: Done!
ARM Monterey failures:
Error: 10 failed steps!
brew install --verbose --build-bottle spidermonkey
brew bottle --verbose --json postgresql --only-json-tab
brew install --build-from-source spidermonkey
brew install --only-dependencies --verbose --build-bottle couchdb
brew install --verbose --build-bottle couchdb
brew install --verbose --build-bottle mysql
brew install --verbose --build-bottle node@12
brew install --verbose --build-bottle percona-server
brew install --verbose --build-bottle percona-xtrabackup
brew install --verbose --build-bottle widelands
Similar on ARM Big Sur, minus widelands. node@12 is expected on Monterey, but not sure about Big Sur -- fix at #108269.
spidermonkey seems to be a Python issue, as it's trying to install stuff directly into HOMEBREW_PREFIX. I think @cho-m had a look at this, but not sure if there's a solution. This causes the dependent couchdb to fail.
postgresql hardcodes PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/. Not sure why this hasn't come up before, but we may be able to get away with unsetting PKG_CONFIG_LIBDIR.
chakra fails with (edit: this is a warning and can be ignored.)
CMake Error at CMakeLists.txt:47 (message):
Couldn't detect target processor, try `--arch` argument with build.sh
mysql is upset that boost is available on the system while building. I suggest adding conflicts_with that we can remove once this PR is merged.
percona-server, and percona-xtrabackup have the same problem as mysql.
widelands can't find python on Monterey. Can probably be fixed by passing PYTHON_EXECUTABLE to cmake.
This should help with mysql, and percona-{server,xtrabackup}: https://github.com/Homebrew/homebrew-test-bot/pull/820
Not sure how to fix chakra and spidermonkey.
spidermonkeyseems to be a Python issue, as it's trying to install stuff directly intoHOMEBREW_PREFIX. I think @cho-m had a look at this, but not sure if there's a solution. This causes the dependentcouchdbto fail.
I'll take another look. I think an older distutils via ENV["SETUPTOOLS_USE_DISTUTILS"] = "stdlib" should work around issue. May be due to the new code that we had to patch running brew command since it is bypassing distutils.cfg and injecting Homebrew's prefix.
postgresqlhardcodesPKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/. Not sure why this hasn't come up before, but we may be able to get away with unsettingPKG_CONFIG_LIBDIR.
My previous comment applies here for strings - output getting truncated in https://github.com/Homebrew/brew/blob/master/Library/Homebrew/keg_relocate.rb#L330
❯ strings bin/postgres | rg PKG_CONFIG | tr ' ' '\n' | rg PKG_CONFIG
'PKG_CONFIG_PATH=/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/[email protected]/lib/pkgconfig:/opt/homebrew/opt/krb5/lib/pkgconfig:/opt/homebrew/opt/lz4/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig'
'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/Homebrew/os/mac/pkgconfig/12'
❯ strings - bin/postgres | rg PKG_CONFIG | tr ' ' '\n' | rg PKG_CONFIG
'PKG_CONFIG_PATH=/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/[email protected]/lib/pkgconfig:/opt/homebrew/opt/krb5/lib/pkgconfig:/opt/homebrew/opt/lz4/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig'
'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/
My previous comment applies here for
strings -output getting truncated in https://github.com/Homebrew/brew/blob/master/Library/Homebrew/keg_relocate.rb#L330❯ strings bin/postgres | rg PKG_CONFIG | tr ' ' '\n' | rg PKG_CONFIG 'PKG_CONFIG_PATH=/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/[email protected]/lib/pkgconfig:/opt/homebrew/opt/krb5/lib/pkgconfig:/opt/homebrew/opt/lz4/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/Homebrew/os/mac/pkgconfig/12' ❯ strings - bin/postgres | rg PKG_CONFIG | tr ' ' '\n' | rg PKG_CONFIG 'PKG_CONFIG_PATH=/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/[email protected]/lib/pkgconfig:/opt/homebrew/opt/krb5/lib/pkgconfig:/opt/homebrew/opt/lz4/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/
Weird. Doesn't happen for me:
❯ strings - bin/postgres | rg PKG_CONFIG | tr ' ' '\n' | rg PKG_CONFIG
'PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/[email protected]/lib/pkgconfig:/usr/local/opt/krb5/lib/pkgconfig:/usr/local/opt/lz4/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig'
'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/12'
Weird. Doesn't happen for me:
❯ strings - bin/postgres | rg PKG_CONFIG | tr ' ' '\n' | rg PKG_CONFIG 'PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/[email protected]/lib/pkgconfig:/usr/local/opt/krb5/lib/pkgconfig:/usr/local/opt/lz4/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/12'
I think it happens with particular bottles, like the ones created in this PR. Didn't seem to happen when we built postgresql in isolation (e.g. #108093). May need to look further into binaries to see what is happening.
Linux build failures:
qt- somehow ran out of space. didn't happen in previous runs:2022-08-17T16:21:56.9258911Z Error: An exception occurred within a child process: 2022-08-17T16:21:56.9259333Z Errno::ENOSPC: No space left on device @ fptr_finalize_flush - /github/home/bottles/logs/qt/05.cmakewebkitgtk- looking forgobject-introspection. Maybe from dropping runtime dependency onharfbuzz:-- No package 'gobject-introspection-1.0' found CMake Error at Source/cmake/OptionsGTK.cmake:328 (message): GObjectIntrospection is needed for ENABLE_INTROSPECTION.
On ARM:
couchdb failed the linkage test because it linked with openssl@3 for some reason. Probably has a $HOMEBREW_PREFIX/opt/openssl hardcoded somewhere. We can probably fix it after if Intel macOS goes well.
texlive also failed the linkage test, but that's expected.
Also only on ARM Big Sur:
qt@5:
* Files were found with references to the Homebrew shims directory.
The offending files are:
mkspecs/qmodule.pri
Error: 1 problem in 1 formula detected
Not sure why that didn't happen on Monterey.
postgresql@10 failed to build on Linux. Probably shouldn't block this.
deparse.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status
../../src/Makefile.shlib:309: recipe for target 'postgres_fdw.so' failed
make[1]: *** [postgres_fdw.so] Error 1
postgresql@10failed to build on Linux. Probably shouldn't block this.deparse.o: file not recognized: File truncated collect2: error: ld returned 1 exit status ../../src/Makefile.shlib:309: recipe for target 'postgres_fdw.so' failed make[1]: *** [postgres_fdw.so] Error 1
It looks like a race condition, and definitely unrelated, so it should not be a blocker.