Posted inInformation Technology / Thank You Sir May I Have Another

QtCreator – no qmlscene installed

QtCreator, during various stages of its life, has spit the “no qmlscene installed” error out for quite a few people. If you are reading this you probably search for “no qmlscene installed” and landed here.

Since many of you reading this blog aren’t part of the Qt mailing list I thought I would share a question and my response. This problem comes up constantly and I’ve been bitten by it myself far more than I care to admit.

I just installed Qt Creator 4.5.2 from kubuntu apt sources.
It installed qmlscene + qt development files at the same time.
I can see clearly there is a qmlscene executable right next to qmake in
the same directory: /usr/lib/qt5/bin

How do I get rid of the “no qmlscene installed” warning?

“no qmlscene installed” happens due to many reasons

  1. Some fool used qml to create the welcome screen thus first introducing the problem. qml should never be used for anything.
  2. The 12 year old boys who crow about being “maintainers” of packages do little in the way of actual maintenance and testing. They simply remove anything someone complains about or which doesn’t compile.
  3. Ubuntu doesn’t test shit. They rely on the YABUs (Yet Another uBUntu) to provide fixes for them.
  4. Virtual Machines tend to hose QtCreator, or at least historically did.

Fix Number 1 – Move to KDE Neon or a non-Ubuntu Distro

Reason #1 was a point in time problem that will hopefully never exist again. That act of stupidity really did happen and it really got released into the wild. If memory serves it mostly showed up on KUbuntu. Assuming you don’t have a great investment in KUbuntu with installation, configuration,etc. Your simplest fix would be to move to KDE Neon.

The people who used to be creating KUbuntu but had __severe__ issues with the lack of testing and general state of life at/with Canonical jumped ship. They created KDE Neon based on a YABU core. Far more testing is done and they are migrating to their own repos. I say this because what Canonical has creating KUbuntu now reminds me of The Replacements.

And, because I’m typing this on KDE Neon where I have QtCreator 4.6.2-1 installed from the repos without the welcome screen issue. Like I said, KDE Neon does something which can actually be called testing.

If you are really in love with KUbuntu or married to it because it was documented via government filings as “the” development environment, you should know there are tons of “fixes” and “work arounds” out there.

Possible “Fix” #2

Assuming you are a good Qt developer and not allowing QML within 10,000 miles of your project, you can simply skip loading the Welcome screen. I do believe the virus known as QML has also wormed its way into the examples display pages, so you will have the same problems there.

qtcreator -noload Welcome

Please note the capital W on Welcome. Sorry, nobody has been polite enough to add -list to qtcreator so you could see a list of plugins to be loaded. They did add -profile, but, you really need to redirect that output to a text file you can search with Jed or some other editor for plugins.

Once you’ve determined this works, you can save yourself trouble by clicking on Help->About Plugins then scrolling down until you find Welcome to turn off the loading of it.

Possible Fix #3

Of course, you might want to determine your particular 12 year old boy didn’t just hose the pluginpath once again. From the -help output

-pluginpath <path>            Add a custom search path for plugins

start qtcreator from the command line providing the full path to the plugin and see if the problem also goes away.  If so

cd /
sudo find -iname qt.conf

cat out the file and look for plugins, here is what mine shows

roland@roland-I5-HP-Compaq-8300-Elite-SFF-PC:/$ cat ./usr/lib/x86_64-linux-gnu/qt5/qt.conf
[Paths]
Prefix=/usr
ArchData=lib/x86_64-linux-gnu/qt5
Binaries=lib/qt5/bin
Data=share/qt5
Documentation=share/qt5/doc
Examples=lib/x86_64-linux-gnu/qt5/examples
Headers=include/x86_64-linux-gnu/qt5
HostBinaries=lib/qt5/bin
HostData=lib/x86_64-linux-gnu/qt5
HostLibraries=lib/x86_64-linux-gnu
Imports=lib/x86_64-linux-gnu/qt5/imports
Libraries=lib/x86_64-linux-gnu
LibraryExecutables=lib/x86_64-linux-gnu/qt5/libexec
Plugins=lib/x86_64-linux-gnu/qt5/plugins
Qml2Imports=lib/x86_64-linux-gnu/qt5/qml
Settings=/etc/xdg
Translations=share/qt5/translations

Either your plugin isn’t in the correct directory, or the value here is incorrect. Common 12 year old boy problem. I must confess to not knowing  the syntax of or even if it is possible to have 2 different paths on one of these lines. You can set the environment variable QT_PLUGIN_PATH

Linux != Linux != Linux

Each and every distro decides “they have a better layout” when it comes to storing stuff. This then makes 90% of the “maintainer’s” job bulk editing scripts to change locations with each update. They miss stuff. QtCreator tends to be one of the most abused and least tested packages when it comes to “maintainers.”

KDE Neon will make your life a touch easier because they use Qt.

Related posts:

Where Did My QDebug Output Go?

MOC Parse Error at “std”

KDE Neon – Distcc and Qt

CopperSpice Experiments

So You Can’t Get Your Qt Models to Work With QML?

Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++/Qt touchscreen/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the "Zinc It!" book series for John Gordon Burke Publisher, Inc.

A decade later he released a massive (nearly 800 pages) tome "The Minimum You Need to Know to Be an OpenVMS Application Developer" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there "The Minimum You Need to Know" book series was born.

Three years later he wrote his first novel "Infinite Exposure" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of "The Earth That Was" trilogy:
Infinite Exposure
Lesedi - The Greatest Lie Ever Told
John Smith - Last Known Survivor of the Microsoft Wars

When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.