Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 43 |
Nodes: | 6 (0 / 6) |
Uptime: | 94:23:21 |
Calls: | 290 |
Calls today: | 1 |
Files: | 904 |
Messages: | 76,378 |
Hello,
I (as upstream) have ported my kcollectd package to Qt6 and KF6, and
I'm able to build
and run it just fine using the Debian build chain. Now I (wearing my
Debian hat) am
having trouble getting it to build as a .deb.
The first problem I ran into is that I'm doing the build inside an autopkgtest sid
virtual machine, started by sbuild on a bookworm server. The dh_clean target fails
(on the bookworm host) because I'm using `--with kf6`. I seem to have
been able to
get around that by just installing pkg-kde-tools from unstable on
bookworm (I know).
But it didn't pull in anything else, and the dh_clean target completed
fine
afterwards.
So, that's my first question: can I build packages using newer dh
sequences on an
older build server, or does the build server need to also be unstable
to use that
dh sequence?
My second question is more specific to my package. I'm getting this
error:
-- No Qt5 qmake executable found. Can't check QT_INSTALL_PREFIX
-- Configuring incomplete, errors occurred!
cd obj-x86_64-linux-gnu && tail -v -n \+0 CMakeCache.txt
CMake Error at /usr/share/ECM/modules/ECMQueryQt.cmake:82 (message):
No Qt5 qmake executable found. Can't check QT_INSTALL_PLUGINS as required
Call Stack (most recent call first):
/usr/share/ECM/kde-modules/KDEInstallDirs5.cmake:256 (ecm_query_qt)
/usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
CMakeLists.txt:15 (include)
(I tried to attach the full build log, but I think the mailserver
rejected it;
it was ~250kb). It looks like maybe QT_MAJOR_VERSION is somehow being
set to 5,
and /usr/share/ECM/kde-modules/KDEInstallDirs.cmake line 15 is pulling in KDEInstallDirs5.cmake as a consequence? Why would that be happening
in a call to `dh_auto_configure --buildsystem=kf6`? Shouldn't the kf6
build sequence be smart enough to not try to use the qt5 qmake? Is
there some
other place that the qt version might be specified that I'm not aware of?
Thanks,
Antonio
Hmmm...I added python3-pyqt6 (>= 6.4.2) to the control file and didn't specify a KDE (running on bookworm stable...) I figured it would suck
in the necessary KDE, and it did for me.
[Upgrading pyqt5 to pyqt6 is a pisser; the constants were reorganized
and are presently sparsely documented -you have to figure it out by inspecting methods and properties on a number of classes. I seem to
remember some minor limitation on the buttons in pyqt6, which I guess
they will get around to addressing -was it font handling? indication
that the button was pressed with some trivial animation?? -sorry, it's
been a few weeks...]
On 12/2/24 12:13 AM, Antonio Russo wrote:
Hello,
I (as upstream) have ported my kcollectd package to Qt6 and KF6, and
I'm able to build
and run it just fine using the Debian build chain. Now I (wearing my
Debian hat) am
having trouble getting it to build as a .deb.
The first problem I ran into is that I'm doing the build inside an
autopkgtest sid
virtual machine, started by sbuild on a bookworm server. The
dh_clean target fails
(on the bookworm host) because I'm using `--with kf6`. I seem to have
been able to
get around that by just installing pkg-kde-tools from unstable on
bookworm (I know).
But it didn't pull in anything else, and the dh_clean target
completed fine
afterwards.
So, that's my first question: can I build packages using newer dh
sequences on an
older build server, or does the build server need to also be unstable
to use that
dh sequence?
My second question is more specific to my package. I'm getting this
error:
-- No Qt5 qmake executable found. Can't check QT_INSTALL_PREFIX
-- Configuring incomplete, errors occurred!
cd obj-x86_64-linux-gnu && tail -v -n \+0 CMakeCache.txt
CMake Error at /usr/share/ECM/modules/ECMQueryQt.cmake:82 (message):
No Qt5 qmake executable found. Can't check QT_INSTALL_PLUGINS as
required
Call Stack (most recent call first):
/usr/share/ECM/kde-modules/KDEInstallDirs5.cmake:256 (ecm_query_qt)
/usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
CMakeLists.txt:15 (include)
(I tried to attach the full build log, but I think the mailserver
rejected it;
it was ~250kb). It looks like maybe QT_MAJOR_VERSION is somehow
being set to 5,
and /usr/share/ECM/kde-modules/KDEInstallDirs.cmake line 15 is
pulling in
KDEInstallDirs5.cmake as a consequence? Why would that be happening
in a call to `dh_auto_configure --buildsystem=kf6`? Shouldn't the kf6
build sequence be smart enough to not try to use the qt5 qmake? Is
there some
other place that the qt version might be specified that I'm not aware
of?
Thanks,
Antonio
I (as upstream) have ported my kcollectd package to Qt6 and KF6, and I'm able to build
and run it just fine using the Debian build chain. Now I (wearing my Debian hat) am
having trouble getting it to build as a .deb.
The first problem I ran into is that I'm doing the build inside an autopkgtest sid
virtual machine, started by sbuild on a bookworm server. The dh_clean target fails
(on the bookworm host) because I'm using `--with kf6`. I seem to have been able to
get around that by just installing pkg-kde-tools from unstable on bookworm (I know).
But it didn't pull in anything else, and the dh_clean target completed fine afterwards.
So, that's my first question: can I build packages using newer dh sequences on an
older build server, or does the build server need to also be unstable to use that
dh sequence?
On 12/1/24 23:16, Andrey Rakhmatullin wrote:
You only need deps installed if you need to run clean. Nowadays, with
git
and clean working copies you normally can skip running clean, by passing
--no-clean-source to sbuild or with something equivalent.
Andrey: thank you. In retrospect, I suppose this is obvious.
My second question is more specific to my package. I'm getting this
error:
-- No Qt5 qmake executable found. Can't check QT_INSTALL_PREFIX
-- Configuring incomplete, errors occurred!
cd obj-x86_64-linux-gnu && tail -v -n \+0 CMakeCache.txt
CMake Error at /usr/share/ECM/modules/ECMQueryQt.cmake:82 (message):
No Qt5 qmake executable found. Can't check QT_INSTALL_PLUGINS as
required
Call Stack (most recent call first):
/usr/share/ECM/kde-modules/KDEInstallDirs5.cmake:256 (ecm_query_qt) >> /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
CMakeLists.txt:15 (include)
(I tried to attach the full build log, but I think the mailserver
rejected it;
it was ~250kb). It looks like maybe QT_MAJOR_VERSION is somehow
being set to 5,
and /usr/share/ECM/kde-modules/KDEInstallDirs.cmake line 15 is
pulling in
KDEInstallDirs5.cmake as a consequence? Why would that be happening
in a call to `dh_auto_configure --buildsystem=kf6`? Shouldn't the kf6
build sequence be smart enough to not try to use the qt5 qmake? Is
there some
other place that the qt version might be specified that I'm not aware
of?
On this front: I can reproduce the issue with this cmake invocation:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_INSTALL_LOCALSTATEDIR=/var \ -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \ -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF \ -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \ -DFETCHCONTENT_FULLY_DISCONNECTED=ON \
-DCMAKE_INSTALL_RUNSTATEDIR=/run \
-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON \
"-GUnix Makefiles" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu \
-DCMAKE_BUILD_TYPE=Debian \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
..
(modulo typesetting typos). By omitting the
KDE_INSTALL_USE_QT_SYS_PATHS=ON last
option, I can get it to work (i.e., successfully run cmake).
I still get the error
-- No Qt5 qmake executable found. Can't check QT_INSTALL_PREFIX
but, now it is nonlethal, since it apparently isn't being trying to
"check
QT_INSTALL_PLUGINS", whatever that means. So, it looks not having
that option
only covers up the problem: qt6 builds are looking for qmake5. Why is
the kf6
tooling causing that to happen?
I am also getting warnings like:
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_EXPORT_NO_PACKAGE_REGISTRY
CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY
FETCHCONTENT_FULLY_DISCONNECTED
So, it's reasonable to me that I might not have properly updated CMakeLists.txt .
I'm open to any suggestions.
Thanks,
Antonio
I (as upstream) have ported my kcollectd package to Qt6 and KF6, and I'm able to build
and run it just fine using the Debian build chain. Now I (wearing my Debian hat) am
having trouble getting it to build as a .deb.