Skip to content
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

spkg-configure for cddlib #28905

Closed
dimpase opened this issue Dec 21, 2019 · 57 comments
Closed

spkg-configure for cddlib #28905

dimpase opened this issue Dec 21, 2019 · 57 comments

Comments

@dimpase
Copy link
Member

dimpase commented Dec 21, 2019

Provide spkg-configure.m4 to use libcdd/cdd from the system.

This ticket is limited to systems that install headers into /usr/include rather than /usr/include/cdd (Debian) or /usr/include/cddlib (Fedora).

Follow-up: #29413 (Upgrade cddlib, fix cddlib header search for packages latte_int, gfan, topcom)

CC: @saraedum @orlitzky

Component: build: configure

Author: Dima Pasechnik, Michael Orlitzky

Branch/Commit: de9fb2e

Reviewer: Matthias Koeppe

Issue created by migration from https://trac.sagemath.org/ticket/28905

@dimpase dimpase added this to the sage-9.0 milestone Dec 21, 2019
@dimpase dimpase changed the title spkg-configure for libcdd spkg-configure for cddlib Dec 21, 2019
@mkoeppe
Copy link
Contributor

mkoeppe commented Dec 25, 2019

comment:2

See also cddlib/cddlib#26 "Consider installing headers in ${prefix}/include/cdd/ instead of ${prefix}/include"

@saraedum
Copy link
Member

comment:4

Sorry, I fail to understand the description of this ticket. What are you trying to achieve here exactly? Would be nice if you could elaborate a bit.

@dimpase

This comment has been minimized.

@dimpase
Copy link
Member Author

dimpase commented Dec 26, 2019

comment:5

The goal is to use libcdd/cdd from the system (as in all tickets from #27330).
There should not be a problem with headers, after all we can install links to $SAGE_LOCAL/include/. I don't know which cdd executables are used in Sagemath.
Again,for these we can install links in SAGE_LOCAL/bin/.

@dimpase dimpase modified the milestones: sage-9.0, sage-9.1 Dec 26, 2019
@dimpase
Copy link
Member Author

dimpase commented Dec 27, 2019

comment:6

Am I right that the only parts of cdd(lib) currently used in Sage are executables cddexec* ? If so, it would be trivial to provide spkg-configure.m4.

@dimpase
Copy link
Member Author

dimpase commented Dec 27, 2019

Commit: 5b8ca8f

@dimpase
Copy link
Member Author

dimpase commented Dec 27, 2019

Branch: u/dimpase/packages/cddlibconfig

@dimpase
Copy link
Member Author

dimpase commented Dec 27, 2019

Author: Dima Pasechnik

@dimpase
Copy link
Member Author

dimpase commented Dec 27, 2019

New commits:

5b8ca8fspkg-configure for cddlib

@dimpase
Copy link
Member Author

dimpase commented Dec 28, 2019

comment:8

cddlib is used as a library in gfan and latte. So one needs a check for headers and libraries.

@orlitzky
Copy link
Contributor

comment:9

I did some work on this but the version of cddlib in Gentoo is too old to detect, so now I have to go fix that first.

@orlitzky
Copy link
Contributor

Changed branch from u/dimpase/packages/cddlibconfig to u/mjo/ticket/28905

@orlitzky
Copy link
Contributor

Changed commit from 5b8ca8f to 61117fd

@kiwifb
Copy link
Member

kiwifb commented Jan 12, 2020

comment:10

Replying to @orlitzky:

I did some work on this but the version of cddlib in Gentoo is too old to detect, so now I have to go fix that first.

Yes the version from the main tree is too old. I have a newer suitable version in the sage-on-gentoo overlay.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 18, 2020

comment:11

Is there a branch to test?

@orlitzky
Copy link
Contributor

comment:12

Yeah, the one up there works for me. We did get cddlib upgraded in Gentoo and my branch detects it.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 18, 2020

comment:13

Are there Dockerfiles or Docker images available that allow testing of the Gentoo Sage distribution?
Off-topic for this ticket - but I would like to add a continuous integration test for https://github.com/mkoeppe/sage-numerical-backends-coin

@kiwifb
Copy link
Member

kiwifb commented Jan 18, 2020

comment:14

Replying to @mkoeppe:

Are there Dockerfiles or Docker images available that allow testing of the Gentoo Sage distribution?
Off-topic for this ticket - but I would like to add a continuous integration test for https://github.com/mkoeppe/sage-numerical-backends-coin

coinor is too old in Gentoo. I tried to do an upgrade privately sometime last year. Unfortunately I lost the ebuilds in a mishap (and they weren't on vcs yet when it happened). I couldn't get it to work with sage which was annoying.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 18, 2020

comment:15

I primarily want to test with Gentoo's sage, not Gentoo's coinor. I can bring my own coinor from coinbrew.

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 18, 2020

@kiwifb
Copy link
Member

kiwifb commented Jan 18, 2020

comment:17

Well I don't produce any docker images and I don't know if someone else did. Would be neat.

@orlitzky
Copy link
Contributor

comment:18

The closest thing to a Docker image we have are the KVM images that the openstack project maintains:

http://gentoo.osuosl.org/experimental/amd64/openstack/

In theory you can boot one of those up, configure the sage-on-gentoo overlay,

https://github.com/cschwan/sage-on-gentoo

and then emerge sage. But each of those steps is tricky if you've never done it.

I'm slowly working on moving things from the overlay to the main gentoo repository, so that one day you can "emerge sage" without the overlay. (Basically, I'm just taking Francois's work and committing it to the main repository.)

This goes hand-in-hand with the spkg-configure work because in the past, while sage-on-gentoo provides the most stable and usable sage, it doesn't help me rebuild sage.git for testing tickets. But now whenever a package gets an spkg-configure.m4, adding that package to gentoo both (1) speeds up the sage.git build, and (2) brings the overlay one step closer to the main repository.

@orlitzky
Copy link
Contributor

comment:31

I think the best solution is to:

  1. Merge this now, since it's correct with respect to the rest of the (current) tree.
  2. Report the fact that the headers can be installed in non-standard locations to lattE/gfan upstream.
  3. (a) If those packages make the header search more robust, great; we upgrade the spkgs and we're done. (b) If they say they won't, then we hack something together as in #28905 comment:29.
  4. We update the spkg-configure.m4 for cddlib to look in the non-standard locations as well.
  5. If cddlib upstream ever moves the headers, we can (at our leisure) simplify all of the checks.

@saraedum
Copy link
Member

saraedum commented Feb 6, 2020

comment:32

I am happy to accept a PR at cddlib upstream to install the headers into cdd/ on GitHub btw.

@orlitzky
Copy link
Contributor

comment:33

The next release of cddlib will use the cddlib prefix for its headers. But for now, our latte and gfan packages only look for the bare cdd.h, so that's what we need to check for. Can we merge this now, and then update things as they change?

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 26, 2020

comment:34

Could you update the comment in the added file regarding the header file locations?

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 26, 2020

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

8508639spkg-configure for cddlib
27d5c6bTrac #28905: add header/library checks for cddlib.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 26, 2020

Changed commit from 61117fd to 27d5c6b

@orlitzky
Copy link
Contributor

comment:36

Sure, I added a real commit message too.

@orlitzky
Copy link
Contributor

Changed author from Dima Pasechnik to Dima Pasechnik, Michael Orlitzky

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 26, 2020

Changed branch from u/mjo/ticket/28905 to u/mkoeppe/ticket/28905

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 26, 2020

comment:39

Rebased to 9.1.beta8


New commits:

082be67spkg-configure for cddlib
16b78acTrac #28905: add header/library checks for cddlib.

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 26, 2020

Changed commit from 27d5c6b to 16b78ac

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 26, 2020

comment:40

sorry, I messed this one up

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 26, 2020

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

8508639spkg-configure for cddlib
27d5c6bTrac #28905: add header/library checks for cddlib.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 26, 2020

Changed commit from 16b78ac to 27d5c6b

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 26, 2020

comment:42

Set it back to your commit

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 26, 2020

Branch pushed to git repo; I updated commit sha1. New commits:

0f04c3bbuild/pkgs/cddlib/distros/*.txt: New
de9fb2ebuild/pkgs/cddlib: Add upstream_url

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 26, 2020

Changed commit from 27d5c6b to de9fb2e

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 26, 2020

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 27, 2020

Reviewer: Matthias Koeppe

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 27, 2020

comment:46

Detects cddlib correctly on archlinux-latest-standard (https://github.com/mkoeppe/sage/runs/537774833).

We don't have a test for Gentoo (#29105, hint hint), but I assume you have tested it there.

As expected, not detected on debian and fedora. I have created follow-up ticket #29413 for that and edited the ticket description.

@vbraun
Copy link
Member

vbraun commented Apr 5, 2020

Changed branch from u/mkoeppe/ticket/28905 to de9fb2e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants