Bug 415499

Summary: Cannot build on latest Ubuntu
Product: [Applications] ktimetracker Reporter: Ganton <kubry>
Component: generalAssignee: Alexander Potashev <aspotashev>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Russian texts when trying to write in https://aspotashev.blogspot.com/2019/12/ktimetracker-501-released.html

Description Ganton 2019-12-23 19:18:05 UTC
Some instructions for building KTimeTracker... would be good!

By the way: 
    - People have to understand Russian texts at the end of https://aspotashev.blogspot.com/2019/12/ktimetracker-501-released.html when trying to write to you.
    - It looks like you cannot compile KTimeTracker with the latest version of Ubuntu or Kubuntu (but maybe that's unavoidable):
        CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
        Could NOT find KF5 (missing: IdleTime) (found suitable version "5.62.0",
        minimum required is "5.54.0")

Thank you because KTimeTracker is useful.
Comment 1 Ganton 2019-12-23 19:20:28 UTC
Created attachment 124674 [details]
Russian texts when trying to write in https://aspotashev.blogspot.com/2019/12/ktimetracker-501-released.html
Comment 2 Alexander Potashev 2019-12-24 00:54:03 UTC
Thanks for the feedback on the blog! Should be fixed now.

The current version of KTimeTracker needs at least KCalendarCore-5.63.0, thus the building error on latest Ubuntu as it only ships KF5.62.0. Will try to fix it, should be easy.
Comment 3 Alexander Potashev 2019-12-24 06:21:05 UTC
Git commit 202c072dc5194b4edcd9ee52c8db91ce93e82c82 by Alexander Potashev.
Committed on 24/12/2019 at 06:20.
Pushed by aspotashev into branch 'master'.

Fix build with pre-KF5 versions of KCalendarCore

M  +1    -3    CMakeLists.txt
M  +1    -1    src/export/csvhistory.cpp
M  +9    -9    src/file/filecalendar.cpp
M  +7    -7    src/file/filecalendar.h
M  +9    -8    src/file/icalformatkio.cpp
M  +4    -4    src/file/icalformatkio.h
M  +1    -1    src/ktimetrackerutility.cpp
M  +2    -2    src/ktimetrackerutility.h
M  +2    -2    src/model/event.cpp
M  +3    -3    src/model/event.h
M  +3    -3    src/model/eventsmodel.cpp
M  +2    -2    src/model/eventsmodel.h
M  +2    -2    src/model/projectmodel.cpp
M  +6    -6    src/model/task.cpp
M  +4    -4    src/model/task.h
M  +6    -6    src/tests/storagetest.cpp
M  +1    -1    src/timetrackerstorage.cpp
M  +3    -3    src/timetrackerstorage.h

https://commits.kde.org/ktimetracker/202c072dc5194b4edcd9ee52c8db91ce93e82c82
Comment 4 Ganton 2019-12-24 11:40:39 UTC
> People have to understand Russian texts at the end of https://aspotashev.blogspot.com/2019/12/ktimetracker-501-released.html when trying to write to you.

That's solved, very well!

> Some instructions for building KTimeTracker... would be good!

Without them (for example in a file named "INSTALL"), I executed this:

$ git clone http://anongit.kde.org/ktimetracker
Cloning into 'ktimetracker'...
remote: Counting objects: 13781, done.
remote: Compressing objects: 100% (5638/5638), done.
remote: Total 13781 (delta 9259), reused 11910 (delta 7759)
Receiving objects: 100% (13781/13781), 3.21 MiB | 2.12 MiB/s, done.
Resolving deltas: 100% (9259/9259), done.

$ mkdir ktimetracker-build
$ cd ktimetracker-build
$ cmake ../ktimetracker -DCMAKE_INSTALL_PREFIX=/usr/
-- The C compiler identification is GNU 9.2.1
-- The CXX compiler identification is GNU 9.2.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/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/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Installing in the same prefix as Qt, adopting their path scheme.
-- Setting build type to 'Debug' as none was specified.
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_DATE_TIME
-- Performing Test HAVE_DATE_TIME - Success
-- Found KF5Config: /usr/lib/x86_64-linux-gnu/cmake/KF5Config/KF5ConfigConfig.cmake (found version "5.62.0") 
-- Found KF5ConfigWidgets: /usr/lib/x86_64-linux-gnu/cmake/KF5ConfigWidgets/KF5ConfigWidgetsConfig.cmake (found version "5.62.0") 
-- Found KF5DBusAddons: /usr/lib/x86_64-linux-gnu/cmake/KF5DBusAddons/KF5DBusAddonsConfig.cmake (found version "5.62.0") 
-- Found KF5DocTools: /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsConfig.cmake (found version "5.62.0") 
-- Found Gettext: /usr/bin/msgmerge (found version "0.19.8.1") 
-- Found KF5I18n: /usr/lib/x86_64-linux-gnu/cmake/KF5I18n/KF5I18nConfig.cmake (found version "5.62.0") 
-- Could NOT find KF5IdleTime (missing: KF5IdleTime_DIR)
-- Could NOT find KF5IdleTime: found neither KF5IdleTimeConfig.cmake nor kf5idletime-config.cmake 
-- Found KF5JobWidgets: /usr/lib/x86_64-linux-gnu/cmake/KF5JobWidgets/KF5JobWidgetsConfig.cmake (found version "5.62.0") 
-- Found KF5KIO: /usr/lib/x86_64-linux-gnu/cmake/KF5KIO/KF5KIOConfig.cmake (found version "5.62.0") 
-- Found KF5Notifications: /usr/lib/x86_64-linux-gnu/cmake/KF5Notifications/KF5NotificationsConfig.cmake (found version "5.62.0") 
-- Found KF5WindowSystem: /usr/lib/x86_64-linux-gnu/cmake/KF5WindowSystem/KF5WindowSystemConfig.cmake (found version "5.62.0") 
-- Found KF5XmlGui: /usr/lib/x86_64-linux-gnu/cmake/KF5XmlGui/KF5XmlGuiConfig.cmake (found version "5.62.0") 
-- Found KF5TextWidgets: /usr/lib/x86_64-linux-gnu/cmake/KF5TextWidgets/KF5TextWidgetsConfig.cmake (found version "5.62.0") 
CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find KF5 (missing: IdleTime) (found suitable version "5.62.0",
  minimum required is "5.54.0")
Call Stack (most recent call first):
  /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/ECM/find-modules/FindKF5.cmake:110 (find_package_handle_standard_args)
  CMakeLists.txt:29 (find_package)


-- Configuring incomplete, errors occurred!
Comment 5 Ganton 2019-12-24 12:40:37 UTC
> Some instructions for building KTimeTracker... would be good!
Without them (for example in a file named "INSTALL"), I also executed this:

$ sudo apt install libkf5idletime-dev libkf5calendarcore-dev

$ cmake ../ktimetracker -DCMAKE_INSTALL_PREFIX=/usr/
-- The following REQUIRED packages have been found:

 * ECM (required version >= 5.54.0)
 * Qt5DBus
 * Qt5Gui
 * Qt5Widgets
 * Qt5Xml
 * Qt5 (required version >= 5.10.0)
 * KF5Config (required version >= 5.54.0)
 * KF5ConfigWidgets (required version >= 5.54.0)
 * KF5DBusAddons (required version >= 5.54.0)
 * KF5DocTools (required version >= 5.54.0)
 * Gettext
 * KF5I18n (required version >= 5.54.0)
 * KF5IdleTime (required version >= 5.54.0)
 * KF5JobWidgets (required version >= 5.54.0)
 * KF5KIO (required version >= 5.54.0)
 * KF5Notifications (required version >= 5.54.0)
 * KF5WindowSystem (required version >= 5.54.0)
 * KF5XmlGui (required version >= 5.54.0)
 * KF5TextWidgets (required version >= 5.54.0)
 * KF5 (required version >= 5.54.0)
 * KF5CalendarCore (required version >= 4.82.0)
 * Qt5Test

-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/ktimetracker-build

$ make
$ sudo make install

And it seems to work!