Bug 1307731 - libqalculate: FTBFS in rawhide
Summary: libqalculate: FTBFS in rawhide
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: libqalculate
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Mukundan Ragavan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F24FTBFS
TreeView+ depends on / blocked
 
Reported: 2016-02-13 21:47 UTC by Fedora Release Engineering
Modified: 2016-02-20 01:43 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-02-20 01:43:12 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build.log (46.03 KB, text/plain)
2016-02-13 21:47 UTC, Fedora Release Engineering
no flags Details
root.log (83.26 KB, text/plain)
2016-02-13 21:47 UTC, Fedora Release Engineering
no flags Details
state.log (645 bytes, text/plain)
2016-02-13 21:47 UTC, Fedora Release Engineering
no flags Details

Description Fedora Release Engineering 2016-02-13 21:47:43 UTC
Your package libqalculate failed to build from source in current rawhide.

http://koji.fedoraproject.org/koji/taskinfo?taskID=12831934

For details on mass rebuild see https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

Comment 1 Fedora Release Engineering 2016-02-13 21:47:45 UTC
Created attachment 1125254 [details]
build.log

Comment 2 Fedora Release Engineering 2016-02-13 21:47:46 UTC
Created attachment 1125255 [details]
root.log

Comment 3 Fedora Release Engineering 2016-02-13 21:47:48 UTC
Created attachment 1125256 [details]
state.log

Comment 4 Yaakov Selkowitz 2016-02-17 03:17:50 UTC
MathStructure.cc:7166:53: error: no matching function for call to 'MathStructure::gcd(MathStructure&, MathStructure&, MathStructure&, const EvaluationOptions&, bool)'
  MathStructure::gcd(cont_c, cont_d, gamma, eo, false);
                                                     ^

This looks like the "Cannot convert 'bool' to 'T*'" case in the Porting to GCC 6 page.  Change the false to NULL.

Comment 5 Mukundan Ragavan 2016-02-19 01:43:01 UTC
I either messed up the patch or there is another issue ... :(

Looking ...

https://koji.fedoraproject.org/koji/taskinfo?taskID=13016298

Comment 6 Kevin Kofler 2016-02-19 01:59:18 UTC
This now fails due to a missing BuildRequires:
Can't locate Getopt/Long.pm in @INC (you may need to install the Getopt::Long module) (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at ../intltool-merge line 42.

By the way, using NULL in C++ is not that great an idea. It will work in most cases (and should be fine here), but e.g. for varargs functions, on some platforms, you may be in for a surprise. (Though, as far as I know, glibc with g++ defines it to __null, which behaves essentially the same as the C++11 nullptr and is thus safe. Concretely, the issue is that some platforms just define NULL to 0, which then has the wrong size when passed to a varargs function.) For code that requires C++11, nullptr can be used, otherwise, static_cast<Foo *>(0) (with the correct Foo type) is the most portable and safe version.

Comment 7 Yaakov Selkowitz 2016-02-19 02:18:18 UTC
(In reply to Kevin Kofler from comment #6)
> This now fails due to a missing BuildRequires:
> Can't locate Getopt/Long.pm in @INC (you may need to install the
> Getopt::Long module) (@INC contains: /usr/local/lib/perl5
> /usr/local/share/perl5 /usr/lib/perl5/vendor_perl
> /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at
> ../intltool-merge line 42.

IOW, add BuildRequires: perl(Getopt::Long)

> By the way, using NULL in C++ is not that great an idea. It will work in
> most cases (and should be fine here), but e.g. for varargs functions, on
> some platforms, you may be in for a surprise. (Though, as far as I know,
> glibc with g++ defines it to __null, which behaves essentially the same as
> the C++11 nullptr and is thus safe. Concretely, the issue is that some
> platforms just define NULL to 0, which then has the wrong size when passed
> to a varargs function.)

In theory, yes, but NULL should be safe with either GCC or Clang regardless of target.  <stddef.h> is provided by GCC, and while the headers may be used by clang they both define __GNUG__ in C++:

#ifdef __GNUG__
#define NULL __null
#else   /* G++ */
#ifndef __cplusplus
#define NULL ((void *)0)
#else   /* C++ */
#define NULL 0
#endif  /* C++ */
#endif  /* G++ */

Comment 8 Mukundan Ragavan 2016-02-19 02:22:10 UTC
(In reply to Kevin Kofler from comment #6)
> This now fails due to a missing BuildRequires:
> Can't locate Getopt/Long.pm in @INC (you may need to install the
> Getopt::Long module) (@INC contains: /usr/local/lib/perl5
> /usr/local/share/perl5 /usr/lib/perl5/vendor_perl
> /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at
> ../intltool-merge line 42.


Yup! I just had noticed it going through the build log ... 

Thanks a lot Kevin!

Comment 9 Upstream Release Monitoring 2016-02-19 02:41:59 UTC
nonamedotc's libqalculate-0.9.7-17.fc24 completed http://koji.fedoraproject.org/koji/buildinfo?buildID=736865

Comment 10 Mukundan Ragavan 2016-02-20 01:43:12 UTC
Thanks again Yaakov and Kevin.


Note You need to log in before you can comment on or make changes to this bug.