1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

macportsでインストールしたアプリケーションがmacOSをSonoma(14)からSequioa(15)にしたら動かなくなったのに対応

Last updated at Posted at 2025-03-10

経緯

  • 2025/3/11 エラーを再現できたので、エラーメッセージの記述を更新しました。
  • 2025/3/15 IntelじゃなくてもApple M1のMac Miniでも同じ問題おきますね。

4年もののMacBook Pro(2019, Intel)のOSをバージョンアップしたあと、macportsでインストールしてあったemacs-appをDockやFinderのアイコンから起動しようとしたら、
「アプリケーション"Finder"には、(null)を開くアクセス権がありません。」
みたいなメッセージが出ました。

諦めてMacPortsを1から別の場所にソースからインストールしてport install emacs-app ......して作り直しましたが、同じ症状でした。

コマンドラインから起動してみると、

openコマンドで起動しようとすると、

コマンドラインで実行
% open $macports_root/Applications/Emacs.app
_LSOpenURLsWithCompletionHandler() failed with error -54

というエラーメッセージが出ました。このエラーメッセージでWeb検索すると、他のアプリケーションでの似たような例がヒットしましたが、「最新版をダウンロードして再インストールしたら治った」という例が多かった。

openコマンドでなく、直接実行形式ファイルを叩くと立ち上がるので、実行ファイルそのものに問題は無さそう。

実行形式ファイルを直接起動
% $macports_root/Applications/Emacs.app/Contents/MacOS/Emacs
# 正常に起動する

さらにWebを検索していたら、「spctl --add (アプリケーションフォルダ)で解決するかも」というページがみつかった。 が、この手はmacOS Sequoia (15)ではダメな手でした。ただ、spctlのマニュアルを読んで、もう少し詳しい情報がわかりました。

spctlを試してみた。
% spctl --add $macports_root/Applications/Emacs.app
This operation is no longer supported. Please see the man page for more information.
 
% spctl --assess -v $macports_root/Applications/Emacs.app
$macports_root/Applications/Emacs.app: rejected
source=no usable signature

なんか署名がされてない、というのでrejectされているようです。

解決策

もうすこし真面目にmacportsのTracを調べたらドンピシャのものがありました。もともとhomebrewのバグレポートにあった回避策みたいです。ちなみに、Intel Macだと起きる問題で、AppleSilicon Macでは起きてないようなことが書かれていました。が、M1のMac Miniでも同じ問題おきました。(2025/3/15追記)

対処法
% sudo codesign --force --deep --sign - -v --strip-disallowed-xattrs $macports_root/Applications/Emacs.app
$macports_root/Applications/Emacs.app: signed app bundle with Mach-O thin (x86_64) [org.gnu.Emacs]
% open $macports_root/Applications/Emacs.app
# 正常に起動

めでたしめでたし。(--signのあとの-を忘れがち。)

Emacs以外の他のアプリでも同じような問題が起きそうなので、メモとして残しておく感じです。

情報源

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?