unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Andreas Enge <andreas@enge.fr>
To: David Craven <david@craven.ch>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 06/31] gnu: kwindowsystem: Update to 5.24.0.
Date: Mon, 1 Aug 2016 23:10:34 +0200	[thread overview]
Message-ID: <20160801211034.GG6728@solar> (raw)
In-Reply-To: <20160801181342.16203-7-david@craven.ch>

On Mon, Aug 01, 2016 at 08:13:17PM +0200, David Craven wrote:
> * gnu/packages/kde-frameworks.scm: Update to 5.24.0.

Here also, mention all changes:

> -        (uri (string-append "http://download.kde.org/stable/frameworks/"
> +        (uri (string-append "mirror://kde/stable/frameworks/"

This.

>      (native-inputs
> -     `(("pkg-config" ,pkg-config)
> +     `(("extra-cmake-modules" ,extra-cmake-modules)
> +       ("pkg-config" ,pkg-config)
>         ("xorg-server" ,xorg-server))) ; for the tests
>      (inputs
> -     `(("extra-cmake-modules" ,extra-cmake-modules)

The move of extra-cmake-modules.

> -       ("qt" ,qt)
> +       ("qtbase" ,qtbase)
> +       ("qtx11extras" ,qtx11extras)

And the switch from the monolithic to the modular Qt.

For qtx11extras that is not found, here is the error message:

CMake Error at /gnu/store/6d3qjij1k7z2sjlsq9c0b8ql53xgn34v-qtbase-5.6.1-1/lib/cmake/Qt5/Qt5Config.cmake:26 (find_package):
  Could not find a package configuration file provided by "Qt5X11Extras" with
  any of the following names:

    Qt5X11ExtrasConfig.cmake
    qt5x11extras-config.cmake

  Add the installation prefix of "Qt5X11Extras" to CMAKE_PREFIX_PATH or set
  "Qt5X11Extras_DIR" to a directory containing one of the above files.  If
  "Qt5X11Extras" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:54 (find_package)
-- Configuring incomplete, errors occurred!
See also "/tmp/guix-build-kwindowsystem-5.24.0.drv-0/build/CMakeFiles/CMakeOutput.log".
phase `configure' failed after 4.4 seconds

One can go into /tmp/guix-build-kwindowsystem-5.24.0.drv-0 and look at the
file environment-variables. It does contain
export CMAKE_PREFIX_PATH="...:/gnu/store/3a5v3gh59hif13w7jqk8lhp5kvwbwk2i-qtx11extras-5.6.1-1/:..."

This is the installation prefix, and it is added to CMAKE_PREFIX_PATH as
required. Strange!

Inside, in the directory lib/cmake/Qt5X11Extras/, there are
Qt5X11ExtrasConfig.cmake and Qt5X11ExtrasConfigVersion.cmake.

It should be possible to define the environment variable Qt5X11Extras_DIR,
but it would be good to understand the problem...

According to the cmake documentation:
   https://cmake.org/cmake/help/v3.0/command/find_package.html
the Qt5X11ExtrasConfig.cmake file is searched for in the following directories
(the "(U)" stands for "Unix"):
<prefix>/(lib/<arch>|lib|share)/cmake/<name>*/          (U)
<prefix>/(lib/<arch>|lib|share)/<name>*/                (U)
<prefix>/(lib/<arch>|lib|share)/<name>*/(cmake|CMake)/  (U)

In our case, the file is actually in
<prefix>/lib/cmake/<name>/, which should be fine.

The exact failing line 54 of CMakeLists.txt is:
   find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED X11Extras)
This actually does not correspond to the regular expression for find_package
in the cmake documentation...
I think it actually looks for Qt5Config.cmake, which it finds in qtbase, see
the line in the above error message:
CMake Error at /gnu/store/6d3qjij1k7z2sjlsq9c0b8ql53xgn34v-qtbase-5.6.1-1/lib/cmake/Qt5/Qt5Config.cmake:26 (find_package):
  Could not find a package configuration file provided by "Qt5X11Extras" with
Lines 25 following of Qt5Config.cmake look like this:
foreach(module ${Qt5_FIND_COMPONENTS})
    find_package(Qt5${module}
        ${_Qt5_FIND_PARTS_QUIET}
        ${_Qt5_FIND_PARTS_REQUIRED}
        PATHS "${_qt5_install_prefix}" NO_DEFAULT_PATH
    )
So it looks like "find_package" is called with the argument "Qt5X11Extras",
but also with the suspicious additional parameters
   PATHS "${_qt5_install_prefix}" NO_DEFAULT_PATH
Since we install qt5x11extras to a different directory from qt5base,
the thing following the PATHS keyword is probably wrong.

See the cmake documentation:
"The set of installation prefixes is constructed using the following steps. If NO_DEFAULT_PATH is specified all NO_* options are enabled.
    Search paths specified in cmake-specific cache variables. These are intended to be used on the command line with a -DVAR=value. This can be skipped if NO_CMAKE_PATH is passed:
    CMAKE_PREFIX_PATH
    CMAKE_FRAMEWORK_PATH
    CMAKE_APPBUNDLE_PATH"

So I would say the error message is totally misleading; the NO_DEFAULT_PATH
keyword explicitly disables the CMAKE_PREFIX_PATH.

Unfortunately the store is read-only (in former times, I sometimes modified
store items by hand; now I do not dare overwrite the special file system
flags any more...), otherwise I would have tried to modify the file by hand...

Sorry for the long message, which follows my own path in trying to debug
this mess. To quickly summarise it:
I think we need to modify the qtbase package to drop the
NO_DEFAULT_PATH from Qt5Config.cmake.

Ceterum censeo that cmake should not be used, but this is not our choice;
autotools based projects usually do not create these problems...

Andreas

  reply	other threads:[~2016-08-01 21:10 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-01 18:13 [PATCH 00/31] KDE Framework Tier1 Packages David Craven
2016-08-01 18:13 ` [PATCH 01/31] gnu: network-manager: Propagate GLIB David Craven
2016-08-01 19:48   ` Andreas Enge
2016-08-01 19:56     ` David Craven
2016-08-01 21:16       ` Andreas Enge
2016-08-01 18:13 ` [PATCH 02/31] download: Add KDE mirrors David Craven
2016-08-01 19:54   ` Andreas Enge
2016-08-02  9:55     ` Ludovic Courtès
2016-08-02 10:08       ` David Craven
2016-08-02 15:47         ` Leo Famulari
2016-08-02 15:52           ` David Craven
2016-08-02 16:27             ` Leo Famulari
2016-08-02 16:40               ` David Craven
2016-08-02 16:54                 ` David Craven
2016-08-01 18:13 ` [PATCH 03/31] gnu-maintenance: Add KDE updater David Craven
2016-08-02 10:02   ` Ludovic Courtès
2016-08-02 10:41     ` Andreas Enge
2016-08-02 12:42       ` Ludovic Courtès
2016-08-01 18:13 ` [PATCH 04/31] lint: 'inputs-should-be-native' checks for extra-cmake-modules and qttools David Craven
2016-08-01 21:22   ` Ludovic Courtès
2016-08-01 18:13 ` [PATCH 05/31] gnu: extra-cmake-modules: Update to 5.24.0 David Craven
2016-08-01 20:19   ` Andreas Enge
2016-08-01 18:13 ` [PATCH 06/31] gnu: kwindowsystem: " David Craven
2016-08-01 21:10   ` Andreas Enge [this message]
2016-08-01 22:17     ` Andreas Enge
2016-08-01 22:21       ` David Craven
2016-08-01 22:28         ` David Craven
2016-08-01 22:51           ` David Craven
2016-08-02 17:36             ` David Craven
2016-08-02 21:31               ` Ludovic Courtès
2016-08-03 14:08                 ` David Craven
2016-08-05 14:36                   ` David Craven
2016-08-05 18:21                     ` Andreas Enge
2016-08-05 18:23                     ` Andreas Enge
2016-08-05 19:38                   ` Andreas Enge
2016-08-05 19:51                     ` David Craven
2016-08-01 18:13 ` [PATCH 07/31] gnu: oxygen-icons: " David Craven
2016-08-01 18:13 ` [PATCH 08/31] gnu: kde-frameworks: Remove kde-frameworks-version David Craven
2016-08-01 19:57   ` Andreas Enge
2016-08-01 20:00     ` David Craven
2016-08-01 21:17       ` Andreas Enge
2016-08-02 11:55         ` David Craven
2016-08-02 11:57           ` David Craven
2016-08-02 12:15             ` Andreas Enge
2016-08-02 12:44             ` Ludovic Courtès
2016-08-02 12:50               ` David Craven
2016-08-01 19:58   ` Andreas Enge
2016-08-02 12:33   ` Ludovic Courtès
2016-08-01 18:13 ` [PATCH 09/31] gnu: kde-frameworks: Add attica David Craven
2016-08-01 18:13 ` [PATCH 10/31] gnu: kde-frameworks: Add bluez-qt David Craven
2016-08-01 18:13 ` [PATCH 11/31] gnu: kde-frameworks: Add breeze-icons David Craven
2016-08-01 18:13 ` [PATCH 12/31] gnu: kde-frameworks: Add kapidox David Craven
2016-08-01 18:13 ` [PATCH 13/31] gnu: kde-frameworks: Add karchive David Craven
2016-08-01 18:13 ` [PATCH 14/31] gnu: kde-frameworks: Add kcodecs David Craven
2016-08-01 18:13 ` [PATCH 15/31] gnu: kde-frameworks: Add kconfig David Craven
2016-08-01 18:13 ` [PATCH 16/31] gnu: kde-frameworks: Add kcoreaddons David Craven
2016-08-01 18:13 ` [PATCH 17/31] gnu: kde-frameworks: Add kdbusaddons David Craven
2016-08-01 18:13 ` [PATCH 18/31] gnu: kde-frameworks: Add kdnssd David Craven
2016-08-01 18:13 ` [PATCH 19/31] gnu: kde-frameworks: Add kguiaddons David Craven
2016-08-01 18:13 ` [PATCH 20/31] gnu: kde-frameworks: Add ki18n David Craven
2016-08-01 18:13 ` [PATCH 21/31] gnu: kde-frameworks: Add kidletime David Craven
2016-08-01 18:13 ` [PATCH 22/31] gnu: kde-frameworks: Add kitemmodels David Craven
2016-08-01 18:13 ` [PATCH 23/31] gnu: kde-frameworks: Add kitemviews David Craven
2016-08-01 18:13 ` [PATCH 24/31] gnu: kde-frameworks: Add kplotting David Craven
2016-08-01 18:13 ` [PATCH 25/31] gnu: kde-frameworks: Add kwayland David Craven
2016-08-01 18:13 ` [PATCH 26/31] gnu: kde-frameworks: Add kwidgetsaddons David Craven
2016-08-01 18:13 ` [PATCH 27/31] gnu: kde-frameworks: Add modemmanager-qt David Craven
2016-08-01 18:13 ` [PATCH 28/31] gnu: kde-frameworks: Add networkmanager-qt David Craven
2016-08-01 18:13 ` [PATCH 29/31] gnu: kde-frameworks: Add solid David Craven
2016-08-01 18:13 ` [PATCH 30/31] gnu: kde-frameworks: Add sonnet David Craven
2016-08-01 18:13 ` [PATCH 31/31] gnu: kde-frameworks: Add threadweaver David Craven
2016-08-01 19:44 ` [PATCH 00/31] KDE Framework Tier1 Packages Andreas Enge
2016-08-01 21:21 ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160801211034.GG6728@solar \
    --to=andreas@enge.fr \
    --cc=david@craven.ch \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).