-
-
Notifications
You must be signed in to change notification settings - Fork 517
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Givaro's (3.2.13.rc1) C++ headers don't conform to C++11 #12761
Comments
Diff between the previous spkg in Sage and my new p4 spkg. For reference / review only. |
This comment has been minimized.
This comment has been minimized.
comment:1
Attachment: givaro-3.2.13.rc1.p3-p4.diff.gz |
Author: Leif Leonhardy |
This comment has been minimized.
This comment has been minimized.
comment:3
This is something which should be reported upstream (sending them the patch of course). |
comment:4
If adding the -I flag is not necessary, then why add it while saying it is not needed?
|
comment:5
Don't Cython modules have proper dependency checking these days? Then the "touching" part might not be needed. |
comment:6
Replying to @jdemeyer:
I haven't added this, nor have I checked that it works, i.e., builds, without that (although I'm pretty sure it would) -- that's why I wrote "shouldn't be necessary", not "isn't needed". One side effect of adding it is that the test suite is built with the headers installed into Sage, which isn't all bad, but I can try to remove it later, although quite unrelated to the purpose of this ticket. W.r.t. |
comment:7
Replying to @jdemeyer:
I cc'ed the spkg maintainers, which include Clément Pernet, according to Note that (as already mentioned elsewhere) the version currently in Sage is a release candidate, dated 2008 IIRC. |
comment:8
Added a reference to #12444. |
This comment has been minimized.
This comment has been minimized.
comment:10
Replying to @dandrake:
Fine.
Nope, I haven't added casts, but (roughly speaking) qualified the names of (mostly, I think) member functions used in template class member functions, i.e., template <class Foo>
void Bar<Foo>::bar() // member function bar() of class Bar, which is parameterized by a class Foo
{
Bar<Foo>::baz(); // call with qualified [function] name;
// baz() here is [also] a member function of [template] class Bar
} instead of ...
{
baz(); // call with unqualified [function] name
} I could have used ...
{
this->baz();
} instead in most (if not all) cases as well; cf. Andrew Ohana's changes at #12444 (which I unfortunately found only after I made my own changes). |
comment:11
(Note that just using |
comment:12
givaro-3.2.13.rc1.p3 from 5.0.rc1 built well already, but I still gave a try to : |
comment:13
Upstream latest version 3.5.0 doesn't compile with gcc 4.7 ; but their trunk does. I have written them to know when a new release will be available. Did you discuss your patch with upstream? |
comment:14
Upstream just released 3.6.0 today -- just upgrade! |
Attachment: 12761_givaro_depends.patch.gz |
This comment has been minimized.
This comment has been minimized.
Changed author from Leif Leonhardy to Leif Leonhardy, Jeroen Demeyer |
Changed keywords from C++11 GCC 4.7.0 CXXFLAGS -fpermissive spkg to C++11 GCC 4.7.0 CXXFLAGS -fpermissive spkg sd40.5 |
Diff between leif's 3.2.13.rc1.p4 and my 3.2.13.p0 spkg. For reference / review only. |
comment:17
Attachment: givaro-3.2.13.p0.diff.gz This works and passes tests on sage.math with GCC-4.7.0 and with some 4.6.x on Mac OS X, and all the changes make sense, so I think this is ready to go as well. |
Reviewer: Karl-Dieter Crisman, Jeroen Demeyer |
comment:20
Why not just upgrade to upstream 3.6.0 ? |
Merged: sage-5.0.1.rc1 |
This breaks the build of its test suite as well as of the Sage library with (e.g.) GCC 4.7.x.
I already have an spkg fixing this, i.e., the offending headers.
See #12751 for the GCC-4.7.0 metaticket.
Closely related: #12444 (which I unfortunately wasn't aware of until now) for the
clang
portNew spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/givaro-3.2.13.p0.spkg
givaro-3.2.13.p0 (Jeroen Demeyer, 25 May 2012)
src/ directory was some never-released CVS version between
givaro-3.2.13.rc1 and givaro-3.2.13, but bootstrapped with a
different automake).
patch
to apply all patches.systems, not only Cygwin.
givaro-3.2.13.rc1.p4 (Leif Leonhardy, March 27th 2012)
Sage library) build with GCC 4.7.0 (and without
-fpermissive
).Same for Givaro's test suite, which uses / instantiates much more!
(These headers get installed into
$SAGE_LOCAL/include/givaro/
.)New patches:
dist/
directory.*.diff
(rather than
*.patch
) such that they don't get "automatically" appliedby the
patch -p1
loop, which I added.SPKG.txt
andspkg-install
, and two upstream files.spkg-check
andspkg-install
.spkg-check
, asmake check
involvescompilation. (Although
configure
should have put them into the generatedMakefiles.)
$MAKE
inspkg-check
as well.touch
extension modules (*.pyx
) if they (already) exist.CC: @ClementPernet @malb @sagetrac-mariah
Component: packages: standard
Keywords: C++11 GCC 4.7.0 CXXFLAGS -fpermissive spkg sd40.5
Author: Leif Leonhardy, Jeroen Demeyer
Reviewer: Karl-Dieter Crisman, Jeroen Demeyer
Merged: sage-5.0.1.rc1
Issue created by migration from https://trac.sagemath.org/ticket/12761
The text was updated successfully, but these errors were encountered: