1

According to the author of minitube the latest version of minitube requires libmpv => 0.29.0 that is not delivered by repositories or via ppa. The one that ubuntu 18.04LTS deliver is the libmpv 0.27.0 one.

So I thought:

If I build the libmpv my myself I could be able to build the latest version of minitube!!!!

So I installed the required for building the minitube except libmpv-dev:

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

And the requirements for libmpv:

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

And I cloned the mpv-build github repo. Afterwards I geve the following sequence of commands

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

Afterwards I tried to build the minitube after cloning the minitube github repo and giving the following sequence of commands:

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

But I get the following error:

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

Do you know how to successfully build it in ubuntu 18.04LTS?

2 Answers2

2

libmpv => 0.29.0 (0.29.1~bionic2) that is delivered by via ppa.

sudo add-apt-repository ppa:mc3man/bionic-media
sudo apt -y upgrade
0

Have you tried to remove any libmpv package? Run:

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

Afterwards install the required packages for sound:

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

Afterwards recompile with these steps:

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

Also let the LD_LIBRARY_PATH to point into /usr/local/lib via:

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

And for more permanent results use either one of these commands:

  • For your local user only:
echo "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" >> ~/.profile 
  • For all users/global use:
echo "LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" | sudo tee -a /etc/environment