Opened 19 months ago

Last modified 2 months ago

#29413 new enhancement

Meta-ticket: Upgrade cddlib, fix cddlib header search for packages latte_int, gfan, topcom

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.5
Component: packages: optional Keywords: upgrade, cddlib
Cc: mjo, dimpase, saraedum, slelievre, arojas, fbissey, gh-kliem Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #31482 Stopgaps:

Status badges

Description (last modified by mjo)

Follow up from #28905.

We upgrade to 0.94m: https://repology.org/project/cddlib/versions

Change History (26)

comment:1 Changed 18 months ago by mkoeppe

  • Milestone changed from sage-9.1 to sage-9.2

comment:2 Changed 14 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:3 Changed 13 months ago by slelievre

  • Cc slelievre added
  • Keywords upgrade cddlib added

New: cddlib 0.94k was released on 2020-09-15.

Last edited 13 months ago by slelievre (previous) (diff)

comment:4 Changed 11 months ago by dimpase

a newer cdd 0.94m fixing #30319 has been released

Last edited 11 months ago by dimpase (previous) (diff)

comment:5 Changed 8 months ago by mkoeppe

  • Cc arojas fbissey gh-kliem added
  • Description modified (diff)

Are there already patches around for the cdd header file locations for gfan and topcom?

comment:6 Changed 8 months ago by fbissey

For cddlib, this is a bit upsetting. We compile in Gentoo and in sage with -DNOCDDPREFIX which trigger block like this

#ifdef NOCDDPREFIX
#include "setoper.h"
#include "cdd.h"
#include "cdd_f.h"
#else
#include "cdd/setoper.h"
#include "cdd/cdd.h"
#include "cdd/cdd_f.h"
#endif

in src/lp_cdd.cpp, src/gfanlib_zcone.cpp and src/app_librarytest.cpp. So, it feels a bit stupid now that the prefix is cddlib. But at least the patch should be easy and then remove the -DNOCDDPREFIX from CXXFLAGS.

comment:7 follow-up: Changed 8 months ago by fbissey

nix has a patch to go with the removal of -DNOCDDPREFIX. However, there is a simpler fix. gfan only install binaries and no headers. Adding -Ipath_to/include/cddlib to CXXFLAGS will allow compilation and it is compatible with older cddlib too. I'll look at topcom next.

comment:8 in reply to: ↑ 7 Changed 8 months ago by mkoeppe

Replying to fbissey:

However, there is a simpler fix. gfan only install binaries and no headers. Adding -Ipath_to/include/cddlib to CXXFLAGS will allow compilation and it is compatible with older cddlib too.

This is not a good fix. All of these packages should be modified (with proper upstreamable patches) so that they look for upstream's official new header name cddlib/cdd.h in the normal user-provided include path.

comment:9 Changed 8 months ago by fbissey

That's easy enough to do. I would hope the fix has already been forwarded to the gfan people. Upstream is overdue for a maintenance release :)

comment:10 Changed 8 months ago by fbissey

For topcom I am going to advocate adding to CPPFLAGS for now. Because upstream is a serial vendorer and its build system relies exclusively on vendored versions. Once we can get that upstream to get out of vendoring we may be able to suggest patches to them. But right now the point is moot.

comment:11 follow-up: Changed 8 months ago by fbissey

And topcom has a new version: 0.17.8 (still massively vendoring).

comment:12 Changed 8 months ago by fbissey

Now that I see how much you already patched topcom, it is trivial to add a little love for cddlib at https://github.com/sagemath/sage/blob/develop/build/pkgs/topcom/patches/configure.ac#L63

comment:13 Changed 8 months ago by gh-kliem

I think I got it figured out for latte now: https://github.com/latte-int/latte/pull/23

There is a couple of scenarios that could happen:

  • System cdd in:
    • inclusion directory
    • cdd/
    • cddlib'
  • Sages cdd in:
    • inclusion directory (of sage)
    • cddlib/ (once cdd is upgraded)

comment:14 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:15 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:16 Changed 7 months ago by mkoeppe

  • Dependencies set to #31482

comment:17 Changed 7 months ago by mkoeppe

  • Description modified (diff)
  • Summary changed from Upgrade cddlib, fix cddlib header search for packages latte_int, gfan, topcom to Meta-ticket: Upgrade cddlib, fix cddlib header search for packages latte_int, gfan, topcom

comment:18 Changed 7 months ago by mkoeppe

Also need to check polymake.

comment:19 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:20 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:21 Changed 7 months ago by mkoeppe

  • Description modified (diff)

comment:22 Changed 7 months ago by gh-kliem

  • Description modified (diff)

comment:23 in reply to: ↑ 11 Changed 7 months ago by mkoeppe

  • Description modified (diff)

Replying to fbissey:

And topcom has a new version: 0.17.8 (still massively vendoring).

Opened #31531 for topcom

comment:24 Changed 7 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.

comment:25 Changed 3 months ago by mjo

  • Description modified (diff)

comment:26 Changed 2 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5
Note: See TracTickets for help on using tickets.