Discussion:
[KPhotoAlbum] Build instructions have been updated
Johannes Zarl-Zierl
2016-12-09 20:27:53 UTC
Permalink
Hi,

I've updated the build instructions for KPhotoAlbum:

https://userbase.kde.org/Building_KPhotoAlbum

The new instructions should work for KDE Frameworks (kphotoalbum 5.x). If you
notice any problems, please respond here...

Thanks,
Johannes
Johannes Zarl-Zierl
2016-12-09 21:50:37 UTC
Permalink
Hi Andreas,
use "make -jN" with N = number of logical processors on your machine
This speeds up compilation drastically if you have a reasonably new
machine (4 cores [N=4] or 4+hyperthreading [N=8]).
Good point. I've added this...
I am building on openSuSE 42.2 using the same basic steps. Only package
It would be lovely if we could add openSUSE build instructions to the page.
May I be so bold as to recruit you for this task?
Having a new system, I usually iterate with "cmake ..". This spits out
one or more missing packages.
Search for the first missing package (and its "_devel.rpm") in yast,
install, cmake, repeat until there are no more errors. Do not use the
32-bit variants of the libs.
I'm actually doing this as well when I build unpackaged software (it's usualls
the better method because it can't get outdated). In this guide, though, we
tried to keep instructions simple and explicit.

Cheers,
Johannes
Robert Krawitz
2016-12-10 00:18:06 UTC
Permalink
New warning in kph compile:


/home/rlk/sandbox/kphotoalbum/MainWindow/CopyPopup.cpp: In constructor ‘MainWindow::CopyPopup::CopyPopup(QWidget*, QUrl&, QList<QUrl>&, QString&, MainWindow::CopyPopup::CopyType)’:
/home/rlk/sandbox/kphotoalbum/MainWindow/CopyPopup.cpp:64:34: warning: ‘action’ may be used uninitialized in this function [-Wmaybe-uninitialized]
action->setEnabled(false);
^
--
Robert Krawitz <***@alum.mit.edu>

*** MIT Engineers A Proud Tradition http://mitathletics.com ***
Member of the League for Programming Freedom -- http://ProgFree.org
Project lead for Gutenprint -- http://gimp-print.sourceforge.net

"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton
Johannes Zarl-Zierl
2016-12-10 00:47:59 UTC
Permalink
Post by Robert Krawitz
/home/rlk/sandbox/kphotoalbum/MainWindow/CopyPopup.cpp: In constructor
‘MainWindow::CopyPopup::CopyPopup(QWidget*, QUrl&, QList<QUrl>&, QString&,
‘action’ may be used uninitialized in this function [-Wmaybe-uninitialized]
action->setEnabled(false);
^
That's interesting. I don't get the warning (even if manually compiling that
file using -Wmaybe-uninitialized).

What compiler are you using? (I'm using gcc 6.2.1)

The warning is clearly a false positive, but I've changed the code so that the
warning should not happen anymore...

Cheers,
Johannes
Robert Krawitz
2016-12-10 01:57:12 UTC
Permalink
Post by Robert Krawitz
/home/rlk/sandbox/kphotoalbum/MainWindow/CopyPopup.cpp: In constructor
‘MainWindow::CopyPopup::CopyPopup(QWidget*, QUrl&, QList<QUrl>&, QString&,
‘action’ may be used uninitialized in this function [-Wmaybe-uninitialized]
action->setEnabled(false);
^
That's interesting. I don't get the warning (even if manually compiling that file using -Wmaybe-uninitialized).
What compiler are you using? (I'm using gcc 6.2.1)
The warning is clearly a false positive, but I've changed the code so that the warning should not happen anymore...
4.8.5 (openSUSE is a bit behind)
--
Robert Krawitz <***@alum.mit.edu>

*** MIT Engineers A Proud Tradition http://mitathletics.com ***
Member of the League for Programming Freedom -- http://ProgFree.org
Project lead for Gutenprint -- http://gimp-print.sourceforge.net

"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton
Andreas Schleth
2016-12-11 13:15:39 UTC
Permalink
Just now, I built KPA (git master) on a new system.
This was the very first install on this machine, so no prior installs
from other sources.

KPA does not load/find the demo database.

The demo resides in /usr/local/share/... by default.

KPA searches in ~/.local/usr/share/... and in /usr/share/... and thus
misses the default path.

This will only hit first time installers, as most others (developers)
will have multiple demo dbs around.

Andreas
Johannes Zarl-Zierl
2016-12-11 18:44:36 UTC
Permalink
Post by Andreas Schleth
Just now, I built KPA (git master) on a new system.
This was the very first install on this machine, so no prior installs
from other sources.
KPA does not load/find the demo database.
The demo resides in /usr/local/share/... by default.
KPA searches in ~/.local/usr/share/... and in /usr/share/... and thus
misses the default path.
This will only hit first time installers, as most others (developers)
will have multiple demo dbs around.
That's interesting. The documented behaviour should include /usr/local/share.

If I run "kf5-config --path data", I get:
/home/zing/.local/share/:/usr/share/:/usr/local/share/

Which are the locations documented here:
https://doc.qt.io/qt-5/qstandardpaths.html#StandardLocation-enum

What does your kf5-config say?

Johannes
Andreas Schleth
2016-12-11 15:32:42 UTC
Permalink
This ECM is not an elliptic curve something, but (at least in openSuSE)
part of cmake-extra-... (-modules, I think).
On suse, the pattern "KDE development" provides most of the dependencies.

I stumbled across the same problem and the message really is somewhat
cryptic.

Sometime it helps, if you delete everyting in the build directory after
cmake has complained. I get the feeling, that incomplete cmake attempt
sometime leave some broken bits and pieces behind.

Save the yaks! Andreas
Post by Johannes Zarl-Zierl
The new instructions should work for KDE Frameworks (kphotoalbum 5.x). If you
notice any problems, please respond here...
Well, I still can't build because somehow cmake requires ECM (not
mentioed on web page) and my current install (Mint 17.1 Rebecca) does
not provide ECM and I have not found an instruction how to build ECM.
This is typical yak-shaving.
Harald.
habook:build$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
Could not find a package configuration file provided by "ECM" with any of
ECMConfig.cmake
ecm-config.cmake
Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"
to a directory containing one of the above files. If "ECM" provides a
separate development package or SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!
See also "/home/src/kphotoalbum-git/kphotoalbum/build/CMakeFiles/CMakeOutput.log".
_______________________________________________
KPhotoAlbum mailing list
https://mail.kdab.com/mailman/listinfo/kphotoalbum
Bruno Pagani
2016-12-11 15:39:49 UTC
Permalink
Post by Andreas Schleth
This ECM is not an elliptic curve something, but (at least in
openSuSE) part of cmake-extra-... (-modules, I think).
ECM = Extra CMake Modules indeed.
Post by Andreas Schleth
On suse, the pattern "KDE development" provides most of the dependencies.
I stumbled across the same problem and the message really is somewhat
cryptic.
Sometime it helps, if you delete everyting in the build directory
after cmake has complained. I get the feeling, that incomplete cmake
attempt sometime leave some broken bits and pieces behind.
Save the yaks! Andreas
Post by Johannes Zarl-Zierl
The new instructions should work for KDE Frameworks (kphotoalbum 5.x). If you
notice any problems, please respond here...
Well, I still can't build because somehow cmake requires ECM (not
mentioed on web page) and my current install (Mint 17.1 Rebecca) does
not provide ECM and I have not found an instruction how to build ECM.
This is typical yak-shaving.
Harald.
habook:build$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
Could not find a package configuration file provided by "ECM" with any of
ECMConfig.cmake
ecm-config.cmake
Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"
to a directory containing one of the above files. If "ECM" provides a
separate development package or SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!
See also
"/home/src/kphotoalbum-git/kphotoalbum/build/CMakeFiles/CMakeOutput.log".
_______________________________________________
KPhotoAlbum mailing list
https://mail.kdab.com/mailman/listinfo/kphotoalbum
_______________________________________________
KPhotoAlbum mailing list
https://mail.kdab.com/mailman/listinfo/kphotoalbum
Johannes Zarl-Zierl
2016-12-11 17:33:44 UTC
Permalink
Hi,
Post by Johannes Zarl-Zierl
The new instructions should work for KDE Frameworks (kphotoalbum 5.x). If
you notice any problems, please respond here...
Well, I still can't build because somehow cmake requires ECM (not
mentioed on web page) and my current install (Mint 17.1 Rebecca) does
not provide ECM and I have not found an instruction how to build ECM.
I just realized that I only updated the dependencies for the "1.1 first build"
section. extra-cmake-modules is mentioned there, but not under "2.1
Dependencies".

Thanks for the feedback!
Johannes
Johannes Zarl-Zierl
2016-12-11 19:24:51 UTC
Permalink
Post by Johannes Zarl-Zierl
Hi,
https://userbase.kde.org/Building_KPhotoAlbum
The new instructions should work for KDE Frameworks (kphotoalbum 5.x). If
you notice any problems, please respond here...
Based on the feedback so far, I've tried to improve the wording and
structure...

Loading...