Bug 359679 - Building the v2.3.0 package on Arch Linux dies with an error 'isnan' was not declared in this scope
Summary: Building the v2.3.0 package on Arch Linux dies with an error 'isnan' was not ...
Status: RESOLVED FIXED
Alias: None
Product: skrooge
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: Guillaume DE BURE
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-22 19:16 UTC by Jaroslav Lichtblau
Modified: 2016-02-24 17:26 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jaroslav Lichtblau 2016-02-22 19:16:15 UTC
Building the latest stable skrooge package 2.3.0 on an up-to-date Arch Linux ends up with the below error message

--snip--
[ 23%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgnamedobject.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
[ 23%] Building CXX object skgsqlcipher/CMakeFiles/libskgsqlcipher.dir/qsql_sqlite.cpp.o
[ 23%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgnodeobject.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
[ 23%] Building CXX object plugins/krunner/skrooge_add_operation/CMakeFiles/skrooge_add_operation.dir/skrooge_add_operation_automoc.cpp.o
[ 23%] Building CXX object skgsqlcipher/CMakeFiles/libskgsqlcipher.dir/libskgsqlcipher_automoc.cpp.o
[ 23%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgpropertyobject.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
[ 23%] Linking CXX shared module ../../../lib/skrooge_add_operation.so
[ 23%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgdocument.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
[ 23%] Built target skrooge_add_operation
[ 23%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgtransactionmng.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
[ 23%] Linking CXX shared module ../lib/libskgsqlcipher.so
[ 23%] Built target libskgsqlcipher
[ 24%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgservices.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
[ 24%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgerror.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
[ 24%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgtraces.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
/build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.cpp: In member function 'virtual QString SKGDocument::formatPercentage(double, bool) const':
/build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.cpp:2696:39: error: 'isnan' was not declared in this scope
     if (p.count() > 10 || isnan(iValue) || isinf(iValue)) {
                                       ^
/build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.cpp:2696:39: note: suggested alternative:
In file included from /usr/include/c++/5.3.0/random:38:0,
                 from /usr/include/c++/5.3.0/bits/stl_algo.h:66,
                 from /usr/include/c++/5.3.0/algorithm:62,
                 from /usr/include/qt/QtCore/qglobal.h:85,
                 from /usr/include/qt/QtCore/qalgorithms.h:37,
                 from /usr/include/qt/QtCore/qlist.h:37,
                 from /usr/include/qt/QtCore/qstringlist.h:34,
                 from /build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.h:24,
                 from /build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.cpp:22:
/usr/include/c++/5.3.0/cmath:641:5: note:   'std::isnan'
     isnan(_Tp __x)
     ^
/build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.cpp:2696:56: error: 'isinf' was not declared in this scope
     if (p.count() > 10 || isnan(iValue) || isinf(iValue)) {
                                                        ^
/build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.cpp:2696:56: note: suggested alternative:
In file included from /usr/include/c++/5.3.0/random:38:0,
                 from /usr/include/c++/5.3.0/bits/stl_algo.h:66,
                 from /usr/include/c++/5.3.0/algorithm:62,
                 from /usr/include/qt/QtCore/qglobal.h:85,
                 from /usr/include/qt/QtCore/qalgorithms.h:37,
                 from /usr/include/qt/QtCore/qlist.h:37,
                 from /usr/include/qt/QtCore/qstringlist.h:34,
                 from /build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.h:24,
                 from /build/skrooge/src/skrooge-2.3.0/skgbasemodeler/skgdocument.cpp:22:
/usr/include/c++/5.3.0/cmath:621:5: note:   'std::isinf'
     isinf(_Tp __x)
     ^
[ 24%] Building CXX object skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgadvice.cpp.o
cc1plus: warning: /usr/include/Qca-qt5: No such file or directory [-Wmissing-include-dirs]
skgbasemodeler/CMakeFiles/skgbasemodeler.dir/build.make:158: recipe for target 'skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgdocument.cpp.o' failed
make[2]: *** [skgbasemodeler/CMakeFiles/skgbasemodeler.dir/skgdocument.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:2813: recipe for target 'skgbasemodeler/CMakeFiles/skgbasemodeler.dir/all' failed
make[1]: *** [skgbasemodeler/CMakeFiles/skgbasemodeler.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...



Reproducible: Always

Steps to Reproduce:
1. building the package in a clean chroot environment ends up with the submitted error


Actual Results:  
build errors out and dies

Expected Results:  
successfully built package should be the outcome

- PKGBUILD build instructions (only the version number and sha sum updated in comparison to this PKGBUILD)
https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/skrooge

- dependencies installed on top of the 'base' chroot system:
Packages (190) alsa-lib-1.1.0-1  attica-qt5-5.19.0-1  cairo-1.14.6-1  cdparanoia-10.2-5  compositeproto-0.4.2-3  damageproto-1.2.1-3  dbus-1.10.6-1  dbus-glib-0.106-1
               dconf-0.24.0-1  desktop-file-utils-0.22-1  elfutils-0.165-1  fixesproto-5.0-3  flac-1.3.1-3  fontconfig-2.11.1-2  freetype2-2.6.3-1  gamin-0.1.10-8
               geoclue-0.12.99-2  giflib-5.1.2-1  glibmm-2.46.3-1  gpgmepp-15.12.2-1  graphite-1:1.3.5-1  gst-plugins-base-1.6.3-1  gst-plugins-base-libs-1.6.3-1  gstreamer-1.6.3-1
               harfbuzz-1.2.0-1  hicolor-icon-theme-0.15-1  hwids-20150717-1  icu-56.1-2  inputproto-2.3.1-1  iptables-1.4.21-3  js17-17.0.0-3  json-c-0.12-2  kactivities-5.19.0-1
               karchive-5.19.0-1  kauth-5.19.0-1  kbd-2.0.3-1  kbookmarks-5.19.0-1  kbproto-1.0.7-1  kcmutils-5.19.0-1  kcodecs-5.19.0-1  kcompletion-5.19.0-1  kconfig-5.19.0-1
               kconfigwidgets-5.19.0-1  kcoreaddons-5.19.0-1  kcrash-5.19.0-1  kdbusaddons-5.19.0-1  kdeclarative-5.19.0-1  kded-5.19.0-1  kdesignerplugin-5.19.0-1
               kdewebkit-5.19.0-1  kemoticons-5.19.0-1  kglobalaccel-5.19.0-1  kguiaddons-5.19.0-1  ki18n-5.19.0-1  kiconthemes-5.19.0-1  kinit-5.19.0-1  kio-5.19.0-1
               kitemmodels-5.19.0-1  kitemviews-5.19.0-1  kjobwidgets-5.19.0-1  kmod-22-1  knotifications-5.19.0-1  kpackage-5.19.0-1  kparts-5.19.0-1  kplotting-5.19.0-1
               kservice-5.19.0-1  ktextwidgets-5.19.0-1  kunitconversion-5.19.0-1  kwallet-5.19.0-1  kwidgetsaddons-5.19.0-1  kwindowsystem-5.19.0-1  kxmlgui-5.19.0-1
               libasyncns-0.8-5  libatasmart-0.19-3  libdatrie-0.2.9-1  libdbus-1.10.6-1  libdbusmenu-qt5-0.9.3+15.10.20150604-3  libdrm-2.4.67-1  libedit-20150325_3.1-2
               libelf-0.165-1  libepoxy-1.3.1-1  libevdev-1.4.6-1  libgudev-230-1  libice-1.0.9-1  libimobiledevice-1.2.0-1  libinput-1.1.8-1  libjpeg-turbo-1.4.2-2  libogg-1.3.2-1
               libomxil-bellagio-0.9.3-1  libpciaccess-0.13.4-1  libplist-1.12-4  libpng-1.6.21-1  libpulse-8.0-2  libseccomp-2.2.3-1  libsigc++-2.6.2-1  libsm-1.2.2-2
               libsndfile-1.0.26-1  libthai-0.1.22-1  libtheora-1.1.1-3  libtiff-4.0.6-2  libtxc_dxtn-1.0.1-6  libusb-1.0.20-1  libusbmuxd-1.0.10-1  libvisual-0.4.0-6
               libvorbis-1.3.5-1  libwebp-0.5.0-1  libx11-1.6.3-1  libxau-1.0.8-2  libxcb-1.11.1-1  libxcomposite-0.4.4-2  libxdamage-1.1.4-2  libxdmcp-1.1.2-1  libxext-1.3.3-1
               libxfixes-5.0.1-1  libxft-2.3.2-1  libxi-1.7.6-1  libxkbcommon-0.5.0-1  libxkbcommon-x11-0.5.0-1  libxml++-2.40.1-1  libxml2-2.9.3-1  libxmu-1.1.2-1
               libxrender-0.9.9-1  libxshmfence-1.2-1  libxslt-1.1.28-4  libxt-1.1.5-1  libxtst-1.2.2-1  libxv-1.0.10-1  libxxf86vm-1.1.4-1  llvm-libs-3.7.1-1
               media-player-info-22-1  mesa-11.1.2-1  mesa-libgl-11.1.2-1  mtdev-1.1.5-1  nspr-4.11-1  nss-3.22-1  opensp-1.5.2-5  orc-0.4.24-1  pango-1.38.1-1  phonon-qt5-4.8.3-5
               phonon-qt5-gstreamer-4.8.2-4  pixman-0.34.0-1  plasma-framework-5.19.0-2  polkit-0.113-4  polkit-qt5-0.112.0-3  python-3.5.1-1  qt5-declarative-5.5.1-9
               qt5-location-5.5.1-9  qt5-quickcontrols-5.5.1-9  qt5-sensors-5.5.1-9  qt5-svg-5.5.1-9  qt5-translations-5.5.1-9  qt5-webchannel-5.5.1-9  qt5-webkit-5.5.1-9
               qt5-x11extras-5.5.1-9  qt5-xmlpatterns-5.5.1-9  qtchooser-53-2  recordproto-1.14.2-2  renderproto-0.11.1-3  shared-mime-info-1.5-1  solid-5.19.0-1  sonnet-5.19.0-1
               systemd-229-3  threadweaver-5.19.0-1  udisks2-2.1.6-1  upower-0.99.4-1  videoproto-2.3.2-1  wayland-1.10.0-1  xcb-proto-1.11-2  xcb-util-0.4.0-1
               xcb-util-image-0.4.0-1  xcb-util-keysyms-0.4.0-1  xcb-util-wm-0.4.1-1  xdg-utils-1.1.1-1  xextproto-7.3.0-1  xf86vidmodeproto-2.3.1-3  xkeyboard-config-2.17-1
               xorg-xset-1.2.3-1  xproto-7.0.28-1  grantlee-qt5-5.0.0-3  kdelibs4support-5.19.0-1  knewstuff-5.19.0-1  knotifyconfig-5.19.0-1  kross-5.19.0-1  krunner-5.19.0-1
               libofx-0.9.10-1  qca-qt5-2.1.1-3  qt5-base-5.5.1-9  qt5-script-5.5.1-9  qt5-tools-5.5.1-9  sqlcipher-3.3.1-4
Comment 1 demm 2016-02-23 02:37:43 UTC
Same issue here when building v2.3.0 with glibc 2.2.3.  Previous build of Skrooge 2.2.0 had no isnan issue, but testing that older build now with new glibc results in the same error. (no difference if gcc or clang is used)

Downgrading the used toolchain to be based on glibc 2.22 resolves this issue, so it seems Skrooge needs an adjustment for the changes in how isnan is called.
https://sourceware.org/ml/libc-alpha/2016-02/msg00502.html
Comment 2 Stephane MANKOWSKI 2016-02-24 14:07:07 UTC
Git commit dacb104d4c803679be744c198c70a871c2078dd0 by Stephane Mankowski.
Committed on 24/02/2016 at 14:07.
Pushed by smankowski into branch 'master'.

Building the v2.3.0 package on Arch Linux dies with an error 'isnan' was not declared in this scope

M  +1    -0    CHANGELOG
M  +1    -7    plugins/import/skrooge_import_gnc/skgimportplugingnc.cpp
M  +1    -7    skgbasemodeler/skgdocument.cpp

http://commits.kde.org/skrooge/dacb104d4c803679be744c198c70a871c2078dd0
Comment 3 Jaroslav Lichtblau 2016-02-24 17:26:22 UTC
Yep, works. Package builds successfully now.
Thanks for the quick resolution!