“brew install openjdk”在 python 3.12 后失败

问题描述 投票:0回答:1

当尝试从自制软件安装 openjdk 时,我收到以下错误:

==> Installing openjdk@17 dependency: glib
==> Patching
==> Applying hardcoded-paths.diff
patching file 'gio/xdgmime/xdgmime.c'
patching file 'glib/gutils.c'
==> meson setup build --default-library=both --localstatedir=/Users/aaronblythe/homebrew/var -Dgio_module_dir=/Users/aaronblythe/homebrew/lib/gio/modules -Dbsymbolic_functions=false -Ddtrace=false -Druntime_dir=/Users/aaronblythe/homebrew/var
==> meson compile -C build --verbose
Last 15 lines from /Users/aaronblythe/Library/Logs/Homebrew/glib/02.meson:
ModuleNotFoundError: No module named 'distutils'
[5/1358] /private/tmp/glib-20231023-14634-16y3dzi/glib-2.78.0/tools/gen-visibility-macros.py 2.78.0 versions-macros ../glib/gversionmacros.h.in glib/gversionmacros.h
[6/1358] /private/tmp/glib-20231023-14634-16y3dzi/glib-2.78.0/tools/gen-visibility-macros.py 2.78.0 visibility-macros GLIB glib/glib-visibility.h
[7/1358] /private/tmp/glib-20231023-14634-16y3dzi/glib-2.78.0/tools/gen-visibility-macros.py 2.78.0 visibility-macros GOBJECT gobject/gobject-visibility.h
[8/1358] /Users/aaronblythe/homebrew/opt/meson/bin/meson --internal exe --capture gobject/glib-enumtypes.h -- /Users/aaronblythe/homebrew/opt/[email protected]/bin/python3.12 gobject/glib-mkenums --template ../gobject/glib-enumtypes.h.template ../gobject/../glib/gunicode.h
[9/1358] /private/tmp/glib-20231023-14634-16y3dzi/glib-2.78.0/tools/gen-visibility-macros.py 2.78.0 visibility-macros GMODULE gmodule/gmodule-visibility.h
[10/1358] clang -Iglib/tests/getpwuid-preload.dylib.p -Iglib/tests -I../glib/tests -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O3 -D_GNU_SOURCE -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-field-initializers -Wnonnull -Wunused -Wno-unused-parameter -Wno-cast-function-type -Wno-pedantic -Wno-format-zero-length -Wno-variadic-macros -Werror=format=2 -Werror=init-self -Werror=missing-include-dirs -Werror=pointer-arith -Werror=unused-result -Wstrict-prototypes -Wno-bad-function-cast -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pointer-sign -Wno-string-plus-int -MD -MQ glib/tests/getpwuid-preload.dylib.p/getpwuid-preload.c.o -MF glib/tests/getpwuid-preload.dylib.p/getpwuid-preload.c.o.d -o glib/tests/getpwuid-preload.dylib.p/getpwuid-preload.c.o -c ../glib/tests/getpwuid-preload.c
[11/1358] clang -Iglib/libcharset/libcharset.a.p -Iglib/libcharset -I../glib/libcharset -I. -I.. -fvisibility=hidden -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O3 -D_GNU_SOURCE -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-field-initializers -Wnonnull -Wunused -Wno-unused-parameter -Wno-cast-function-type -Wno-pedantic -Wno-format-zero-length -Wno-variadic-macros -Werror=format=2 -Werror=init-self -Werror=missing-include-dirs -Werror=pointer-arith -Werror=unused-result -Wstrict-prototypes -Wno-bad-function-cast -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pointer-sign -Wno-string-plus-int '-DGLIB_CHARSETALIAS_DIR="/Users/aaronblythe/homebrew/Cellar/glib/2.78.0/lib"' -MD -MQ glib/libcharset/libcharset.a.p/localcharset.c.o -MF glib/libcharset/libcharset.a.p/localcharset.c.o.d -o glib/libcharset/libcharset.a.p/localcharset.c.o -c ../glib/libcharset/localcharset.c
[12/1358] clang -Igio/xdgmime/libxdgmime.a.p -Igio/xdgmime -I../gio/xdgmime -I. -I.. -fvisibility=hidden -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O3 -D_GNU_SOURCE -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-field-initializers -Wnonnull -Wunused -Wno-unused-parameter -Wno-cast-function-type -Wno-pedantic -Wno-format-zero-length -Wno-variadic-macros -Werror=format=2 -Werror=init-self -Werror=missing-include-dirs -Werror=pointer-arith -Werror=unused-result -Wstrict-prototypes -Wno-bad-function-cast -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pointer-sign -Wno-string-plus-int -DHAVE_CONFIG_H -DXDG_PREFIX=_gio_xdg -MD -MQ gio/xdgmime/libxdgmime.a.p/xdgmimealias.c.o -MF gio/xdgmime/libxdgmime.a.p/xdgmimealias.c.o.d -o gio/xdgmime/libxdgmime.a.p/xdgmimealias.c.o -c ../gio/xdgmime/xdgmimealias.c
[13/1358] clang -Igio/xdgmime/libxdgmime.a.p -Igio/xdgmime -I../gio/xdgmime -I. -I.. -fvisibility=hidden -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O3 -D_GNU_SOURCE -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-field-initializers -Wnonnull -Wunused -Wno-unused-parameter -Wno-cast-function-type -Wno-pedantic -Wno-format-zero-length -Wno-variadic-macros -Werror=format=2 -Werror=init-self -Werror=missing-include-dirs -Werror=pointer-arith -Werror=unused-result -Wstrict-prototypes -Wno-bad-function-cast -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pointer-sign -Wno-string-plus-int -DHAVE_CONFIG_H -DXDG_PREFIX=_gio_xdg -MD -MQ gio/xdgmime/libxdgmime.a.p/xdgmimeglob.c.o -MF gio/xdgmime/libxdgmime.a.p/xdgmimeglob.c.o.d -o gio/xdgmime/libxdgmime.a.p/xdgmimeglob.c.o -c ../gio/xdgmime/xdgmimeglob.c
[14/1358] clang -Igio/xdgmime/libxdgmime.a.p -Igio/xdgmime -I../gio/xdgmime -I. -I.. -fvisibility=hidden -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O3 -D_GNU_SOURCE -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-field-initializers -Wnonnull -Wunused -Wno-unused-parameter -Wno-cast-function-type -Wno-pedantic -Wno-format-zero-length -Wno-variadic-macros -Werror=format=2 -Werror=init-self -Werror=missing-include-dirs -Werror=pointer-arith -Werror=unused-result -Wstrict-prototypes -Wno-bad-function-cast -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pointer-sign -Wno-string-plus-int -DHAVE_CONFIG_H -DXDG_PREFIX=_gio_xdg -MD -MQ gio/xdgmime/libxdgmime.a.p/xdgmime.c.o -MF gio/xdgmime/libxdgmime.a.p/xdgmime.c.o.d -o gio/xdgmime/libxdgmime.a.p/xdgmime.c.o -c ../gio/xdgmime/xdgmime.c
[15/1358] clang -Igio/xdgmime/libxdgmime.a.p -Igio/xdgmime -I../gio/xdgmime -I. -I.. -fvisibility=hidden -fcolor-diagnostics -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O3 -D_GNU_SOURCE -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-field-initializers -Wnonnull -Wunused -Wno-unused-parameter -Wno-cast-function-type -Wno-pedantic -Wno-format-zero-length -Wno-variadic-macros -Werror=format=2 -Werror=init-self -Werror=missing-include-dirs -Werror=pointer-arith -Werror=unused-result -Wstrict-prototypes -Wno-bad-function-cast -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pointer-sign -Wno-string-plus-int -DHAVE_CONFIG_H -DXDG_PREFIX=_gio_xdg -MD -MQ gio/xdgmime/libxdgmime.a.p/xdgmimecache.c.o -MF gio/xdgmime/libxdgmime.a.p/xdgmimecache.c.o.d -o gio/xdgmime/libxdgmime.a.p/xdgmimecache.c.o -c ../gio/xdgmime/xdgmimecache.c
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /Users/aaronblythe/homebrew/Library/Homebrew/shims/mac/super/ninja -C /private/tmp/glib-20231023-14634-16y3dzi/glib-2.78.0/build -v

Do not report this issue to Homebrew/brew or Homebrew/homebrew-core!

distutils 似乎已被弃用并删除:https://peps.python.org/pep-0632/#:~:text=In%20Python%203.12%2C%20distutils%20will,process%20that%20currently% 20use%20distutils

我已经尝试过使用多个版本的 openjdk 并得到类似的错误。

java homebrew distutils python-3.12
1个回答
0
投票

经过大量阅读错误和文档后,解决此问题的最佳方法似乎是:

brew install python-setuptools

然后尝试重新运行:

brew install openjdk

然后不要忘记符号链接,其效果是:

sudo ln -sfn /Users/<changeme>/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

如自制文档所示:https://formulae.brew.sh/formula/openjdk

© www.soinside.com 2019 - 2024. All rights reserved.