Opened 2 years ago

Last modified 5 days 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.8
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 (29)

comment:1 Changed 2 years ago by mkoeppe

  • Milestone changed from sage-9.1 to sage-9.2

comment:2 Changed 2 years ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:3 Changed 2 years ago by slelievre

  • Cc slelievre added
  • Keywords upgrade cddlib added

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

Last edited 2 years ago by slelievre (previous) (diff)

comment:4 Changed 20 months ago by dimpase

a newer cdd 0.94m fixing #30319 has been released

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

comment:5 Changed 18 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 18 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 18 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 18 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 18 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 18 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 18 months ago by fbissey

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

comment:12 Changed 18 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 18 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 17 months ago by mkoeppe

  • Description modified (diff)

comment:15 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:16 Changed 17 months ago by mkoeppe

  • Dependencies set to #31482

comment:17 Changed 17 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 17 months ago by mkoeppe

Also need to check polymake.

comment:19 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:20 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:21 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:22 Changed 17 months ago by gh-kliem

  • Description modified (diff)

comment:23 in reply to: ↑ 11 Changed 17 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 17 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 13 months ago by mjo

  • Description modified (diff)

comment:26 Changed 12 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5

comment:27 Changed 8 months ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6

comment:28 Changed 4 months ago by mkoeppe

  • Milestone changed from sage-9.6 to sage-9.7

comment:29 Changed 5 days ago by mkoeppe

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