Page 1 of 1

There is no Qt after Contrib build

Posted: 18 Apr 2019 18:54
by mangup
Despite the Qt folder is present in contrib/src. Why?

I've made:
$ cd contrib
$ mkdir native
$ cd native
$ ../bootstrap
$ make

Re: There is no Qt after Contrib build

Posted: 18 Apr 2019 20:57
by Jean-Baptiste Kempf
make .qt

Re: There is no Qt after Contrib build

Posted: 19 Apr 2019 10:57
by sherington
I also needed to do this:

Code: Select all

make .qtquickcontrols2
I still don't have myself a working build this way, but this might get you one step further.

Re: There is no Qt after Contrib build

Posted: 19 Apr 2019 12:16
by mangup
I've made:
$make .qt
$cd ../..
$./bootstrap
$./configure

And got:
checking for QT... no
configure: error: No package 'Qt5QuickControls2' found.

then:
$ cd contrib/native/
$ make .qtquickcontrols2
cd qtquickcontrols2 && /home/andreyrusanov/GITREPOS/vlc/contrib/x86_64-linux-gnu/bin/qmake

Running configuration tests...
Done running configuration tests.

Configure summary:

Qt Quick Controls 2:
Styles ................................. Default Fusion Imagine Material Universal
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... yes

Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/home/andreyrusanov/GITREPOS/vlc/contrib/x86_64-linux-gnu'.

Prior to reconfiguration, make sure you remove any leftovers from
the previous build.

# Make && Install libraries
cd qtquickcontrols2 && make
make[1]: Entering directory '/home/andreyrusanov/GITREPOS/vlc/contrib/native/qtquickcontrols2'
Some of the required modules (qtHaveModule(quick)) are not available.
Skipped.
make[1]: Leaving directory '/home/andreyrusanov/GITREPOS/vlc/contrib/native/qtquickcontrols2'
cd qtquickcontrols2 && make -C src sub-quickcontrols2-install_subtargets sub-imports-install_subtargets
make[1]: Entering directory '/home/andreyrusanov/GITREPOS/vlc/contrib/native/qtquickcontrols2/src'
make[1]: *** No rule to make target 'sub-quickcontrols2-install_subtargets'. Stop.
make[1]: Leaving directory '/home/andreyrusanov/GITREPOS/vlc/contrib/native/qtquickcontrols2/src'
../../contrib/src/qtquickcontrols2/rules.mak:28: recipe for target '.qtquickcontrols2' failed
make: *** [.qtquickcontrols2] Error 2

Re: There is no Qt after Contrib build

Posted: 19 Apr 2019 13:08
by chubinou
Hi, dependencies are as follow:

Code: Select all

qt -> qtdeclarative -> qtquickcontrols2 -> qtgraphicaleffects -> qtsvg
The thing is that you probably already have a version of Qt installed on your system, so the contribs skip the generation of the packages as they are already present

Re: There is no Qt after Contrib build

Posted: 19 Apr 2019 14:07
by mangup
yep, I have "old" Qt5.9 installed.
So, what should I do to prepare contrib's Qt and cconfigure vlc with it?

Re: There is no Qt after Contrib build

Posted: 19 Apr 2019 21:11
by sherington
Hmm... I had a previous version of Qt installed (for building earlier versions of VLC) and building the newer Qt and QtQuick from the contribs directory worked for me just with just those make commands you used.

Anyway hopefully you can get past that, and if so I think the next step to make vlc's build use the contribs Qt is to do something like this:

Code: Select all

./configure PKG_CONFIG_PATH=/home/build/vlc/contrib/native/qt/lib/pkgconfig
The config directory depending on where you're doing your contribs build of course.

With that approach, I felt like I was getting *really* close to a successful build but I encountered some errors at the linking stage:

Code: Select all

CXXLD libqt_plugin.la libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5QuickWidgets.la' was moved. libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5QuickTemplates2.la' was moved. libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5QuickControls2.la' was moved. libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5Quick.la' was moved. libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5Qml.la' was moved. libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5Network.la' was moved. libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5Widgets.la' was moved. libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5Gui.la' was moved. libtool: warning: library '/home/build/vlc/contrib/x86_64-linux-gnu/lib/libQt5Core.la' was moved. /usr/bin/ld: .libs/libqt_plugin.so: version node not found for symbol qt_version_tag@Qt_5.10 /usr/bin/ld: failed to set dynamic section sizes: Bad value collect2: error: ld returned 1 exit status Makefile:16755: recipe for target 'libqt_plugin.la' failed make[4]: *** [libqt_plugin.la] Error 1
I don't have the knowledge to move forward from that I'm afraid.

If you just need LibVLC, but don't need the QT UI, you could pass --disable-qt to configure, which is what I ended up doing because I'd had enough :-/

Re: There is no Qt after Contrib build

Posted: 21 Apr 2019 11:54
by sherington
A brief foot-note from me, I was simply unable to get VLC 4.x building with Qt from contribs no matter what I tried.

What was successful for me ultimately was to download and build the latest Qt source package in some external directory, and set the PKG_CONFIG_PATH to the resulting pkgconfig directory when running VLC's configure.

If you decide to go down this path, make sure you delete any old artefacts that may have been built in your contribs directory.

Re: There is no Qt after Contrib build

Posted: 05 Jul 2020 23:59
by mhd001
I'm trying to build on Ubuntu. I installed and built a full Qt5 and then fully cloned vlc. I don't know how to get past this failure on Qt5QuickControls2. Can anyone tell me what works? Here are log highlights:

Code: Select all

repos$ git clone https://github.com/videolan/vlc.git Cloning into 'vlc'... ... repos$ cd vlc repos/vlc$ ./bootstrap ... Successfully bootstrapped repos/vlc$ ./configure PKG_CONFIG_PATH=~/repos/qt5/qtbase/lib/pkgconfig ... checking for QT... no configure: error: No package 'Qt5QuickControls2' found. If you want to build VLC without GUI, pass --disable-qt.