Who is the linux server hater? (or Can't build on ubuntu again because of QT)


#1

Once again some QT lover has messed up the linux build:

CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_pa ckage):
Could not find a package configuration file provided by "Qt5WebChannel"
with any of the following names:

Qt5WebChannelConfig.cmake
qt5webchannel-config.cmake

Add the installation prefix of “Qt5WebChannel” to CMAKE_PREFIX_PATH or set
"Qt5WebChannel_DIR" to a directory containing one of the above files. If
"Qt5WebChannel" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
interface/CMakeLists.txt:46 (find_package)

CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_pa ckage):
Could not find a package configuration file provided by “Qt5WebEngine” with
any of the following names:

Qt5WebEngineConfig.cmake
qt5webengine-config.cmake

Add the installation prefix of “Qt5WebEngine” to CMAKE_PREFIX_PATH or set
"Qt5WebEngine_DIR" to a directory containing one of the above files. If
"Qt5WebEngine" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
interface/CMakeLists.txt:46 (find_package)

CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_pa ckage):
Could not find a package configuration file provided by
"Qt5WebEngineWidgets" with any of the following names:

Qt5WebEngineWidgetsConfig.cmake
qt5webenginewidgets-config.cmake

Add the installation prefix of “Qt5WebEngineWidgets” to CMAKE_PREFIX_PATH
or set “Qt5WebEngineWidgets_DIR” to a directory containing one of the above
files. If “Qt5WebEngineWidgets” provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
interface/CMakeLists.txt:46 (find_package)

CMake Warning at interface/CMakeLists.txt:46 (find_package):
Found package configuration file:

/usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake

but it set Qt5_FOUND to FALSE so package “Qt5” is considered to be NOT
FOUND. Reason given by package:

Failed to find Qt5 component “WebChannel” config file at
"/usr/lib/x86_64-linux-gnu/cmake/Qt5WebChannel/Qt5WebChannelConfig.cmake"

Failed to find Qt5 component “WebEngine” config file at
"/usr/lib/x86_64-linux-gnu/cmake/Qt5WebEngine/Qt5WebEngineConfig.cmake"

Failed to find Qt5 component “WebEngineWidgets” config file at
"/usr/lib/x86_64-linux-gnu/cmake/Qt5WebEngineWidgets/Qt5WebEngineWidgetsConfig .cmake"

– Found Polyvox: /home/blackplastick/hifi/build2/ext/makefiles/polyvox/project/ include/PolyVoxCore
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_pack age):
Could not find a package configuration file provided by "Qt5WebChannel"
with any of the following names:

Qt5WebChannelConfig.cmake
qt5webchannel-config.cmake

Add the installation prefix of “Qt5WebChannel” to CMAKE_PREFIX_PATH or set
"Qt5WebChannel_DIR" to a directory containing one of the above files. If
"Qt5WebChannel" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
cmake/macros/SetupHifiLibrary.cmake:41 (find_package)
libraries/ui/CMakeLists.txt:2 (setup_hifi_library)

– Configuring incomplete, errors occurred!


#2

Use the server only flag to cmake if you’re only building domain-server and/or assignment-client - QT webchannel is (currently) only used in Interface though that may change in future.

cmake -G “Unix Makefiles” -DSERVER_ONLY=TRUE then rest of what you normally pass to cmake


#3

Note: The WebChannel stuff for the client requires qt5.6.0 which is currently in Debian/Experimental.

It is frustrating, but HF is alpha software, so using pre-release third-party libraries is certainly on the cards at times.

(I haven’t tested a compile with qt5.6.0 as I am still working out what I want my world to look like, prior to modelling it in Blender even, so have put HF itself on the back-burner until I make up my mind and have reverted to lurk-and-follow mode here, for the most part).


#4

Actually they are using QT 5.5.1 which installed/compiled in its entirety includes the proper necessities for Interface.


#5

The only way I can get things to work on Ubuntu is to not use the version of QT that comes from apt. Download / install the binary directly from QT (http://www.qt.io/download/), which will install in /opt/Qt and then point cmake with export QT_CMAKE_PREFIX_PATH=/opt/Qt/5.5/gcc_64/lib/cmake/


#6

Hmmm. Debian (and presumably distros that derive from it) don’t seem to include the qtWebChannel module at all (5.4, 5.5, 5.6)! Can’t find any references to why, though sometimes it can mean something doesn’t fit their rather tight definition of OSS. I may have to use direct QT source or change distros! :frowning:


#8

I ended up having to upgrade to Ubuntu 15.10, compile cmake 3.5 (had to create symbolic link in /user/bin) and install qt 5.5 and it finally compiles.

export QT_CMAKE_PREFIX_PATH=/usr/local/Qt-5.5.1_official/5.5/gcc_64/lib/cmake

mkdir build
cd build

cmake -G “Unix Makefiles” -DCMAKE_BUILD_TYPE=Release -DSERVER_ONLY=TRUE -DRELEASE_TYPE=PRODUCTION -DRELEASE_NUMBER=custom …

make assignment-client
make domain-server


#9

Its in there, I think… The problem is that all the different parts of QT seem to be scattered around in a zillion different packages all with different naming schemes and dependencies.


#10

Hey @Cracker_Hax - To save from running the export line each time just do

nano ~/.bashrc

and at the end of the file, put in:

export QT_CMAKE_PREFIX_PATH=/usr/local/Qt-5.5.1_official/5.5/gcc_64/lib/cmake

Also as I mentioned on Skype you went around the long way using that deb I gave you as it was meant for 14.04 to 15.04. Ubuntu 15.10 has an easier installer for Qt which is described here:

https://alphas.highfidelity.io/t/howto-setup-digitalocean-ubuntu-15-10-droplet/10094


#11

It looks like the packaging has issues, both technical and philosophical :frowning:

https://www.phoronix.com/scan.php?page=news_item&px=QtWebEngine-Mess-Debian

Distros that seem to have it packaged:

  • Arch
  • OpenMandriva
  • openSUSE

#12

After more research, QT5.6 lists the following feature:

“Support for unbundling and linking with system libraries on Linux”

Which I believe answers the primary issue keeping it out of many distros.

5.6 is in Debian/Experimental now so will presumably eventually trickle through to Unstable and then Testing. Presumably after 5.6 is formally released on March 3rd or thereabouts.

If it was just HiFi, I would have already bodgied in a third-party QtWebEngine, but i am also heavily reliant on KDF and associated applications some of which (KDE-PIM in particular) are being held back in the land of the ancients (and losing stability by the week) from the same issue.

So looking forward to 5.6 and the hope it brings!

(In answer to the thread topic, the answer boils down to “Google is the Linux server hater!” (irony!) - for the convoluted mess of irregularly-patched, and often not up-streamed!, third party libraries entwined into Chromium, which in turn is relied on by QtWebEngine, making that unpackagable by most distros. within their manpower limitations.)

But the QT people have busted their butts to try and fix it, so all kudos to them!


#13

I’m running Debian Sid and installed every Qt package I could find. qtWebChannel is still missing. So, I and my guitar gently weeps.


#14

If you don’t mind blowing out the install if it doesn’t work (or remove deb), you can try this custom one

https://qt-files.obj.space/Qt_5.5.1_official_amd64.deb

I suggest removing other ones though first or trying on a fresh install

You can point the hifi cmake to it with this

export QT_CMAKE_PREFIX_PATH=/usr/local/Qt-5.5.1_official/5.5/gcc_64/lib/cmake


#15

I have 5.5.1 installed. I keep getting the build error. “locate qtWebChannel” comes up empty. So, I’ll wait for qt-5.6 rather than hose an otherwise pristine base install.


#16

Looks like QT 5.6 release has been pushed back a few weeks to March 16th :cry:

(Though better that than an on-time-but-not-quite-there release!)


#17

I too am Having this issue, can’t compile latest source due to qtWebChannel.


#18

"We will push Qt 5.6.1 to unstable (we will stack it first in experimental, but then push it to unstable).

So far no one has stepped up for maintaining QtWebEngine, so do not expect it soon."
That comes from a Debian QT packager at Debian. So, either HiFi bends enough to not rely on Qtwebchannel or Linux users go out of mainstream … not Debian/Ubuntu.


#19

I’m running it all on Ubuntu and have since day one. It’s been a challenge at times, but, it’s unlikely even with Ubuntu 16.04 we’ll have an easy mode package only solution path to running HF services.

Your option is self compile QT or portion of QT not included in packages – placed outside /usr or /usr/local and point environment variable to location of either full on custom for HF QT or portion of. Qt5Webkit is being deprecated in Qt5.6 per everything I’m seeing in Qt’s writings - that leaves Qt5Webchannel (or is it QT5Webengine?) either way - HF is going to use what HF is going to use, regardless of what Linux distros have or plan to have near term. Or, wait until someone, somewhere provides a PPA for missing parts. I have Qt5.5.1 and Qt5.6 in /opt/Qt5.x.x compiled from source and point HF to whichever I want to play with.


#20

Do you think you could create a .deb file? I installed the latest QT and still got the same bloody error. Ric


#21

Whoops, not source code, the .run file has binaries. I had to install a bunch of libxcb packages to satisfy the configure and make processes running Debian Sid. I have the latest Ubuntu installed to a different drive,Qt had the same error .