bomi icon indicating copy to clipboard operation
bomi copied to clipboard

Fails to build using arch AUR

Open lolihunter opened this issue 8 years ago • 14 comments

the x86_64 build of bomi is currently failing to build on Arch. Not sure what package has changed to effect this.

Here is the output when building:

(...snip...) logoption.o release/release/moc_logviewer.o release/release/moc_os.o release/release/moc_formatobject.o release/release/moc_checklistwidget.o release/release/moc_videocolordialog.o release/release/moc_algorithmobject.o release/release/moc_mrlstate_old.o release/release/moc_smbauth.o release/release/moc_fontcombobox.o release/release/moc_jrserver.o release/release/moc_windowsize.o release/release/moc_videopreview.o release/release/moc_triangleitem.o release/release/moc_visualizer.o release/release/moc_encoderdialog.o -L/tmp/byggeplass/bomi/src/bomi-0.9.11/src/bomi/../../build/lib -lbz2 -lz /tmp/byggeplass/bomi/src/bomi-0.9.11/build/lib/libmpv.a -lavformat -lavutil -lavcodec -lswscale -lswresample -lavfilter -lass -ldvdread -ldvdnav -lbluray -lchardet -lgobject-2.0 -lglib-2.0 -lxcb-icccm -lxcb-screensaver -lxcb-randr -lxcb-render -lxcb-xtest -lxcb -lX11 -lasound -ljack -lpulse -lcdio_paranoia -lcdio_cdda -lcdio -lm -lsmbclient -lsystemd -lvdpau -lva-glx -lva-x11 -lva -ldl -lQt5Quick -lQt5Svg -lQt5Widgets -lQt5X11Extras -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Xml -lQt5DBus -lQt5Core -lGL -lpthread g++: error: /tmp/byggeplass/bomi/src/bomi-0.9.11/build/lib/libmpv.a: No such file or directory Makefile.Release:1265: recipe for target '../../build/bomi' failed make[2]: *** [../../build/bomi] Error 1 make[2]: Leaving directory '/tmp/byggeplass/bomi/src/bomi-0.9.11/src/bomi' Makefile:38: recipe for target 'release' failed make[1]: *** [release] Error 2 make[1]: Leaving directory '/tmp/byggeplass/bomi/src/bomi-0.9.11/src/bomi' Makefile:40: recipe for target 'build/build/bomi/bomi' failed make: *** [build/build/bomi/bomi] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

lolihunter avatar Mar 01 '16 02:03 lolihunter

Same here. On x86.

There are two packages:

https://aur.archlinux.org/packages/bomi/ (what I used, submitted by xylosper himself and is that your comment there?) https://aur.archlinux.org/packages/bomi-git/

tp0 avatar Mar 08 '16 05:03 tp0

I tried the first (non-git version).

It appears to be an issue with the new Qt 5 updates, as that is all that has changed since the last time I got bomi to successfully install.

lolihunter avatar Mar 08 '16 09:03 lolihunter

have error in Arch:

i-0.9.11/src/bomi/../../build/lib -lbz2 -lz /tmp/yaourt-tmp-roman/aur-bomi/src/bomi-0.9.11/build/lib/libmpv.a -lavformat -lavutil -lavcodec -lswscale -lswresample -lavfilter -lass -ldvdread -ldvdnav -lbluray -lchardet -lgobject-2.0 -lglib-2.0 -lxcb-icccm -lxcb-screensaver -lxcb-randr -lxcb-render -lxcb-xtest -lxcb -lX11 -lasound -ljack -lpulse -lcdio_paranoia -lcdio_cdda -lcdio -lm -lsmbclient -lsystemd -lvdpau -lva-glx -lva-x11 -lva -ldl -lQt5Quick -lQt5Svg -lQt5Widgets -lQt5X11Extras -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Xml -lQt5DBus -lQt5Core -lGL -lpthread
g++: ошибка: /tmp/yaourt-tmp-roman/aur-bomi/src/bomi-0.9.11/build/lib/libmpv.a: Нет такого файла или каталога
Makefile.Release:1317: ошибка выполнения рецепта для цели «../../build/bomi»

romanlex avatar Mar 10 '16 10:03 romanlex

Is it the same error?

tp0 avatar Mar 11 '16 04:03 tp0

yes....cannot compile from aur package or git version package

romanlex avatar Mar 11 '16 18:03 romanlex

Same error here in x86_64, I tried applying the patch dobo suggested in the AUR package comments section, which gave this PKGBUILD:

# Maintainer: xylosper <[email protected]>
# Contributor: willemw <[email protected]>
# Contributor: Pedro Gabriel <[email protected]>

pkgname=bomi
pkgver=0.9.11
pkgrel=1
pkgdesc="Powerful and easy-to-use GUI multimedia player based on mpv"
arch=('i686' 'x86_64')
url="http://$pkgname-player.github.io"
license=('GPL')
provides=('cmplayer')
install=$pkgname.install
depends=('qt5-base' 'qt5-declarative' 'qt5-x11extras' 'qt5-quickcontrols' 'qt5-svg'
         'libdvdread' 'libdvdnav' 'libcdio-paranoia' 'libcdio' 'smbclient'
         'alsa-lib' 'libpulse' 'jack' 'libchardet' 'libbluray'
         'libva' 'libvdpau' 'libgl' 'fribidi' 'libass' 'ffmpeg')
makedepends=('mesa' 'gcc' 'pkg-config' 'python' 'qt5-tools')
optdepends=('libva-intel-driver: hardware acceleration support for Intel GPU'
            'mesa-vdpau: hardware acceleration support for AMD/NVIDIA opensource driver'
            'youtube-dl: streaming website support including YouTube'
            'libaacs: AACS decryption for Blu-ray support'
            'libbdplus: BD+ decryption for Blu-ray support')
source=("https://github.com/xylosper/bomi/archive/v$pkgver.tar.gz"
        "audioconvert.patch")
md5sums=('543c592f588c68d6f0c3cf254c288f58'
         '6b121e2f22b629b3ed029b005089e3be')
#options=(debug !strip)

prepare() {
  cd "$srcdir/$pkgname-$pkgver"
  patch -p2 < ../audioconvert.patch
}

build() {
  cd "$srcdir/$pkgname-$pkgver"
  ./configure --prefix=/usr
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver"
  make DEST_DIR=$pkgdir install
}

and this audioconvert patch:

diff --git a/bomi-0.9.11/src/mpv/audio/filter/af_lavcac3enc.c b/bomi-0.9.11/src/mpv/audio/filter/af_lavcac3enc.c
index a1651a0..36dec29 100644
--- a/bomi-0.9.11/src/mpv/audio/filter/af_lavcac3enc.c
+++ b/bomi-0.9.11/src/mpv/audio/filter/af_lavcac3enc.c
@@ -26,7 +26,6 @@
 #include <assert.h>

 #include <libavcodec/avcodec.h>
-#include <libavutil/audioconvert.h>
 #include <libavutil/intreadwrite.h>
 #include <libavutil/common.h>
 #include <libavutil/bswap.h>
diff --git a/bomi-0.9.11/src/mpv/audio/filter/af_lavrresample.c b/bomi-0.9.11/src/mpv/audio/filter/af_lavrresample.c
index f18b7e1..227e049 100644
--- a/bomi-0.9.11/src/mpv/audio/filter/af_lavrresample.c
+++ b/bomi-0.9.11/src/mpv/audio/filter/af_lavrresample.c
@@ -28,7 +28,6 @@
 #include <assert.h>

 #include <libavutil/opt.h>
-#include <libavutil/audioconvert.h>
 #include <libavutil/common.h>
 #include <libavutil/samplefmt.h>
 #include <libavutil/mathematics.h>
diff --git a/bomi-0.9.11/src/mpv/audio/out/ao_lavc.c b/bomi-0.9.11/src/mpv/audio/out/ao_lavc.c
index b322982..16ff8c1 100644
--- a/bomi-0.9.11/src/mpv/audio/out/ao_lavc.c
+++ b/bomi-0.9.11/src/mpv/audio/out/ao_lavc.c
@@ -25,7 +25,6 @@
 #include <limits.h>

 #include <libavutil/common.h>
-#include <libavutil/audioconvert.h>

 #include "config.h"
 #include "options/options.h"

still got the same error message though.

fusion809 avatar Mar 12 '16 07:03 fusion809

: (

g++: error: /tmp/pacaurtmp-zxzx/bomi/src/bomi-0.9.11/build/lib/libmpv.a: No such file or directory
Makefile.Release:1205: recipe for target '../../build/bomi' failed
make[2]: *** [../../build/bomi] Error 1
make[2]: Leaving directory '/tmp/pacaurtmp-zxzx/bomi/src/bomi-0.9.11/src/bomi'
Makefile:38: recipe for target 'release' failed
make[1]: *** [release] Error 2
make[1]: Leaving directory '/tmp/pacaurtmp-zxzx/bomi/src/bomi-0.9.11/src/bomi'
Makefile:40: recipe for target 'build/build/bomi/bomi' failed
make: *** [build/build/bomi/bomi] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
:: failed to build bomi package(s)

eskiq avatar Mar 27 '16 06:03 eskiq

the problem is with the new Qt5.6 update, bomi is not compatible. But has someone tried to compile bomi with some older Qt5 (like 5.5) instead of 5.6, at least on chakraOS (testing has Qt5.6) bomi in the repos is compiled with Qt5.5.x and it works just fine.

we have to just hope that xylosper (dev) will come back soon, at least he said that he will

ahjolinna avatar Mar 27 '16 10:03 ahjolinna

Well! On Mageia Cauldron I have successfully built bomi against Qt 5.6 and gcc 5.3.1 with two patches:

http://svnweb.mageia.org/packages?view=revision&revision=995725

I don't know if it is a correct and proper fix but it built and bomi seems to work properly.

On Mageia I got this compile error:

https://github.com/xylosper/bomi/issues/454

david-geiger avatar Mar 27 '16 15:03 david-geiger

I don't know how to commit this but I find a patch.

0.9.11-2.patch - https://goo.gl/1LiyWr PKGBUILD - https://goo.gl/jiqqDI

Put together in a directory and run 'makepkg' That's it https://aur.archlinux.org/packages/bomi

ForumLiker avatar May 14 '16 14:05 ForumLiker

How to build latest bomi with latest Qt with latest ffmpeg with system gcc <5 on Gentoo

Took me about half of hour to figure it out.

Build in-tree chardet

./download-libchardet && ./build-libchardet

Apply 3 patches

Use 5.3.0 version of linker:

diff --git a/src/bomi/bomi.pro b/src/bomi/bomi.pro
index f39c307..194b19a 100644
--- a/src/bomi/bomi.pro
+++ b/src/bomi/bomi.pro
@@ -10,6 +10,7 @@ DESTDIR = $${PWD}/../../build
 LIB_DIR = $${DESTDIR}/lib
 INCLUDEPATH += ../mpv ../mpv/build kiss_fft
 LIBS += -L$${LIB_DIR} -lbz2 -lz
+QMAKE_LINK = g++-5.3.0

 include(configure.pro)
 !isEmpty(BOMI_RELEASE) {

Fix mpv compilation (credits: @fusion809):

diff --git a/src/mpv/audio/filter/af_lavcac3enc.c b/src/mpv/audio/filter/af_lavcac3enc.c
index 5695bfd..4d2abca 100644
--- a/src/mpv/audio/filter/af_lavcac3enc.c
+++ b/src/mpv/audio/filter/af_lavcac3enc.c
@@ -26,7 +26,6 @@
 #include <assert.h>

 #include <libavcodec/avcodec.h>
-#include <libavutil/audioconvert.h>
 #include <libavutil/intreadwrite.h>
 #include <libavutil/common.h>
 #include <libavutil/bswap.h>
diff --git a/src/mpv/audio/filter/af_lavrresample.c b/src/mpv/audio/filter/af_lavrresample.c
index 265fa4b..83b5505 100644
--- a/src/mpv/audio/filter/af_lavrresample.c
+++ b/src/mpv/audio/filter/af_lavrresample.c
@@ -28,7 +28,6 @@
 #include <assert.h>

 #include <libavutil/opt.h>
-#include <libavutil/audioconvert.h>
 #include <libavutil/common.h>
 #include <libavutil/samplefmt.h>
 #include <libavutil/mathematics.h>
diff --git a/src/mpv/audio/out/ao_lavc.c b/src/mpv/audio/out/ao_lavc.c
index b322982..16ff8c1 100644
--- a/src/mpv/audio/out/ao_lavc.c
+++ b/src/mpv/audio/out/ao_lavc.c
@@ -25,7 +25,6 @@
 #include <limits.h>

 #include <libavutil/common.h>
-#include <libavutil/audioconvert.h>

 #include "config.h"
 #include "options/options.h"

Fix for latest Qt (credits: @david-geiger):

diff -Nru a/src/bomi/misc/filenamegenerator.hpp b/src/bomi/misc/filenamegenerator.hpp
--- a/src/bomi/misc/filenamegenerator.hpp   2015-05-20 11:31:58.000000000 +0200
+++ b/src/bomi/misc/filenamegenerator.hpp   2016-03-16 08:13:54.000000000 +0100
@@ -11,7 +11,7 @@
     QTime start, end;
     QString mediaName;
     Mrl mrl;
-    quint64 unix = 0;
+    quint64 UNIX = 0;
 };

 #endif // FILENAMEGENERATOR_HPP
diff -Nru a/src/bomi/misc/filenamegenerator.cpp b/src/bomi/misc/filenamegenerator.cpp
--- a/src/bomi/misc/filenamegenerator.cpp   2015-05-20 11:31:58.000000000 +0200
+++ b/src/bomi/misc/filenamegenerator.cpp   2016-03-16 08:56:18.000000000 +0100
@@ -51,8 +51,8 @@
         };
         get[u"%MEDIA_DISPLAY_NAME%"_q] = [] (const FileNameGenerator *g) { return g->mediaName; };

-        get[u"%UNIX%"_q]     = [] (const FileNameGenerator *g) { return _N(g->unix / 1000llu); };
-        get[u"%UNIX_MS%"_q]  = [] (const FileNameGenerator *g) { return _N(g->unix); };
+        get[u"%UNIX%"_q]     = [] (const FileNameGenerator *g) { return _N(g->UNIX / 1000llu); };
+        get[u"%UNIX_MS%"_q]  = [] (const FileNameGenerator *g) { return _N(g->UNIX); };
         return get;
     }();
     auto ret = func.value(ph);
diff -Nru a/src/bomi/player/mainwindow_p.hpp b/src/bomi/player/mainwindow_p.hpp
--- a/src/bomi/player/mainwindow_p.hpp  2015-05-20 11:31:58.000000000 +0200
+++ b/src/bomi/player/mainwindow_p.hpp  2016-03-16 08:21:01.000000000 +0100
@@ -101,7 +101,7 @@

     struct {
         QDate date; QTime time, position;
-        quint64 unix = 0;
+        quint64 UNIX = 0;
         QMap<QString, std::function<QString(void)>> get;
     } ph;
     QTimer waiter, hider, dialogWorkaround;
diff -Nru a/src/bomi/player/mainwindow_p.cpp b/src/bomi/player/mainwindow_p.cpp
--- a/src/bomi/player/mainwindow_p.cpp  2015-05-20 11:31:58.000000000 +0200
+++ b/src/bomi/player/mainwindow_p.cpp  2016-03-16 08:26:51.000000000 +0100
@@ -910,7 +910,7 @@
     g.dateTime = QDateTime::currentDateTime();
     g.start = QTime::fromMSecsSinceStartOfDay(e.time());
     g.end = end.isNull() ? g.start : end;
-    g.unix = QDateTime::currentMSecsSinceEpoch();
+    g.UNIX = QDateTime::currentMSecsSinceEpoch();
     g.mrl = e.mrl();
     g.mediaName = e.media()->name();
     return g;
diff -Nru a/src/bomi/dialog/encoderdialog.cpp b/src/bomi/dialog/encoderdialog.cp
--- a/src/bomi/dialog/encoderdialog.cpp 2015-05-20 11:31:58.000000000 +0200
+++ b/src/bomi/dialog/encoderdialog.cpp 2016-03-16 08:34:11.000000000 +0100
@@ -255,7 +255,7 @@
 {
     if (d->size.isEmpty())
         return tr("No video stream exists.");
-    d->g.unix = QDateTime::currentMSecsSinceEpoch();
+    d->g.UNIX = QDateTime::currentMSecsSinceEpoch();
     d->g.dateTime = QDateTime::currentDateTime();
     d->g.start = d->ui.a->time();
     d->g.end = d->ui.b->time();

Use the following configure flags

./configure --qtsdk=/usr/lib/qt5 --cc=gcc-5.3.0

Kagami avatar Oct 16 '16 12:10 Kagami

tested but did not work on arch...

./configure --qtsdk=/usr/lib/qt5 --cc=gcc-5.3.0 gives me error - gcc-5.3.0 is not supported

and on make also throws some gcc 5.3..0 related error

we are on gcc 6.2.1 on arch... should we get gcc 5.3.0 from AUR or something?

also I forked bomi and those changes you listed folded in... but I know shit about C and C++ so not much help overall, just trying to figure out if I can use bomi on arch...

DoTheEvo avatar Oct 16 '16 14:10 DoTheEvo

If your system gcc is higher than 5.0 (bomi requires C++14 support which is not available in gcc 4.x) then you don't need first patch and should also omit --cc configuration flag.

Kagami avatar Oct 16 '16 15:10 Kagami

thnx, it compiles, but crashes with segmentation fault whenever I am trying to play a file or go in to preferences > video processing

same as AUR fresh build which uses some rpm package....

DoTheEvo avatar Oct 16 '16 18:10 DoTheEvo