Hi, I'm trying out the new kdesrc-build 1.15 release on fedora in my kde build environment but the tool just complains about missing qmake. Of course it's installed. If I skip the check with KDESRC_BUILD_IGNORE_MISSING_PROGRAMS=1 the build job completes fine. version 1.14.1 is working without problems on the same setup. Reproducible: Always Steps to Reproduce: 1. run kdesrc-build in kde build env .build-config: # KDE4 Build Environment configuration script # # To configure your build environment set LIB_SUFFIX, BASEDIR, BUILDNAME and # QTDIR as appropriate # # The default values provided are for a master/trunk/unstable build in your own # user directory using your system Qt # Uncomment if building on a 64 bit system export LIB_SUFFIX=64 # Set where your base KDE development folder is located, usually ~/kde export BASEDIR=~/projects/kdesrc # Give the build a name, e.g. master, 4.6, debug, etc export BUILDNAME=master # Set up which Qt to use # Use the system Qt, adjust path as required export QTDIR=/usr # Uncomment to use your own build of qt-kde #export QTDIR=$BASEDIR/inst/master/qt-kde #export PATH=$QTDIR/bin:$PATH #export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH #export PKG_CONFIG_PATH=$QTDIR/lib/pkgconfig:$PKG_CONFIG_PATH # Set up the KDE paths export KDE_SRC=$BASEDIR/src export KDE_BUILD=$BASEDIR/build export KDEDIR=$BASEDIR/inst export KDEDIRS=$KDEDIR export KDEHOME=$BASEDIR/home/.$BUILDNAME export KDETMP=/tmp/$BUILDNAME-$USER export KDEVARTMP=/var/tmp/$BUILDNAME-$USER mkdir -p $KDETMP mkdir -p $KDEVARTMP # Add the KDE plugins to the Qt plugins path export QT_PLUGIN_PATH=$KDEDIR/lib/kde4/plugins # Do we really need these? export KDE4_DBUS_INTERFACES_DIR=$KDEDIR/share/dbus-1/interfaces export PYTHON_SITE_PACKAGES_DIR=$KDEDIR/lib/python2.6/site-packages/PyKDE4 # Export the standard paths to include KDE export PATH=$KDEDIR/bin:$PATH export LD_LIBRARY_PATH=$KDEDIR/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=$KDEDIR/lib/pkgconfig:$PKG_CONFIG_PATH # Export the CMake paths so it searches for KDE in the right places export CMAKE_PREFIX_PATH=$KDEDIR:$CMAKE_PREFIX_PATH export CMAKE_LIBRARY_PATH=$KDEDIR/lib:$CMAKE_LIBRARY_PATH export CMAKE_INCLUDE_PATH=$KDEDIR/include:$CMAKE_INCLUDE_PATH # Unset XDG to avoid seeing KDE files from /usr # If unset then you must install shared-mime-info unset XDG_DATA_DIRS unset XDG_CONFIG_DIRS # Uncomment if you are using Icecream for distributed compiling #export PATH=/opt/icecream/bin:$PATH # Report what the environment is set to echo echo "*** Configured KDE Build Environment " $BUILDNAME " ***" echo echo "QTDIR=" $QTDIR echo "KDEDIR=" $KDEDIR echo "PATH=" $PATH echo
Thanks for reporting the bug. qmake is required even for KDE+cmake (or at least AFAIK, my understanding is qmake is used to query the Qt install parameters). The routine that looks for qmake emulates the functionality of which(1): that is, it searches $PATH, treating is as a ':'-separated array of paths. It seems that for whatever reason it's not finding a qmake in that process. Please run "which qmake" from your KDE build environment to query where qmake is supposed to be found. Also please run "kdesrc-build --debug --pretend --no-async qt" so we can look at what kdesrc-build thinks PATH is supposed to be when starting the build. (You'll see uninitialized variable warnings, those are fixed in git master). And obviously please save the output for both and post to this bug.
thanks for your quick response! kde build env: which qmake-qt4 /usr/bin/qmake-qt4 * *yes, it's qmake-qt4 on fedora (so you can install qmake for qt3 in parallel)
Created attachment 70960 [details] output of kdesrc-build --debug --pretend --no-async qt
> *yes, it's qmake-qt4 on fedora (so you can install qmake for qt3 in parallel) facepalm.jpg Well, that explains what the failure is at least. kdesrc-build doesn't search for qmake-qt4, it only searches for qmake. The KDE build system has the Fedora-adapted check and so it works anyways when you force it to proceed. I'll see about what the easiest way is to fix...
Git commit 9b3a8547116047198d7a751bb630ab5741096aaf by Michael Pyne. Committed on 09/05/2012 at 02:02. Pushed by mpyne into branch 'master'. Fix check for qmake. qmake isn't always named 'qmake'. kdesrc-build searches for qmake before it runs to avoid having to take a long time to fail to build dozens of modules, but should search for the same names looked for by the FindQt4 cmake check. In addition to correcting the check, I've also fixed the usage of 'qmake' in the QMakeBuildSystem. Thanks for the prompt bug report! (And please re-open if this fails for you, it's a bit more difficult for me to thoroughly test) FIXED-IN:1.15.1 M +23 -2 kdesrc-build http://commits.kde.org/kdesrc-build/9b3a8547116047198d7a751bb630ab5741096aaf
I think your last commit caused a new issue. Now if I make a regular kdesrc run it just crashes. I'm on kdesrc master now, sample config When you are online? Maybe we can do a debug session in IRC together?
Created attachment 70980 [details] kdesrc-build debug
Created attachment 70981 [details] kdesrc-build regular crash
Online now, mpyne in #kde-devel, freenode IRC. Typically I am online 2200 UTC - 0200 UTC.
Git commit a783cc12b23eca5cc4a8f51a1d01fed614e69d81 by Michael Pyne. Committed on 09/05/2012 at 23:58. Pushed by mpyne into branch 'master'. absPathToExecutable is not in ksb::Util, fix call. I had thought I had already moved absPathToExecutable into ksb::Util, but as it turns out I had not done so quite yet. This caused my bugfix for bug 299577 to instead cause a crash, sorry about that. :( M +1 -1 kdesrc-build http://commits.kde.org/kdesrc-build/a783cc12b23eca5cc4a8f51a1d01fed614e69d81
On Wednesday 09 May 2012 22:00:08 you wrote: > --- Comment #10 from Michael Pyne <mpyne@kde.org> --- > Git commit a783cc12b23eca5cc4a8f51a1d01fed614e69d81 by Michael Pyne. > Committed on 09/05/2012 at 23:58. > Pushed by mpyne into branch 'master'. > > absPathToExecutable is not in ksb::Util, fix call. > > I had thought I had already moved absPathToExecutable into ksb::Util, > but as it turns out I had not done so quite yet. > > This caused my bugfix for bug 299577 to instead cause a crash, sorry > about that. :( > > M +1 -1 kdesrc-build > > http://commits.kde.org/kdesrc-build/a783cc12b23eca5cc4a8f51a1d01fed614e69d81 yay, you got it :) When 1.15.1 is released I will update my fedora package. Thanks!
Hmm, sorry Gregor, I just noticed I hadn't actually tagged 1.15.1 yet! There's some intermediate changes on git-master now so I've made a "branch-1.15" and tagged a 1.15.1 from that. git-shortlog is: Michael Pyne (6): Fix uninit warning in --debug. Fix check for qmake. absPathToExecutable is not in ksb::Util, fix call. Fix remove-after-install. Run test suite from temporary test directory. Bump version to 1.15.1 The cryptographically-signed xz-tarball should hopefully land overnight. The release page will be at http://kdesrc-build.kde.org/releases/kdesrc-build-1.15.1.php where you can download the tarball from.
On Tuesday 22 May 2012 01:38:48 you wrote: > https://bugs.kde.org/show_bug.cgi?id=299577 > > --- Comment #12 from Michael Pyne <mpyne@kde.org> --- > The cryptographically-signed xz-tarball should hopefully land overnight. The > release page will be at > http://kdesrc-build.kde.org/releases/kdesrc-build-1.15.1.php where you can > download the tarball from. Great! Though the download link at http://kdesrc- build.kde.org/releases/kdesrc-build-1.15.1.php is broken. The source archive is already uploaded. The file suffix of the link is wrong, too "Download it: kdesrc-build-1.15.1.tar.bz2 - Details (incl. PGP signature)"
Thanks, both issues should be fixed now (or at least when SVN pushes out to the HTTP root)