if executable is a project (cmake) target, and it is selected in "Run" dialog as "Project target", then "Execute current launch" fails, because executale file path is empty. "Debug current launch" works fine Reproducible: Always
Can you report a test case? It works for me here, I think.
For me, even the following sequence leads to the problem: 1) remove ~/.cache/kdevduchain (just in case) 2) launch kdevelop. create new session. create new project from template "Standard/terminal" 3) add run target. Remove "Build" depenedencies from the launch target configuration 4) build project 5) try to launch. It fails Maybe you can point me where (in sources) debugging might be started?
Hm... Now even if I specify the executable manually, KDevelop can not start it with the same message.
When targets are listed in build dependencies, KDevelop tries to build and install them, even when I select just "Build"
If I disable "Plasmoid launcher plugin", KDevelop crashes when I try to launch native application. #5 0x00007f341f68d0a0 in KDevelop::IPlugin::extensions() const () from /usr/lib64/libkdevplatforminterfaces.so.7 #6 0x00007f337bb65c83 in NativeAppLauncher::start(QString const&, KDevelop::ILaunchConfiguration*) () from /usr/lib64/kde4/kdevexecute.so #7 0x00007f341f3fb8ab in KDevelop::RunController::execute(QString const&, KDevelop::ILaunchConfiguration*) () from /usr/lib64/libkdevplatformshell.so.7 #8 0x00007f341f3fcb90 in KDevelop::RunController::executeDefaultLaunch(QString const&) () from /usr/lib64/libkdevplatformshell.so.7 #9 0x00007f341f3f8ad9 in KDevelop::RunController::slotExecute() () from /usr/lib64/libkdevplatformshell.so.7 #10 0x00007f341f3fe8b5 in KDevelop::RunController::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.62] () from /usr/lib64/libkdevplatformshell.so.7 #11 0x00007f341e74a18f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4 #12 0x00007f341db28ca2 in QAction::triggered(bool) () from /usr/lib64/qt4/libQtGui.so.4 #13 0x00007f341db2a533 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/qt4/libQtGui.so.4 #14 0x00007f341dec3dd2 in QAbstractButtonPrivate::click() () from /usr/lib64/qt4/libQtGui.so.4 #15 0x00007f341dec3f1c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #16 0x00007f341df74aca in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #17 0x00007f341db7bd0e in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #18 0x00007f341db2eedc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #19 0x00007f341db34b5d in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #20 0x00007f341ecdf8ba in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5 #21 0x00007f341e73506e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4 #22 0x00007f341db34323 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4 #23 0x00007f341dba2350 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4 #24 0x00007f341dba06fc in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #25 0x00007f341dbc5fc2 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4 #26 0x000000364b04a2e5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #27 0x000000364b04a618 in g_main_context_iterate.isra.24 () from /usr/lib64/libglib-2.0.so.0 #28 0x000000364b04a6d4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #29 0x00007f341e762a06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #30 0x00007f341dbc6066 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4 #31 0x00007f341e733dcf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #32 0x00007f341e734058 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #33 0x00007f341e738ba8 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4 #34 0x000000000040c3b9 in main ()
If "Plasmoid launcher" is enabled, in NativeAppJob::NativeAppJob() I see that executable, returned by iface->executable() is indeed empty. envgrp there is empty also. Do these facts and my previous comment mean that plasmoid launcher is selected instead of native launcher?
And, finally, if I remove /usr/share/kde4/services/kdevexecuteplasmoid.desktop file, native launch works
Git commit 91cd040180ee526658455e6324e365e1be63acfe by Aleix Pol, on behalf of Andras Mantia. Committed on 03/05/2013 at 13:26. Pushed by apol into branch '1.5'. Enforce picking up of the right plugin, otherwise we got two (plasmoid launcher and application) and the first one was used (plasmoid launcher) for native apps as well. That resulted in broken build & execution of the project. M +1 -1 plugins/execute/nativeappconfig.cpp M +1 -1 plugins/execute/nativeappjob.cpp http://commits.kde.org/kdevplatform/91cd040180ee526658455e6324e365e1be63acfe
*** Bug 319209 has been marked as a duplicate of this bug. ***