peercast-yt icon indicating copy to clipboard operation
peercast-yt copied to clipboard

hostnameコマンドに-Iオプションがない場合について

Open meto4d opened this issue 4 years ago • 1 comments

hostnameコマンドに-Iオプションがない場合のエラー処理に問題があり、いくつかの環境で正常に起動しないことを確認しました。

https://github.com/plonk/peercast-yt/blob/d5ba45a2fd457560058a056c2753debd4bb6cace/core/unix/usys.cpp#L150-L154

ちゃんと調べていないので、間違っていたら申し訳ないのですが、 gnuには-Iオプションについて明記されておらず、debian系やcentos等でないとhotnameに-Iオプションがないようです https://www.gnu.org/software/inetutils/manual/html_node/hostname-invocation.html

meto4d avatar Oct 01 '21 20:10 meto4d

Ubuntu では inet-utils のものではない hostname コマンドが使われているようですね。 でも、hostname コマンドが失敗しても、IPv4 での動作には問題ないはずです。 正常に起動しないのは別の問題かと。

ええと、これはREADMEに書いておくべきなんですが… AppImage 対応作業をした YT37 から ui/linux/peercast-yt 以下から普通には起動できなくなってます。 これは、バイナリのパスから相対で ../share/peercast/ ディレクトリの中に html/ や cgi-bin/ などの実行時に必要なアセットがあると仮定しているからです。 また、設定ファイルのパスは ~/.config/peercast/peercast.ini だと仮定しています。

AppImage ファイルにアセットごと固めた場合や、sudo make install して /usr/local/ 以下にインストールした場合は上記のデフォルト値でうまく動くんです。

これらの場所を変えたい場合は peercast コマンド実行時にオプションで指定してください。 たとえば ui/linux/peercast-yt/ ディレクトリに居る場合は ./peercast -i peercast.ini -P . とすれば正常に起動するはずです。

plonk avatar Oct 10 '21 02:10 plonk