Bug 382680 - 3.0.2 release build fails with cmake 3.9
Summary: 3.0.2 release build fails with cmake 3.9
Status: RESOLVED FIXED
Alias: None
Product: tellico
Classification: Applications
Component: general (show other bugs)
Version: 3.0.2
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Robby Stephenson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-24 20:42 UTC by rezso
Modified: 2017-09-01 16:44 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 3.1


Attachments
Fix build with cmake 3.9 (8.36 KB, patch)
2017-08-01 23:56 UTC, rezso
Details
attachment-15525-0.html (1.27 KB, text/html)
2017-09-01 16:44 UTC, Sumit Bhardwaj
Details

Note You need to log in before you can comment on or make changes to this bug.
Description rezso 2017-07-24 20:42:21 UTC
I can compile the 3.0.2 release with cmake 3.7.2, but compiling with cmake 3.9 fails:

-- Configuring done
CMake Error: The inter-target dependency graph contains the following strongly connected component (cycle):
  "core" of type STATIC_LIBRARY
    depends on "images" (weak)
    depends on "utils" (weak)
    depends on "core_autogen" (strong)
  "core_autogen" of type UTILITY
    depends on "images" (strong)
    depends on "utils" (strong)
  "images" of type STATIC_LIBRARY
    depends on "core" (weak)
    depends on "utils" (weak)
    depends on "images_autogen" (strong)
  "images_autogen" of type UTILITY
    depends on "core" (strong)
    depends on "utils" (strong)
  "utils" of type STATIC_LIBRARY
    depends on "images" (weak)
    depends on "core" (weak)
    depends on "utils_autogen" (strong)
  "utils_autogen" of type UTILITY
    depends on "images" (strong)
At least one of these targets is not a STATIC_LIBRARY.  Cyclic dependencies are allowed only among static libraries.
Comment 1 rezso 2017-07-24 23:47:15 UTC
And the output of configuring, if this helps:

cmake
	-DCMAKE_PREFIX_PATH=/usr/lib/qt5
	-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
	-DBUILD_TESTS=OFF
	-DCMAKE_INSTALL_PREFIX=/usr
	-DCMAKE_INSTALL_LIBDIR=/usr/lib
-- The C compiler identification is GNU 6.2.0
-- The CXX compiler identification is GNU 6.2.0
-- Check for working C compiler: /usr/lib/ccache/cc
-- Check for working C compiler: /usr/lib/ccache/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/lib/ccache/c++
-- Check for working CXX compiler: /usr/lib/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:11 (CMAKE_POLICY):
  The OLD behavior for policy CMP0028 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


CMake Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:640 (message):
  KDE_INSTALL_BINDIR, KDE_INSTALL_LIBDIR and KDE_INSTALL_INCLUDEDIR should
  either all be absolute paths or all be relative paths.
Call Stack (most recent call first):
  CMakeLists.txt:31 (include)


-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Failed
-- Performing Test HAVE_DATE_TIME
-- Performing Test HAVE_DATE_TIME - Success
-- Could not set up the appstream test. appstreamcli is missing.
-- Looking for strlwr
-- Looking for strlwr - not found
-- Looking for strupr
-- Looking for strupr - not found
-- Found KF5Archive: /usr/lib/cmake/KF5Archive/KF5ArchiveConfig.cmake (found version "5.36.0") 
-- Found KF5Codecs: /usr/lib/cmake/KF5Codecs/KF5CodecsConfig.cmake (found version "5.36.0") 
-- Found KF5Config: /usr/lib/cmake/KF5Config/KF5ConfigConfig.cmake (found version "5.36.0") 
-- Found KF5ConfigWidgets: /usr/lib/cmake/KF5ConfigWidgets/KF5ConfigWidgetsConfig.cmake (found version "5.36.0") 
-- Found KF5CoreAddons: /usr/lib/cmake/KF5CoreAddons/KF5CoreAddonsConfig.cmake (found version "5.36.0") 
-- Found KF5Crash: /usr/lib/cmake/KF5Crash/KF5CrashConfig.cmake (found version "5.36.0") 
-- Found KF5DocTools: /usr/lib/cmake/KF5DocTools/KF5DocToolsConfig.cmake (found version "5.36.0") 
-- Found KF5GuiAddons: /usr/lib/cmake/KF5GuiAddons/KF5GuiAddonsConfig.cmake (found version "5.36.0") 
-- Found KF5IconThemes: /usr/lib/cmake/KF5IconThemes/KF5IconThemesConfig.cmake (found version "5.36.0") 
-- Found KF5ItemModels: /usr/lib/cmake/KF5ItemModels/KF5ItemModelsConfig.cmake (found version "5.36.0") 
-- Found Gettext: /usr/bin/msgmerge (found version "0.19.8.1") 
-- Found PythonInterp: /usr/bin/python (found version "2.7.12") 
-- Found KF5I18n: /usr/lib/cmake/KF5I18n/KF5I18nConfig.cmake (found version "5.36.0") 
-- Found KF5JobWidgets: /usr/lib/cmake/KF5JobWidgets/KF5JobWidgetsConfig.cmake (found version "5.36.0") 
-- Found KF5KIO: /usr/lib/cmake/KF5KIO/KF5KIOConfig.cmake (found version "5.36.0") 
-- Found KF5Solid: /usr/lib/cmake/KF5Solid/KF5SolidConfig.cmake (found version "5.36.0") 
-- Found KF5Wallet: /usr/lib/cmake/KF5Wallet/KF5WalletConfig.cmake (found version "5.36.0") 
-- Found KF5WidgetsAddons: /usr/lib/cmake/KF5WidgetsAddons/KF5WidgetsAddonsConfig.cmake (found version "5.36.0") 
-- Found KF5WindowSystem: /usr/lib/cmake/KF5WindowSystem/KF5WindowSystemConfig.cmake (found version "5.36.0") 
-- Found KF5XmlGui: /usr/lib/cmake/KF5XmlGui/KF5XmlGuiConfig.cmake (found version "5.36.0") 
-- Found KF5: success (found version "5.36.0") found components:  Archive Codecs Config ConfigWidgets CoreAddons Crash DocTools GuiAddons IconThemes ItemModels I18n JobWidgets KIO Solid Wallet WidgetsAddons WindowSystem XmlGui 
-- Found LibXml2: /usr/lib/libxml2.so (found version "2.9.4") 
-- Found LibXslt: /usr/lib/libxslt.so (found version "1.1.29") 
-- Checking for module 'qimageblitz>=5.0'
--   No package 'qimageblitz' found
-- Found taglib: -L/usr/lib -ltag
-- Taglib found: -L/usr/lib -ltag
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'yaz'
--   Found yaz, version 5.16.0
-- Found Yaz: /usr/include (Required is at least version "2.0") 
-- Found PopplerQt5: /usr/include/poppler/qt5  
-- Checking for module 'exempi-2.0'
--   Found exempi-2.0, version 2.2.1
-- Found Exempi: /usr/include/exempi-2.0 (Required is at least version "2.0") 
-- Could NOT find Btparse (missing: Btparse_INCLUDE_DIRS Btparse_LIBRARIES) 
-- Checking for module 'libdiscid'
--   Found libdiscid, version 0.6.1
-- Found DiscID: /usr/include  
-- The following OPTIONAL packages have been found:

 * KF5FileMetaData, Support for reading file metadata, <http://www.kde.org>
 * KF5NewStuff, Support for fetching new templates and scripts, <http://www.kde.org>
 * KF5Sane, Support for adding scanned images to a collection, <http://www.kde.org>
 * KF5Cddb, Support for CDDB searches, <https://cgit.kde.org/libkcddb.git>
 * Taglib, Support for reading multimedia files, <http://taglib.github.io>
 * Yaz (required version >= 2.0), Support for searching z39.50 databases, <http://www.indexdata.dk/yaz/>
 * PopplerQt5, Support for reading PDF files, <http://poppler.freedesktop.org>
 * Exempi (required version >= 2.0), Support for reading PDF/XMP metadata, <http://libopenraw.freedesktop.org/wiki/Exempi/>
 * PkgConfig
 * DiscID, Support for reading disc IDs from audio CDs, <http://musicbrainz.org/doc/libdiscid>

-- The following REQUIRED packages have been found:

 * ECM (required version >= 1.3.0)
 * Qt5Core
 * Qt5Gui (required version >= 5.9.1)
 * Qt5Widgets
 * Qt5Xml
 * Qt5DBus
 * Qt5Test
 * Qt5Network
 * Qt5 (required version >= 5.4.0)
 * KF5Archive
 * KF5Codecs
 * KF5Config
 * KF5ConfigWidgets
 * KF5CoreAddons
 * KF5Crash
 * KF5DocTools
 * KF5GuiAddons
 * KF5IconThemes
 * KF5ItemModels
 * PythonInterp
 * KF5I18n
 * KF5JobWidgets
 * KF5KIO
 * KF5Solid
 * KF5Wallet
 * KF5WidgetsAddons
 * KF5WindowSystem
 * KF5XmlGui
 * KF5
 * KF5KHtml
 * Gettext
 * LibXml2
 * LibXslt

-- The following OPTIONAL packages have not been found:

 * Btparse, External support for parsing and processing BibTeX data files, <https://metacpan.org/release/Text-BibTeX>
 * Csv (required version >= 3.0), External support for reading CSV files, <http://sourceforge.net/projects/libcsv/>

-- Configuring done
Comment 2 Alexandr 2017-08-01 21:08:04 UTC
same problem.
can help with testing.
Comment 3 rezso 2017-08-01 23:56:59 UTC
Created attachment 107023 [details]
Fix build with cmake 3.9

Just a quick hack, but works for me.
Comment 4 Robby Stephenson 2017-08-26 01:26:33 UTC
Git commit a64ee137d08d54ff49acc9938e3dfbcdca52f3eb by Robby Stephenson.
Committed on 26/08/2017 at 01:24.
Pushed by rstephenson into branch 'master'.

Complete update to build with CMake 3.9

Move FieldComparison and StringComparison into models/ where thy're used
Update link targets for several tests
FIXED-IN:3.1

M  +1    -0    src/core/CMakeLists.txt
M  +2    -1    src/models/CMakeLists.txt
M  +1    -1    src/models/entrysortmodel.cpp
R  +0    -0    src/models/fieldcomparison.cpp [from: src/utils/fieldcomparison.cpp - 100% similarity]
R  +0    -0    src/models/fieldcomparison.h [from: src/utils/fieldcomparison.h - 100% similarity]
M  +1    -1    src/models/groupsortmodel.cpp
R  +0    -0    src/models/stringcomparison.cpp [from: src/utils/stringcomparison.cpp - 100% similarity]
R  +0    -0    src/models/stringcomparison.h [from: src/utils/stringcomparison.h - 100% similarity]
M  +9    -7    src/tests/CMakeLists.txt
M  +1    -2    src/tests/comparisontest.cpp
M  +1    -2    src/tests/lcctest.cpp
M  +0    -3    src/utils/CMakeLists.txt

https://commits.kde.org/tellico/a64ee137d08d54ff49acc9938e3dfbcdca52f3eb
Comment 5 rezso 2017-08-26 07:58:49 UTC
Building tellico from git with this commit:

[ 62%] Building CXX object src/cite/CMakeFiles/cite.dir/lyxpipe.cpp.o
In file included from /var/uhubuild/work/compile/src/cite/lyxpipe.cpp:28:0:
/var/uhubuild/work/compile/build/src/cite/../config/tellico_config.h:6:29: fatal error: kconfigskeleton.h: Nincs ilyen fájl vagy könyvtár
 #include <kconfigskeleton.h>
                             ^
compilation terminated.
make[2]: *** [src/cite/CMakeFiles/cite.dir/build.make:63: src/cite/CMakeFiles/cite.dir/lyxpipe.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1097: src/cite/CMakeFiles/cite.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Comment 6 Robby Stephenson 2017-08-26 13:15:34 UTC
Should be fixed in [d3054ddb] now...thanks
Comment 7 Sumit Bhardwaj 2017-09-01 16:44:56 UTC
Created attachment 107641 [details]
attachment-15525-0.html

Quick comment: I was able to build after pulling from master.

make test failed for 1 (out of 33) tests. I will take a look at failing
test when I get time - probably next week.

On Sat, Aug 26, 2017 at 6:15 AM, Robby Stephenson <bugzilla_noreply@kde.org>
wrote:

> https://bugs.kde.org/show_bug.cgi?id=382680
>
> --- Comment #6 from Robby Stephenson <robby@periapsis.org> ---
> Should be fixed in [d3054ddb] now...thanks
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
>