Unable to locate package/Headers missing

Bug #1878233 reported by Yohan Belanger
30
This bug affects 4 people
Affects Status Importance Assigned to Milestone
qt3d-opensource-src (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Won't Fix
Undecided
Unassigned

Bug Description

Hi,

I am a scientific software developper and I'm trying to use Qt3D on Ubuntu 20.04LTS.
I am not used to filing bugs here, sorry if its not following the standards, any comments on this will also be appreciated.

Here is a list of the packages I installed prior to this bug.
sudo apt install qt3d5-dev
sudo apt install qt3d5-dev-tools
sudo apt install qt3d-assimpsceneimport-plugin
sudo apt install qt3d-defaultgeometryloader-plugin
sudo apt install qt3d-gltfsceneio-plugin
sudo apt install qt3d-scene2d-plugin
sudo apt install qml-module-qt3d

I also ran the command line:
sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

as per my computer science colleague request

But I am having errors left and right concerning the headers, as much as I actually have to include in my CMakleLists.txt those lines (I started to debug from Windows to Linux since our scientific build machine uses this target):

#------------------------- *target*
# Note: 3D Disabled on build machine because of 3D in QT
if( ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
  add_subdirectory(*target*)
  set_target_properties(*target* PROPERTIES FOLDER "apps/*target*")
  #Tell CMake to produce a visual studio Qt Project for integration with Qt Vs Tools
  set_target_properties(*target* PROPERTIES VS_GLOBAL_KEYWORD Qt4VSv1.0)
else
  include_directories("/usr/include/x86_64-linux-gnu/qt5/Qt3DCore")
  include_directories("/usr/include/x86_64-linux-gnu/qt5/Qt3DRender")
  include_directories("/usr/include/x86_64-linux-gnu/qt5/Qt3DExtras") ->this one useless
endif()

as you can see:
/usr/include/x86_64-linux-gnu/qt5$ ls
Qt3DCore Qt3DQuickRender QtDBus QtNetwork QtPositioning QtQuick QtSerialPort QtUiTools QtWebKit
Qt3DInput Qt3DQuickScene2D QtDesigner QtOpenGL QtPositioningQuick QtQuickParticles QtSql QtWebChannel QtWebKitWidgets
Qt3DLogic Qt3DRender QtDesignerComponents QtOpenGLExtensions QtPrintSupport QtQuickShapes QtSvg QtWebEngine QtWidgets
Qt3DQuick QtConcurrent QtGui QtPacketProtocol QtQml QtQuickTest QtTest QtWebEngineCore QtXml
Qt3DQuickInput QtCore QtHelp QtPlatformHeaders QtQmlDebug QtQuickWidgets QtUiPlugin QtWebEngineWidgets

And this sub-package that you have does not contain the headers.
https://packages.ubuntu.com/focal/amd64/libqt53dextras5/filelist

I think I will also be submitting there I find it weird.
I will probably download Qt3D sources and temporarily link the headers directly there but this is far from optimal for a build machine, as you might expect.

And finaly, this packages appear when I tab on: apt install qt3d-op...
but when I run the install it cant find it. This is probably the issue that you want to look at, as I will be going to this other package to see why the headers are not following.

Thank you very much and I hope I followed the guidelines here are my infos:
/usr/include/x86_64-linux-gnu/qt5$ lsb_release -rd
Description: Ubuntu 20.04 LTS
Release: 20.04

apt-cache policy qt3d-opensource-src
N: Unable to locate package qt3d-opensource-src

/usr/include/x86_64-linux-gnu/qt5$ apt-cache policy libqt53dextras5
libqt53dextras5:
  Installed: 5.12.8+dfsg-0ubuntu1
  Candidate: 5.12.8+dfsg-0ubuntu1
  Version table:
 *** 5.12.8+dfsg-0ubuntu1 500
        500 http://ca.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        100 /var/lib/dpkg/status

/usr/include/x86_64-linux-gnu/qt5$ sudo apt install qt3d-opensource-src
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package qt3d-opensource-src

Revision history for this message
Yohan Belanger (feynstein42) wrote :

Oh, nevermind then... everything from qt3d5-dev to libqt53dextras5 brings me back here. So I will be waiting for an answer. Thanks!

Revision history for this message
Yohan Belanger (feynstein42) wrote :

I also found out that it is because the package is unstable from upstream. It seems like it's been an issue in Debian also. Might I suggest that you do like they did and upload an experimental package so that it does not break what we have.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=909306

The reason why I submit this bug now is that before I was running this specific target with a locally compiled version of opensource qt.

I also want to say that this is pretty urgent for us in order to normalize our build machine.

Thanks!

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

This is now fixed in Qt 5.14 packages in groovy-proposed. Unfortunately, this will not be fixed in Ubuntu 20.04 LTS (focal) because it does not meet the Stable Release Update criteria.

If you want to use this API in focal, I suggest you to use locally built Qt or create a PPA.

Changed in qt3d-opensource-src (Ubuntu):
status: New → Fix Committed
Revision history for this message
Florian Hars (hars) wrote :

So you are saying that ubuntu 20.04 is unsuitable as the basis for a developer system because the stability criteria actually forbid to fix a packaging bug that makes it unusable?

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Yes.

The official documentation for Qt 3D Extras (https://doc.qt.io/qt-5/qt3dextras-module.html) says:

"This module is under development and is subject to change."

We decided not to include headers for this module until it becomes stable. We made an exception for Qt 5.14 packages because the difference between 5.14 and the final Qt 5 API/ABI was minimal, and I backported a patch to make sure the ABI does not change in the future. For Qt 5.12 no such exception can be made.

I can't say that it makes the Qt 3D package unusable. You can still use the API that is declared stable. Also you are always free to build your own version of Qt 3D or create a PPA for it.

Changed in qt3d-opensource-src (Ubuntu):
status: Fix Committed → Fix Released
Changed in qt3d-opensource-src (Ubuntu Focal):
status: New → Won't Fix
Revision history for this message
Yohan Belanger (feynstein42) wrote :

Is there a warning somewhere about this? Because including the library but not the header is bound to frustrate quite a few people. You know thinking it should be working because it's in the library. I know it took me quite a bit of investigation to figure out what was going on. And from my experience, linking a locally compiled Qt version is quite troublesome if you don't take care. Anyway, I don't know how it works, but at least maybe include a warning somewhere?

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

It is too late to include any warning for Ubuntu 20.04. Maybe I could add it to the package description if there were other important bugs to fix in a stable release update, but there are no such bugs yet.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.