#author("2022-02-19T05:27:10+00:00","default:src128","src128") #author("2022-02-19T05:32:06+00:00","default:src128","src128") &tag(MacPorts/解析); *目次 [#c039cd7f] #contents *関連ページ [#qbbd06a7] *参考情報 [#hf61bda3] -MacPortsはtclを使って作られている。 -Portfileの書式はtcl準拠? -macportsユーザー、macportsグループが作られ、処理中はこの権限でインストール処理などが動く。 *トラブルシューティング [#e478b736] **configure実行中に「Operation not permitted」と表示される [#hd099707] -例えば/tmp(実際は/private/tmp)にかけるが、同じようにパーミッションを設定した/opt/tmpには書けない。 -一見ディレクトリのパーミッションの問題(オーナー、実行権限)のように思えるがそうではない。この場合「Permission denied」というメッセージが表示されるはず。 -例えば/tmp(実際は/private/tmp)にファイルを書き込めるが、同じようにパーミッションを設定した/opt/tmpには書けない。 -一見ディレクトリのパーミッションの問題(オーナー、実行権限)のように思えるがそうではない。この場合「Permission denied」というメッセージが表示される。 -最近のmacOSに導入されたSIPでも「Operation not permitted」が表示されるがこの場合は違う。 -MacPortsは独自のsandboxを設定していて、許可されたディレクトリ以外にファイルが書き込めないようになっているから。[[macports-base/portsandbox.tcl at 2c6fc24ddd1d6961afa83c5b35be12224b6850f6 · macports/macports-base:https://github.com/macports/macports-base/blob/2c6fc24ddd1d6961afa83c5b35be12224b6850f6/src/port1.0/portsandbox.tcl]]。 -macOS組み込みのsandbox-execを使ってサンドボックスを設定しているらしい。 -無効にするにはmacports.confで「sandbox_enable no」とするか、Portfileで「portsandbox_active no」とする。