試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Mandriva Linux 2009.1のrecordMyDesktopが動かない?問題とその対処

Mandriva Linux 2009.1でgtk-recordMyDesktopからキャプチャを行おうとしたのだが、キャプチャを開始するとすぐに

このようなダイアログが出てきてキャプチャに失敗した。色々とオプションを変えたりもしてみたがダメだった。
端末から直接実行してみると、音声を切ると

$ recordmydesktop -o test.ogv --no-sound
Initial recording window is set to:
X:0   Y:0    Width:1280    Height:1024
Adjusted recording window is set to:
X:0   Y:0    Width:1280    Height:1024
Your window manager appears to be Metacity

Initializing...
Capturing!
(Ctrl+Cを押す)
Shutting down.
(以下略)

上のように正常に録画できることが分かったが、JACK Audio Connection Kitを使用しようとすると

$ recordmydesktop --use-jack [適当なポート] -o test.ogv
recordMyDesktop is not compiled with Jack support!

上のようになり、JACKのサポートが何らかの理由により無効になっていることが分かった。
Mandriva LinuxのソースRPMパッケージから手動でのビルドを試みたところ、きちんとJACKの検出はconfigureスクリプトで検出されていたものの、何故か出来上がった実行ファイルではJACKが使えなかった。
色々と試行錯誤した末、

$ alias rpmbuild-srpm2rpm='rpmbuild --rebuild'
$ CPPFLAGS="-DHAVE_LIBJACK" LDADD="-ljack" rpmbuild-srpm2rpm [recordmydesktop-0.3.8.1-1mdv2009.1.src.rpmの場所]

として*1RPMパッケージをビルドすることにより、この問題が回避できた。*2
gtk-recordMyDesktopからのキャプチャも試したところ、正常に行えるようになった。
上のようにしてビルドしたRPMパッケージは別館の配布ページに公開した。
(2014/10/12)配布ページは削除済み。
なお、調べている途中に見つけた
forums.ubuntulinux.jp/viewtopic.php?id=3889
は今回の件とは原因が異なるため、対処方法も異なった。

使用したバージョン:

  • recordMyDesktop 0.3.8.1-1mdv2009.1
  • gtk-recordMyDesktop 0.3.8-2mdv2009.1

*1:変数CPPFLAGSはプリプロセス処理向けの指定、LDADDは追加でリンクさせたいライブラリ([ライブラリのディレクトリ]/lib[名前].so[ライブラリのディレクトリ]/lib[名前].a)を「-l[名前]」という書式でリンクさせるための指定

*2:しかし、これは根本的な解決ではなく、どこかを修正する必要がありそう