質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

1回答

1618閲覧

環境変数TMPDIRがUnix domain socketが扱うには長すぎる(?)というエラーが出ました。

nishiys

総合スコア33

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2017/09/15 17:41

先日gnuplotをhomebrewからインストールしたのですが、それが原因なのか
open-mpiを用いるプログラムを実行した時に以下のようなエラーが出ました。

PMIx has detected a temporary directory name that results
in a path that is too long for the Unix domain socket:

Temp dir: 〇〇・・・・

Try setting your TMPDIR environmental variable to point to
something shorter in length

どうやら環境変数TEMPDIRがUnix domain socketが扱うには長すぎるから短くしなさいということみたいですが、
TEMPDIRを自分でいじった記憶は無いのでなぜ急にこうなったのかわかりません。
gnuplotをインストールした時に勝手に名前が変えられてしまったなどということはあるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Mac の TMPDIR は
http://news.mynavi.jp/column/osxhack/056/

にも書いてあるように /var/folders の下に自動で作られたフォルダが指定されるのでたまたまエラーが出る状態になったのだと思います。

open-mpi を使う時は TMPDIR=/tmp する回避策があります。

投稿2017/09/15 17:57

kero1209

総合スコア431

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nishiys

2017/09/15 19:00

.bash_profileの中で常にTMPDIR=/tmpとなるようにしても、他のアプリ等を動かす時に不具合等はおこらないのでしょうか? open-mpiを使う時だけTMPDIR=/tmpとすることも可能でしょうか?
kero1209

2017/09/16 04:55 編集

open-mpi を使うときに環境変数を変えるラッパースクリプトとかつくったらどうでしょうか。 mpirunwrapper.sh などをつくって ``` #!/bin/sh TMPDIR=/tmp mpirun $TMPDIR $@ ``` などとしておき、 mpiwrapper.sh 経由でmpirun を実行すれば、mpirun だけ環境変数を変更した中で実行できます。
nishiys

2017/09/17 08:57

ご回答ありがとうございます。 シェルスクリプトを触ったことが無いので、「mpiwrapper.sh 経由でmpirun を実行する」というところをもう少し具体的に教えていただけると幸いです。 また、mpirunコマンドをエイリアスで設定しなおして(つまりmpirunコマンドを実行時に環境変数TMPDIRを/tmpに変更してから通常のmpirunを行うように設定して)同じことを実現することは可能でしょうか?
nishiys

2017/09/17 15:52

エイリアスにalias mpiexec="export TMPDIR=/tmp; mpiexec" とすることで解決できました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問