Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plasma 6 support? #42

Closed
Ashark opened this issue Dec 15, 2023 · 44 comments
Closed

Plasma 6 support? #42

Ashark opened this issue Dec 15, 2023 · 44 comments
Assignees

Comments

@Ashark
Copy link

Ashark commented Dec 15, 2023

Hello.
Can I use these plugins in Plasma 6? I tried installing with "Get New Stuff", but it gave error.
If that can be used in Plasma 6, can you please update the building instructions? Then I will upload a plasma6-runners-jetbrains-runner-git to aur.

@alex1701c
Copy link
Owner

Heyho, I have a local KF6 port. I will look into making the project compile/work with both Plasma5 and Plasma6

@alex1701c
Copy link
Owner

it was more work to get it done properly, but I have pushed a first version. I will need to look at some test failures and check some Qt6 deprecation messages.

@alex1701c
Copy link
Owner

alex1701c commented Dec 25, 2023

to try it out, run cmake with the -DBUILD_WITH_QT6=ON option set. I have updated the install script to better search for the plugin path so that it should be picked up. I will resume tomorrow :)

@Ashark
Copy link
Author

Ashark commented Dec 27, 2023

I tried with -DBUILD_WITH_QT6=ON, but there is no runner in lists of available search plugins.

@alex1701c
Copy link
Owner

Have you started with a clean build? Maybe you can attach the cmake log (I have build it with self compiled Qt and KDE Frameworks)

@Ashark
Copy link
Author

Ashark commented Dec 27, 2023

Yeah, I have built from scratch, with the PKGBUILD that I did not yet published: this one. I am currently using Plasma 6 beta 2 from kde-unstable repo in Arch Linux.

After installing a built package, I run kcmshell6 kcm_plasmasearch to open search settings (in Arch the QML in system settings is currently broken, so I use this workaround). But there is no JetBrains Runner there.

Also, in .install file I guess it should be kquitapp6 instead of kquitapp5.

Maybe you can attach the cmake log

What exact file should I search for?

@alex1701c
Copy link
Owner

-DKDE_INSTALL_QTPLUGINDIR=kf5-config

That looks incorrect

@Ashark
Copy link
Author

Ashark commented Dec 27, 2023

Can you please suggest what is should be? I do not have the kf6-config or kf-config.
Or should I remove this option entirely?

@alex1701c
Copy link
Owner

Please see 708b703

@Ashark
Copy link
Author

Ashark commented Dec 27, 2023

Thanks. I now used this line for cmake command (edited the gist at the link above):

cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_WITH_QT6=ON ..

Then I did killall krunner. Still, cannot see the jetbrains runner in the available plasma search plugins.

@alex1701c
Copy link
Owner

Can you try enabling debug logs for krunner and the kcoreaddons core lib? You could utilize the kdebugsettings utility. The install manifest would be useful too.

Pa: killall fails afaik when there is no process running. Might that cause issues?

@Ashark
Copy link
Author

Ashark commented Dec 27, 2023

killall fails afaik when there is no process running. Might that cause issues?

No. I did it manually, and before that, I checked that pgrep -x krunner actually output some pid.

try enabling debug logs for krunner and the kcoreaddons core lib? You could utilize the kdebugsettings utility.

First of all, thanks for your support!
There are three items found by "krunner" term: "krunner bookmarks", "krunner services", "krunner appstream". I have enabled "Full debug information" for "krunner services". Also, enabled for "kcoreaddons (kcoreaddons lib)".

After I hit Ok button, the KDebugSettings closes (I see the exit status 1 in the terminal), and the next time I open it, it still has previous values. I guess that is not normal?

The install manifest would be useful too.

The contents of plasma6-runners-jetbrains-runner-git/src/JetBrainsRunner/build/install_manifest.txt (this is after building a PKGBUILD):

/usr/share/qlogging-categories6/jetbrains-api.categories
/usr/lib/qt/plugins/kcm_krunner_jetbrainsrunner.so
/usr/lib/qt/plugins/kf6/krunner/krunner_jetbrainsrunner.so
/usr/share/pixmaps/jetbrainsrunner.png

@alex1701c
Copy link
Owner

What would be interesting is if The paths from the install manifest show up in the kcoreaddons debug logs. Usually they say in which dirs were searched for plugins. Maybe an ls in /usr/lib/qt/plugins/kf6/krunner/ can help too? Just to verify that this is where the other kde plugins are installed too

@Ashark
Copy link
Author

Ashark commented Dec 27, 2023

ls /usr/lib/qt/plugins/kf6/krunner/
krunner_jetbrainsrunner.so

There is only that file that is installed with package that I built. I did not installed any other runners manually.

@Ashark
Copy link
Author

Ashark commented Dec 27, 2023

I have both krunner5 and krunner packages installed. May this be a problem? They are not conflicting.
But the packages's file structure is a bit different.
May I somehow know if my runner invoked by Alt + F2 is actually krunner from KF6? Anyway, if that was kf5, the jetbrains runner is not shown.

@alex1701c
Copy link
Owner

I have both krunner5 and krunner packages installed. May this be a problem? They are not conflicting.

No, when plasmashell and the krunner executable come from Plasma6, that should be fine.

May I somehow know if my runner invoked by Alt + F2 is actually krunner from KF6? Anyway

qdbus org.kde.krunner /MainApplication org.qtproject.Qt.QApplication.aboutQt

When I enable the mentioned logging categories, I get output like

kf.coreaddons: Checking for plugins in QList("/home/user/kde/usr/bin/kf6/krunner", "/home/user/kde/usr/plugins/kf6/krunner")
kf.runner: Loaded: "krunner_recentdocuments"
kf.runner: Loading runner: "krunner_jetbrainsrunner"
kf.runner: Loaded: "krunner_jetbrainsrunner"

Maybe you can try getting the logs using the ENV var:
QT_LOGGING_RULES="kf.runner*=true;kf.coreaddons*=true" krunner --replace pro

And what does qtpaths6 --query QT_INSTALL_PLUGINS give you? That is ehat ECM should internally utilize when KDE_INSTALL_USE_QT_SYS_PATHS is set

@Ashark
Copy link
Author

Ashark commented Dec 28, 2023

qdbus org.kde.krunner /MainApplication org.qtproject.Qt.QApplication.aboutQt

Thanks. Yes, in that window I see it is written "This program uses Qt version 6.7.0".

Maybe you can try getting the logs using the ENV var

Yes, I was able to see logs that way. I also added ";default=false" to the QT_LOGGING_RULES.
In the logs I see:

kf.coreaddons: Checking for plugins in QList("/usr/bin/kf6/krunner", "/usr/lib/qt6/plugins/kf6/krunner")

But the package have them in different path:

$ yay -Ql plasma6-runners-jetbrains-runner-git | grep so
plasma6-runners-jetbrains-runner-git /usr/lib/qt/plugins/kcm_krunner_jetbrainsrunner.so
plasma6-runners-jetbrains-runner-git /usr/lib/qt/plugins/kf6/krunner/krunner_jetbrainsrunner.so

Note there the path is not /usr/lib/qt6.

what does qtpaths6 --query QT_INSTALL_PLUGINS give you?

❯ qtpaths6 --query QT_INSTALL_PLUGINS
zsh: command not found: qtpaths6
❯ qtpaths <tab>
qtpaths qtpaths-qt5

❯ qtpaths --query QT_INSTALL_PLUGINS
qtpaths: Unknown option 'query'.
❯ qtpaths-qt5 --query QT_INSTALL_PLUGINS
qtpaths-qt5: Unknown option 'query'.

@alex1701c
Copy link
Owner

alex1701c commented Dec 28, 2023

if(KDE_INSTALL_USE_QT_SYS_PATHS)
   # Qt-specific vars
    ecm_query_qt(qt_plugins_dir QT_INSTALL_PLUGINS)
    if(_qt_prefix_is_cmake_install_prefix)
        file(RELATIVE_PATH qt_plugins_dir ${qt_install_prefix_dir} ${qt_plugins_dir})
    endif()
    _define_absolute(QTPLUGINDIR ${qt_plugins_dir} "Qt plugins")

    ecm_query_qt(qt_qml_dir QT_INSTALL_QML)
    if(_qt_prefix_is_cmake_install_prefix)
        file(RELATIVE_PATH qt_qml_dir ${qt_install_prefix_dir} ${qt_qml_dir})
    endif()
   _define_absolute(QMLDIR ${qt_qml_dir} "QtQuick2 imports")
else()

Maybe we run into issues because of this behavior in ECM. Can you try without the /usr install prefix?

@alex1701c
Copy link
Owner

And please check if you have the qtpaths file somewhere else on disk. Or maybe a package is missing, though I'd not expect such issues from Arch where they are not mentally split into pices.

@Ashark
Copy link
Author

Ashark commented Dec 28, 2023

Can you try without the /usr install prefix?

Removing -DCMAKE_INSTALL_PREFIX=/usr from the cmake command did not help. The built package still has path /usr/lib/qt (without 6).

And please check if you have the qtpaths file somewhere else on disk.

❯ pkgfile qtpaths
extra/qt5-tools
extra/qt6-base

❯ yay -Ql qt5-tools | grep qtpaths
qt5-tools /usr/bin/qtpaths
qt5-tools /usr/bin/qtpaths-qt5

❯ yay -Ql qt6-base | grep qtpaths
qt6-base /usr/lib/qt6/bin/qtpaths
qt6-base /usr/lib/qt6/bin/qtpaths6

@alex1701c
Copy link
Owner

And what does the /usr/lib/qt6/bin/qtpaths6 executable give you for the plugin path? And you have that installed, or was it only a search for the package manager?

@Ashark
Copy link
Author

Ashark commented Dec 30, 2023

And what does the /usr/lib/qt6/bin/qtpaths6 executable give you for the plugin path?

How can I check that?

And you have that installed, or was it only a search for the package manager?

The first command (pkgfile) searches in the official packages (that may not be installed).
But I have those installed.

@alex1701c
Copy link
Owner

/usr/lib/qt6/bin/qtpaths6 --query QT_INSTALL_PLUGINS

Your normal qtpaths is a Qt5 bases one? That should output a Qt5 specific dir when qtpaths --plugin-dir is used

@alex1701c
Copy link
Owner

    if(NOT QUERY_EXECUTABLE)
        if(ARGS_TRY)
            set(${result_variable} "" PARENT_SCOPE)
            message(STATUS "No ${_exec_name_text} executable found. Can't check ${qt_variable}")
            return()
        else()
            message(FATAL_ERROR "No ${_exec_name_text} executable found. Can't check ${qt_variable} as required")
        endif()
    endif()

Maybe the QUERY_EXECUTABLE is not found and thus it silently fails -_-

Can you try editing /usr/share/ECM/modules/ECMQueryQt.cmake and add a warning before the check I posted?
Like message(WARNING "the query executable is: ${QUERY_EXECUTABLE}")

@Ashark
Copy link
Author

Ashark commented Dec 30, 2023

❯ /usr/lib/qt6/bin/qtpaths6 --query QT_INSTALL_PLUGINS
/usr/lib/qt6/plugins

❯ qtpaths --plugin-dir
/usr/lib/qt/plugins

@alex1701c
Copy link
Owner

And the ECM stuff I mentioned in my second comment?

@Ashark
Copy link
Author

Ashark commented Dec 30, 2023

It gives the following message:

CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths

@alex1701c
Copy link
Owner

Hmm, but that looks like the correct executable which previously yielded the correct path. Or do you somehow get the message multiple times?

Maybe you could add log statements to /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:219 and print what is done in CMake here

@Ashark
Copy link
Author

Ashark commented Dec 31, 2023

Yeah, I am getting those messages several times. The full output of the cmake command:

CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:199 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:221 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:227 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:254 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


fatal: вышестоящая ветка не настроена для ветки «makepkg»
-- Found KF6: success (found suitable version "5.247.0", minimum required is "5.91.0") found components: I18n Service Runner TextWidgets KIO KCMUtils 
CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:199 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:221 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:227 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:254 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


-- Found KF6: success (found version "5.247.0") found components: Config Service I18n 
-- The following OPTIONAL packages have been found:

 * OpenGL
 * Vulkan
 * Qt6Quick
 * Qt6QuickWidgets
 * Qt6CoreTools (required version >= 6.7.0)
 * Qt6DBusTools (required version >= 6.7.0)
 * Qt6QmlTools (required version >= 6.7.0)
 * Qt6WidgetsTools (required version >= 6.7.0)
 * Qt6Widgets (required version >= 6.5.0)
 * Qt6Xml (required version >= 6.5.0)
 * XKB (required version >= 0.5.0), XKB API common to servers and clients., <http://xkbcommon.org>
 * WrapVulkanHeaders
 * Qt6GuiTools (required version >= 6.7.0)
 * Freetype
 * PkgConfig
 * Fontconfig
 * Qt6Test

-- The following REQUIRED packages have been found:

 * KF6Runner (required version >= 5.91.0)
 * KF6TextWidgets (required version >= 5.91.0)
 * KF6KIO (required version >= 5.91.0)
 * KF6KCMUtils (required version >= 5.91.0)
 * ECM (required version >= 5.82)
 * KF6Config
 * KF6Service
 * Gettext
 * KF6I18n
 * KF6
 * Qt6

-- The following OPTIONAL packages have not been found:

 * Qt6QmlCompilerPlusPrivate
 * freetype

-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/andrew/Development/plasma6-runners-jetbrains-runner-git/src/JetBrainsRunner/build
[  0%] Built target jetbrains_api_static_autogen_timestamp_deps
[  5%] Built target jetbrains_api_static_autogen
[ 40%] Built target jetbrains_api_static
[ 40%] Built target krunner_jetbrainsrunner_autogen_timestamp_deps
[ 40%] Built target kcm_krunner_jetbrainsrunner_autogen_timestamp_deps
[ 50%] Built target kcm_krunner_jetbrainsrunner_autogen
[ 50%] Built target krunner_jetbrainsrunner_autogen
[100%] Built target kcm_krunner_jetbrainsrunner
[100%] Built target krunner_jetbrainsrunner
==> Вход в окружение fakeroot...
==> Запускается package()...
[  0%] Built target jetbrains_api_static_autogen_timestamp_deps
[  5%] Built target jetbrains_api_static_autogen
[ 40%] Built target jetbrains_api_static
[ 40%] Built target krunner_jetbrainsrunner_autogen_timestamp_deps
[ 40%] Built target kcm_krunner_jetbrainsrunner_autogen_timestamp_deps
[ 45%] Built target kcm_krunner_jetbrainsrunner_autogen
[ 50%] Built target krunner_jetbrainsrunner_autogen
[ 70%] Built target krunner_jetbrainsrunner
[100%] Built target kcm_krunner_jetbrainsrunner
Install the project...
-- Install configuration: "Release"
-- Installing: /home/andrew/Development/plasma6-runners-jetbrains-runner-git/pkg/plasma6-runners-jetbrains-runner-git/usr/share/qlogging-categories6/jetbrains-api.categories
-- Installing: /home/andrew/Development/plasma6-runners-jetbrains-runner-git/pkg/plasma6-runners-jetbrains-runner-git/usr/lib/qt/plugins/kcm_krunner_jetbrainsrunner.so
-- Installing: /home/andrew/Development/plasma6-runners-jetbrains-runner-git/pkg/plasma6-runners-jetbrains-runner-git/usr/lib/qt/plugins/kf6/krunner/krunner_jetbrainsrunner.so
-- Installing: /home/andrew/Development/plasma6-runners-jetbrains-runner-git/pkg/plasma6-runners-jetbrains-runner-git/usr/share/pixmaps/jetbrainsrunner.png

Maybe you could add log statements to /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:219

Something like adding --trace to cmake command?

@alex1701c
Copy link
Owner

Yeah, trace sounds good. Or adding more warnings ;)

PS: Happy new Year!

@Ashark
Copy link
Author

Ashark commented Jan 1, 2024

This is the cmake line in PKGBUILD (# -DCMAKE_INSTALL_PREFIX=/usr is commented):

cmake -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_WITH_QT6=ON ..  --trace # -DCMAKE_INSTALL_PREFIX=/usr 

Here is the output: makepkg with traced cmake 20240101.txt

Happy New Year!

@alex1701c
Copy link
Owner

Oh man, this is such a confusing topic...

Try changing the few lines from 222 onward (KDEInstallDirs6)

    message(WARNING "qt_plugins_dir: ${qt_plugins_dir}, prefix dir of Qt ${qt_install_prefix_dir}")
    if(_qt_prefix_is_cmake_install_prefix)
        file(RELATIVE_PATH qt_plugins_dir ${qt_install_prefix_dir} ${qt_plugins_dir})
    endif()
    _define_absolute(QTPLUGINDIR ${qt_plugins_dir} "Qt plugins")
    message(WARNING "qtpluginsdir is now: ${qt_plugins_dir} after resolving relative KDE_INSTALL_QTPLUGINDIR: ${KDE_INSTALL_QTPLUGINDIR}")

/usr/share/ECM/modules/ECMQueryQt.cmake(96): set(${result_variable} ${output_path} PARENT_SCOPE )
/usr/share/ECM/kde-modules/KDEInstallDirs6.cmake(222): if(_qt_prefix_is_cmake_install_prefix )
/usr/share/ECM/kde-modules/KDEInstallDirs6.cmake(223): file(RELATIVE_PATH qt_plugins_dir ${qt_install_prefix_dir} ${qt_plugins_dir} )
/usr/share/ECM/kde-modules/KDEInstallDirs6.cmake(225): _define_absolute(QTPLUGINDIR ${qt_plugins_dir} Qt plugins )
/usr/share/ECM/kde-modules/KDEInstallDirsCommon.cmake(200): _define_relative(QTPLUGINDIR lib/qt6/plugins Qt plugins )

The "QTPLUGINDIR lib/qt6/plugins Qt plugins" line looks suspicious, the qt_plugins_dir variable we got shouldn't contain a space.

@Ashark
Copy link
Author

Ashark commented Jan 1, 2024

I added the warnings to lines 222 and 227 in KDEInstallDirs6, and the output is:

CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:199 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:221 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


CMake Warning at /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:222 (message):
  qt_plugins_dir: /usr/lib/qt6/plugins, prefix dir of Qt /usr
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


CMake Warning at /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:227 (message):
  qtpluginsdir is now: lib/qt6/plugins after resolving relative
  KDE_INSTALL_QTPLUGINDIR: /usr/lib/qt/plugins
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:229 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:256 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  CMakeLists.txt:22 (include)


fatal: вышестоящая ветка не настроена для ветки «makepkg»
-- Found KF6: success (found suitable version "5.247.0", minimum required is "5.91.0") found components: I18n Service Runner TextWidgets KIO KCMUtils 
CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:199 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:221 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


CMake Warning at /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:222 (message):
  qt_plugins_dir: /usr/lib/qt6/plugins, prefix dir of Qt /usr
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


CMake Warning at /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:227 (message):
  qtpluginsdir is now: lib/qt6/plugins after resolving relative
  KDE_INSTALL_QTPLUGINDIR: /usr/lib/qt/plugins
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:229 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)


CMake Warning at /usr/share/ECM/modules/ECMQueryQt.cmake:78 (message):
  the query executable is: /usr/lib/qt6/bin/qtpaths
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDEInstallDirs6.cmake:256 (ecm_query_qt)
  /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:15 (include)
  src/jetbrains-api/CMakeLists.txt:9 (include)

I also uncommented -DCMAKE_INSTALL_PREFIX=/usr and removed --trace.

@alex1701c
Copy link
Owner

But qtpluginsdir is now should also appear in the log?

@Ashark
Copy link
Author

Ashark commented Jan 2, 2024

Oh, sorry, looks like I accidently did not saved the KDEInstallDirs6.cmake after adding the second warning line. I was using gedit, because for some reason kate could not save the system file after even I write the correct password. And I used to that kate is configured to automatically save the file, so I forget to press Ctrl + S in gedit.
I have updated my previous comment, there actually are messages with "qtpluginsdir is now".

@alex1701c
Copy link
Owner

This is super weird, I can't find anything wrong in the cmake logs. My suggestion would be to use qtpaths to pass in the plugin dir explicitly.

Please also file a bug on bugs.kde.org and link to this issue. Maybe someone with arch system packages has more luck hunting down this bug. What also seems off to me is that according to the trace, we run the first time in the if-block for the cache.

I wish I could come up with a more proper solutions :(

@Ashark
Copy link
Author

Ashark commented Jan 17, 2024

I have filed a bug 479941.

I have tried to manually move the .so files to the correct path with mv -v "$pkgdir"/usr/lib/qt{,6}, and it worked.
I have uploaded the aur package plasma6-runners-jetbrains-runner-git, you can now mention it in the Readme.

@Ashark
Copy link
Author

Ashark commented Jan 17, 2024

Have you started with a clean build?

I now tried to remove both pkg and src directories (actually, build with makepkg after cloning the aur pkgbuild), and it seems it helped. It now have built with the correct path.

@alex1701c
Copy link
Owner

I now tried to remove both pkg and src directories (actually, build with makepkg after cloning the aur pkgbuild), and it seems it helped. It now have built with the correct path.

Great! So we may consider this issue resolved?

@Ashark
Copy link
Author

Ashark commented Jan 17, 2024

Yes. Just add the new aur package to readme.

@Ashark Ashark closed this as completed Jan 17, 2024
alex1701c added a commit that referenced this issue Jan 17, 2024
@alex1701c
Copy link
Owner

Done!

@deivid11
Copy link

deivid11 commented Mar 4, 2024

I've managed to install the plugin on kde6 with fedora 39 (nobara) downloading the install.sh and modifying the cmake line:

cmake -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DBUILD_WITH_QT6=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. --trace

Also is needed to have the qt dependencies installed:

sudo dnf install kf6-kdoctools-debuginfo-6.0.0-1.fc39.x86_64 kf6-ki18n-debuginfo-6.0.0-1.fc39.x86_64 kf6-kservice-devel-6.0.0-1.fc39.x86_64 kf6-krunner-devel-6.0.0-1.fc39.x86_64 kf6-ktextwidgets-devel-6.0.0-1.fc39.x86_64 kf6-kio-devel-6.0.0-1.fc39.x86_64 kf6-kcmutils-devel-6.0.0-1.fc39.x86_64

@alex1701c
Copy link
Owner

-DCMAKE_POSITION_INDEPENDENT_CODE=ON

This is a GCC issue. I fixed it in the jetbrains-api submodule

@Ashark I have made some changes and published a 2.0.0 release. Old manual mappings will be discarded, but it is more reliable/performant/simple now :)

@alex1701c alex1701c self-assigned this Apr 21, 2024
@Ashark
Copy link
Author

Ashark commented Apr 27, 2024

@alex1701c Thanks for notification. I have updated it.

Is this part still correct in the install script?

# KRunner needs to be restarted for the changes to be applied
if pgrep -x krunner > /dev/null
then
    kquitapp5 krunner
fi

I just updated my package, and it did not (currently) have any post-install scripts with such instruction.

Also, in readme in this line:

Option B: Get it from the AUR for [Plasma5](https://aur.archlinux.org/packages/plasma5-runners-jetbrains-runner-git/) or [Plasma6](https://aur.archlinux.org/packages/plasma6-runners-jetbrains-runner-git)

you can remove Plasma 5, as it is no longer exists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants