hostnameコマンドに-Iオプションがない場合について
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
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 . とすれば正常に起動するはずです。