web-dev-qa-db-ja.com

コンパイルされたlibmpv v0.29.0でミニチューブを構築できませんでした

Minitubeの作者によると、minitubeの最新バージョンにはlibmpv => 0.29.0が必要ですが、これはリポジトリや ppa 経由では提供されません。 ubuntu 18.04LTSが提供するのはlibmpv 0.27.0です。

ので、私は考えました:

自分でlibmpvをビルドすると、ミニチューブの最新バージョンをビルドできます!!!!

libmpv-dev以外のミニチューブを構築するために必要なものをインストールしました:

Sudo apt install build-essential qt5-default qttools5-dev-tools qt5-qmake qtdeclarative5-dev libqt5sql5-sqlite libqt5x11extras5-dev

そしてlibmpvの要件:

Sudo apt-get install autoreconf lilfreetype-dev libfribidi-dev libfontconfig-dev yasm

そして、mpv-build github repo のクローンを作成しました。その後、次の一連のコマンドを取得します

cd mpv-build
echo --enable-libmpv-shared > mpv_options
./use-mpv-custom v0.29.0
./update
./rebuild -j4
Sudo ./install

その後、ミニチューブgithub repo のクローンを作成し、次の一連のコマンドを実行した後、ミニチューブを構築しようとしました。

cd mintube
qmake "DEFINES += APP_GOOGLE_API_KEY=YourAPIKeyHere"
make

しかし、私は次のエラーを受け取ります:

build/obj/mpvwidget.o: In function `MpvWidget::~MpvWidget()':
mpvwidget.cpp:(.text+0x19b): undefined reference to `mpv_render_context_free'
build/obj/mpvwidget.o: In function `non-virtual thunk to MpvWidget::~MpvWidget()':
mpvwidget.cpp:(.text+0x1f7): undefined reference to `mpv_render_context_free'
build/obj/mpvwidget.o: In function `MpvWidget::initializeGL()':
mpvwidget.cpp:(.text+0x399): undefined reference to `mpv_render_context_create'
mpvwidget.cpp:(.text+0x3b9): undefined reference to `mpv_render_context_set_update_callback'
build/obj/mpvwidget.o: In function `MpvWidget::paintGL()':
mpvwidget.cpp:(.text+0x78c): undefined reference to `mpv_render_context_render'
build/obj/mpvwidget.o: In function `MpvWidget::onFrameSwapped()':
mpvwidget.cpp:(.text+0xb5): undefined reference to `mpv_render_context_report_swap'
build/obj/mpvwidget.o: In function `MpvWidget::maybeUpdate()':
mpvwidget.cpp:(.text+0x807): undefined reference to `mpv_render_context_report_swap'
collect2: error: ld returned 1 exit status
Makefile:630: recipe for target 'build/target/minitube' failed

あなたはubuntu 18.04LTSでそれをうまく構築する方法を知っていますか?

1

Libmpvパッケージを削除しようとしましたか?実行:

Sudo apt-get purge libmpv-dev libmpv && Sudo apt-get autoremove

その後、サウンドに必要なパッケージをインストールします。

Sudo apt-get install libmp3lame-dev libx246-dev libfbdc-aac-dev

その後、次の手順で再コンパイルします。

cd mpv-build
echo --enable-libmpv-shared > mpv_options
# Enable sound on minitube videos
echo --enable-libx264 >> ffmpeg_options
echo --enable-libmp3lame >> ffmpeg_options
echo --enable-libfdk-aac >> ffmpeg_options
./use-mpv-custom v0.29.0
./update
./rebuild -j4
Sudo ./install

また、LD_LIBRARY_PATHを指すには/usr/local/lib経由:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

さらに永続的な結果を得るには、次のいずれかのコマンドを使用します。

  • ローカルユーザーのみ:
echo "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" >> ~/.profile 
  • すべてのユーザー/グローバル使用:
echo "LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" | Sudo tee -a /etc/environment
0

libmpv => 0.29.0(0.29.1〜bionic2) ppa によって配信されます。

Sudo add-apt-repository ppa:mc3man/bionic-media
Sudo apt -y upgrade
1
exodoeviterno