bylee20 / bomi

bomi - a powerful and easy-to-use multimedia player
http://bomi-player.github.io
Other
426 stars 89 forks source link

Fails to build using arch AUR #458

Open lolihunter opened 8 years ago

lolihunter commented 8 years ago

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...

tp0 commented 8 years ago

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/

lolihunter commented 8 years ago

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.

romanlex commented 8 years ago

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»
tp0 commented 8 years ago

Is it the same error?

romanlex commented 8 years ago

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

fusion809 commented 8 years ago

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 <darklin20@gmail.com>
# Contributor: willemw <willemw12@gmail.com>
# Contributor: Pedro Gabriel <pedrogabriel@dcc.ufmg.br>

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.

eskiq commented 8 years ago

: (

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)
ahjolinna commented 8 years ago

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

david-geiger commented 8 years ago

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

ForumLiker commented 8 years ago

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

Kagami commented 8 years ago

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
DoTheEvo commented 8 years ago

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...

Kagami commented 8 years ago

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.

DoTheEvo commented 8 years ago

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....