Opened 23 months ago

Closed 4 months ago

#27921 closed enhancement (fixed)

Script package for checking presence of system libxml2 (polymake and igraph prerequisite)

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.3
Component: packages: optional Keywords:
Cc: dimpase, dcoudert Merged in:
Authors: Matthias Koeppe Reviewers: Dima Pasechnik, David Coudert
Report Upstream: N/A Work issues:
Branch: 256ddfc (Commits, GitHub, GitLab) Commit: 256ddfc662322cdf730bc505e9b199741050f3d7
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

Apparently some Linux systems don't come with libxml2 installed, which is a polymake prerequisite.

mkoeppe.sphere$ make polymake
...
[polymake-3.4] checking libxml2 installation ... Could not find configuration program xml2-config for library libxml2.
[polymake-3.4] Probably you need to install development package for it;
[polymake-3.4] usually it is called libxml2-devel or similarly.
[polymake-3.4] If the library is installed at a non-standard location,
[polymake-3.4] please specify it in option --with-libxml2

We add spkg-configure and system package information

Change History (24)

comment:1 Changed 23 months ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 23 months ago by dimpase

I would rather add this to general Sage pre-reqs. And a test for it in the main configure.ac. Let us try to stop vendoring everything that comes across...

comment:3 follow-up: Changed 23 months ago by mkoeppe

I appreciate your efforts with spkg-configure.m4; but I don't support adding more prerequisites to Sage. Sage-the-distribution works well for installing lots of math software on poorly maintained university computers. My goal in this ticket is to bring the polymake package to the same standard - make it as easy to install as other sage packages.

comment:4 Changed 23 months ago by mkoeppe

  • Branch set to u/mkoeppe/package_libxml2__polymake_prerequisite_

comment:5 in reply to: ↑ 3 Changed 23 months ago by mkoeppe

  • Commit set to dfc25f32f3b440f569af6ba0de8eb6e7d4772ff9

Replying to mkoeppe:

I don't support adding more prerequisites to Sage.

To clarify, I don't support depending on more packages to exist in the system for a Sage installation to succeed.


New commits:

dfc25f3Add package libxml2, make it a polymake dependency

comment:6 Changed 23 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Status changed from new to needs_review

comment:7 Changed 23 months ago by mkoeppe

  • Status changed from needs_review to needs_work

comment:8 Changed 23 months ago by git

  • Commit changed from dfc25f32f3b440f569af6ba0de8eb6e7d4772ff9 to 3d4e80709134779115c9608432990cb13a7c689c

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

3d4e807fix typo

comment:9 Changed 23 months ago by dimpase

a library should only be vendored if on a system supported by Sage it is either not available, or broken. Otherwise it is a bloat that is killing the project, rather than improving it.

there are already other optional packages, e.g. igraph, in Sage that require libxml2.

comment:10 Changed 23 months ago by git

  • Commit changed from 3d4e80709134779115c9608432990cb13a7c689c to e5f95ad607f633c2959b12ecb788f98695dc475a

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

e5f95adAdd libxml2 as dependency of igraph

comment:11 Changed 23 months ago by mkoeppe

  • Status changed from needs_work to needs_review
  • Summary changed from Package libxml2 (polymake prerequisite) to Package libxml2 (polymake and igraph prerequisite)

comment:12 Changed 23 months ago by dimpase

there is also R package xml2, which uses libxml2, and which some people install --- and which this ticket potentially breaks.

this is yet another reason why I don't like vendoring standard libraries - because you end up spending all your time chasing up stuff like this, and it ends up like iconv package, which is still there, but we don't install it on anything but (maybe) cygwin, or (broken platform) solaris.

comment:13 Changed 23 months ago by mkoeppe

  • Milestone changed from sage-8.8 to sage-wishlist
  • Status changed from needs_review to needs_info

Lots of good points. Turns out on the system where I was trying to compile polymake, also perl-devel and Term::ReadKey are missing. So I'm setting this ticket to 'wishlist' status for now.

comment:14 Changed 4 months ago by mkoeppe

  • Description modified (diff)
  • Milestone changed from sage-wishlist to sage-9.3
  • Status changed from needs_info to needs_work
  • Summary changed from Package libxml2 (polymake and igraph prerequisite) to Script package for checking presence of system libxml2 (polymake and igraph prerequisite)

comment:15 Changed 4 months ago by git

  • Commit changed from e5f95ad607f633c2959b12ecb788f98695dc475a to ef9da1dc802eedba0164ef63782994782d3d62fc

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

e1cd89bAdd package libxml2, make it a polymake dependency
c012636fix typo
ef9da1dAdd libxml2 as dependency of igraph

comment:16 Changed 4 months ago by git

  • Commit changed from ef9da1dc802eedba0164ef63782994782d3d62fc to ead2598744ed2c8990f9c6778db630c3fb178a59

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

ead2598build/pkgs/libxml2: Make it a script package

comment:17 Changed 4 months ago by git

  • Commit changed from ead2598744ed2c8990f9c6778db630c3fb178a59 to 05ad4972456156c286c8ae2edfb514f836491f71

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

b56435dAdd package libxml2, make it a polymake dependency
2c7b08fAdd libxml2 as dependency of igraph
05ad497build/pkgs/libxml2: Make it a script package

comment:18 Changed 4 months ago by git

  • Commit changed from 05ad4972456156c286c8ae2edfb514f836491f71 to 22904ffaae73158c0931e5df04a2c49c49add13c

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

22904ffbuild/pkgs/libxml2: Add distros/

comment:19 Changed 4 months ago by mkoeppe

  • Cc dcoudert added
  • Status changed from needs_work to needs_review

comment:20 Changed 4 months ago by git

  • Commit changed from 22904ffaae73158c0931e5df04a2c49c49add13c to 256ddfc662322cdf730bc505e9b199741050f3d7

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

256ddfcbuild/pkgs/igraph/spkg-install.in: Remove test for libxml here

comment:21 Changed 4 months ago by dcoudert

I installed libxml2 with homebrew and tried this ticket (.bootstrap, source .hombrew-build-env, ./configure, make build) on macOS 10.15.7. Compilation went well, libxml2 was detected and used.

I don't know what else I can do to test this ticket.

comment:22 Changed 4 months ago by dimpase

  • Reviewers set to Dima Pasechnik, David Coudert
  • Status changed from needs_review to positive_review

lgtm

comment:23 Changed 4 months ago by mkoeppe

Thanks to both of you for the review!

comment:24 Changed 4 months ago by vbraun

  • Branch changed from u/mkoeppe/package_libxml2__polymake_prerequisite_ to 256ddfc662322cdf730bc505e9b199741050f3d7
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.