macOSWS/11.1

提供: MacWiki
移動: 案内検索

MacOSX_WorkShop 11.11 (macOS BigSur) 対応 tree に関する情報

最新バージョン[編集]

  • 鋭意開発中

方針[編集]

  • TeX emacs 環境を最新の Upstream Release に合わせる
  • arm64 と x86_64 の fat binary でパッケージングする
  • rpm の DB を Berkeley DB から ndb に変更(rpm-4.16.1.2)
  • emacs を NS(Cocoa) から、千葉大の山本さんがメンテされている Mac port(Carbon) に変更

開発メモ[編集]

Xcode[編集]

  • Command Line Tools は terminal で以下のコマンドを実行してインストールする。
$ xcode-select --install
% arch -arm64 /usr/bin/clang -v
Apple clang version 12.0.0 (clang-1200.0.32.28)
Target: arm64-apple-darwin20.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
% arch -x86_64 /usr/bin/clang -v
Apple clang version 12.0.0 (clang-1200.0.32.28)
Target: x86_64-apple-darwin20.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 

arm64, arm64e, x86_64[編集]

zsh などは arm64e でビルドされている。

% file /bin/zsh 
/bin/zsh: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/bin/zsh (for architecture x86_64):	Mach-O 64-bit executable x86_64
/bin/zsh (for architecture arm64e):	Mach-O 64-bit executable arm64e

しかし、Xcode の clang でコンパイルした arm64e バイナリは強制終了される。

% cat test.c
#include <stdio.h>
int main ()
{
#if defined (__arm64__)
	printf("Hello ARM64 World!\n");
#endif
#if defined (__aarch64__)
	printf("Hello AArch64 World!\n");
#endif
#if defined( __arm64e__ )
	printf("Hello ARM64E World!\n");
#endif
#if defined( __x86_64__ )
	printf("Hello X86_64 World!\n");
#endif
	return 0;
}

% clang -arch arm64 test.c -o test_arm64
% clang -arch arm64e test.c -o test_arm64e
% clang -arch x86_64 test.c -o test_x86_64
% file test_*
test_arm64:  Mach-O 64-bit executable arm64
test_arm64e: Mach-O 64-bit executable arm64e
test_x86_64: Mach-O 64-bit executable x86_64
% ./test_arm64
Hello ARM64 World!
Hello AArch64 World!
% ./test_arm64e
zsh: killed     ./test_arm64e
% ./test_x86_64 
Hello X86_64 World!

XQuartz[編集]

  • XQuartz が Cairo を提供しなくなったので、OSXWS でrpm化。
  • Release 2.8.0 で arm64 x86_64 の fat 化がなされる模様。ただ、 alpha4 (20210116)では、以下のように i386 x86_64 の fat が混じっている。

cairo が arm64 x86_64 に fat 化されれば gtk を arm64 x86_64 fat でビルドできるので、残りの rpm 化が進む。

% file /opt/X11/{bin,lib}/* |grep i386
...
/opt/X11/lib/libcairo.2.dylib:                    Mach-O universal binary with 2 architectures: [i386:
Mach-O dynamically linked shared library i386] [x86_64:Mach-O 64-bit dynamically linked shared library
 x86_64]
....

議論と要望[編集]

macOSWS 11.1 に対する要望などが御座いましたらコメントを戴ければ幸いです。 議論の上、必要であれば採用させて頂きます。

コメント: 


  • いつ頃のリリースを予定されておられますでしょうか?心待ちにしております. --118.236.111.106 2021年2月25日 (木) 14:44 (JST)
    • 大変お待たせしてすみません。私自身 TeX が必要なので時間を見つけて作業を続けておりますが、本業が大変立て込んでおります。3月中にはβリリースをできる予定です。現在は cairo を整備し終えてgtk2まで来ています。