On samedi 11 août 2018 07:02:18 CEST Ben Cooksley wrote: > On Fri, Aug 10, 2018 at 7:28 PM David Faure <fa...@kde.org> wrote: > > Any idea why purpose can't find the KIO http and file protocols -- on > > Windows? > > > > https://build.kde.org/view/Frameworks/job/Frameworks%20purpose%20kf5-qt5%2 > > 0WindowsMSVCQt5.10/76/testReport/junit/(root)/TestSuite/alternativesmodelt > > est/ > > > > That's very odd, because the dependency from purpose on kio is there in > > kde-build-metadata (it wouldn't build otherwise), and using kio_file from > > other frameworks surely works (e.g. in KParts). > > > > The lookup for protocols looks for "kf5/kio" under all Qt plugin > > directories, i.e. $QT_PLUGIN_PATH. > > > > The CI log says > > QT_PLUGIN_PATH = 'C:\CI\workspace\Frameworks purpose kf5-qt5 > > WindowsMSVCQt5.10\install-prefix\lib\plugins;C:\Craft\CI\windows-msvc2017 > > _64-cl-debug\lib\qca-qt5' > > > > => is there a kf5\kio subdir in C:\CI\workspace\Frameworks purpose kf5-qt5 > > WindowsMSVCQt5.10\install-prefix\lib\plugins ? > I've checked and the following seem to be present in that directory, > which looks correct to me: > > Mode LastWriteTime Length Name > ---- ------------- ------ ---- > -a---- 8/10/2018 8:39 PM 274944 file.dll > -a---- 8/10/2018 8:40 PM 352256 ftp.dll > -a---- 8/10/2018 8:40 PM 185856 ghelp.dll > -a---- 8/10/2018 8:39 PM 185856 help.dll > -a---- 8/10/2018 8:45 PM 946688 http.dll > -a---- 8/10/2018 8:40 PM 189440 remote.dll > -a---- 8/10/2018 8:40 PM 122880 trash.dll > > Is there any debug output we can enable to see how it is searching for > the plugins?
I have now added debug output to kcoreaddons and kio, and the result is: Checking for plugins in ("C:/CI/workspace/Frameworks purpose kf5-qt5 WindowsMSVCQt5.10/build/bin/kf5/kio", "C:/Craft/CI/windows-msvc2017_64-cl-debug/plugins/kf5/kio") This list doesn't include the above directory, C:\CI\workspace\Frameworks purpose kf5-qt5 WindowsMSVCQt5.10\install-prefix\lib\plugins. Yet, ECMAddTests.cmake adds to QT_PLUGIN_PATH, it doesn't overwrite it... I wonder if set(PATHSEP "\\;") is correct though (why double backslash?) QCoreApplication::libraryPaths reads that env var and splits it using QDir::listSeparator() which is ';' on Windows. Kevin, any reason for the backslash? Do you see any other reason for this to fail, otherwise? -- David Faure, fa...@kde.org, http://www.davidfaure.fr Working on KDE Frameworks 5