Summary: | x11-themes/qtcurve - build fixes for sys-libs/uclibc | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | René Rhéaume <rene.rheaume> |
Component: | [OLD] Library | Assignee: | Lars Wendler (Polynomial-C) (RETIRED) <polynomial-c> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | qt |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 570544 | ||
Attachments: |
qtcurve-1.8.17-uclibc.patch
qtcurve-1.8.18-uclibc.patch qtcurve-1.8.18-uclibc-r1.patch |
Description
René Rhéaume
2014-09-29 01:01:28 UTC
Created attachment 385694 [details, diff]
qtcurve-1.8.17-uclibc.patch
Created attachment 385696 [details, diff]
qtcurve-1.8.18-uclibc.patch
(In reply to René Rhéaume from comment #2) > Created attachment 385696 [details, diff] [details, diff] > qtcurve-1.8.18-uclibc.patch Is this supposed to be a conditional patch? Because after applying this, I get an error with glibc: /var/tmp/portage/x11-themes/qtcurve-1.8.18/work/qtcurve-1.8.18_build/.cmake_utils_base/cmake_c_macros/include_fix/qtcurve-utils/color.h: In function ‘QColor qtcColorTint(const QColor*, const QColor*, double)’: /var/tmp/portage/x11-themes/qtcurve-1.8.18/work/qtcurve-1.8.18_build/.cmake_utils_base/cmake_c_macros/include_fix/qtcurve-utils/color.h:253:21: error: expected unqualified-id before ‘(’ token } else if (std::isnan(amount)) { (and the same error for the second hunk of the patch) Created attachment 400466 [details, diff]
qtcurve-1.8.18-uclibc-r1.patch
It was not intended to be a conditional patch. Here is an updated version for version 1.8.18 that should also work with glibc.
(In reply to Ben de Groot from comment #3) > (In reply to René Rhéaume from comment #2) > > Created attachment 385696 [details, diff] [details, diff] [details, diff] > > qtcurve-1.8.18-uclibc.patch > > Is this supposed to be a conditional patch? Because after applying this, I > get an error with glibc: > > /var/tmp/portage/x11-themes/qtcurve-1.8.18/work/qtcurve-1.8.18_build/. > cmake_utils_base/cmake_c_macros/include_fix/qtcurve-utils/color.h: In > function ‘QColor qtcColorTint(const QColor*, const QColor*, double)’: > /var/tmp/portage/x11-themes/qtcurve-1.8.18/work/qtcurve-1.8.18_build/. > cmake_utils_base/cmake_c_macros/include_fix/qtcurve-utils/color.h:253:21: > error: expected unqualified-id before ‘(’ token > } else if (std::isnan(amount)) { > > > (and the same error for the second hunk of the patch) My understanding is that isnan() has been deprecated in favor of std::isnan() so I'm not sure why you are getting this failure. I tested the following code (from the link below) on both glibc and uclibc. #include <iostream> #include <cmath> #include <cfloat> int main() { std::cout << std::boolalpha << "isnan(NaN) = " << std::isnan(NAN) << '\n' << "isnan(Inf) = " << std::isnan(INFINITY) << '\n' << "isnan(0.0) = " << std::isnan(0.0) << '\n' << "isnan(DBL_MIN/2.0) = " << std::isnan(DBL_MIN/2.0) << '\n' << "isnan(0.0 / 0.0) = " << std::isnan(0.0/0.0) << '\n' << "isnan(Inf - Inf) = " << std::isnan(INFINITY - INFINITY) << '\n'; } This compiles and runs correctly when built using either c++98 or c++11: g++ -std=gnu++98 -o isnan-test isnan-test.cpp g++ -std=gnu++11 -o isnan-test isnan-test.cpp I'm using gcc-4.8.4. The error tends to suggest that there is some macro munging things up. See: http://en.cppreference.com/w/cpp/numeric/math/isnan In qtcurve-1.9.0-rc1 all instances of isnan are qualified with std::. |