Opened 6 years ago

Closed 5 years ago

#18708 closed defect (fixed)

update normaliz to 3.1.0

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-7.1
Component: packages: optional Keywords:
Cc: novoselt, dimpase Merged in:
Authors: Dima Pasechnik Reviewers: Volker Braun
Report Upstream: N/A Work issues: update to 3.1.0
Branch: 3819147 (Commits) Commit: 3819147256255c46a7bfae55a8ed9572190174d4
Dependencies: Stopgaps:

Description (last modified by dimpase)

Normaliz needs updating to bugfix release 2.12.2 or better

From normaliz website: Version 2.12.2: bug fix in volume computation with -v and change max_rank_submatrix back to pre2.12 version which avoids some overflows

(Upstream provides the distribution in a zip file; why does sage use a repackaged .tar.bz2?)

we still need to rename the package root directory, as our current scripts do not handle their naming scheme. Thus

tarball: http://users.ox.ac.uk/~coml0531/sage/normaliz-3.1.0.tar.bz2

Change History (22)

comment:1 follow-up: Changed 6 years ago by dimpase

IMHO Sage's "sage -i" cannot use zip archives, it needs a tar.

comment:2 in reply to: ↑ 1 Changed 6 years ago by dimpase

Replying to dimpase:

IMHO Sage's "sage -i" cannot use zip archives, it needs a tar.

zip would be yet another dependency to have; e.g. I'm not sure whether OSX without Xcode does have (un)zip installed; ditto for a typical Linux distro...

comment:3 follow-up: Changed 6 years ago by vbraun

Python comes with the standard zipfile module that can easily be used to unzip, e.g.: http://opendata.stackexchange.com/questions/1208/a-python-guide-for-open-data-file-formats/1928#1928

comment:4 in reply to: ↑ 3 Changed 6 years ago by dimpase

Replying to vbraun:

Python comes with the standard zipfile module that can easily be used to unzip, e.g.: http://opendata.stackexchange.com/questions/1208/a-python-guide-for-open-data-file-formats/1928#1928

Do you mean to say that sage-spkg ought to get extended to support this? In #18748?

comment:5 Changed 5 years ago by mkoeppe

  • Dependencies set to #19487

comment:7 Changed 5 years ago by dimpase

  • Description modified (diff)
  • Milestone changed from sage-6.8 to sage-6.11
  • Summary changed from update normaliz to 2.12.2 to update normaliz to 3.0

let me try this upgrade...

comment:8 follow-up: Changed 5 years ago by dimpase

upstream says that 3.1 will be available in January.

(yes, they host the code here now: https://github.com/Normaliz/Normaliz/)

Am I correct that there is no exposure of normaliz in Sage, apart from normaliz lib in Singular?

comment:9 in reply to: ↑ 8 Changed 5 years ago by novoselt

Replying to dimpase:

Am I correct that there is no exposure of normaliz in Sage, apart from normaliz lib in Singular?

I think so!

comment:10 Changed 5 years ago by dimpase

  • Work issues set to update to 3.1

version 3.1 is released

comment:11 Changed 5 years ago by dimpase

  • Description modified (diff)
  • Summary changed from update normaliz to 3.0 to update normaliz to 3.1.0
  • Work issues changed from update to 3.1 to update to 3.1.0

comment:12 Changed 5 years ago by dimpase

without LD_LIBRARY_PATH, normaliz fails to find GMP/MPIR libs at runtime. Of course, without a configure script it is a pain to configure.

comment:13 follow-up: Changed 5 years ago by vbraun

The normaliz "buildsystem" is a joke, imho a serious red flag. Once again we see that handcrafted makefiles do not work. In this case, not passing through LDFLAGS to the linker. But really thats just the tip of the iceberg: Not able to build a shared library, not even an install target.

comment:14 Changed 5 years ago by vbraun

A hackish workaround is probably to add LDFLAGS to CXXFLAGS.

comment:15 Changed 5 years ago by dimpase

  • Authors set to Dima Pasechnik
  • Branch set to u/dimpase/normaliz310
  • Commit set to 3819147256255c46a7bfae55a8ed9572190174d4
  • Dependencies #19487 deleted
  • Description modified (diff)

comment:16 Changed 5 years ago by dimpase

  • Status changed from new to needs_review

tested on Linux and OSX, via normaliz.lib in Singular, as was done on #13234. All seems to work.

comment:17 Changed 5 years ago by dimpase

  • Milestone changed from sage-7.0 to sage-7.1

comment:18 in reply to: ↑ 13 Changed 5 years ago by dimpase

Replying to vbraun:

The normaliz "buildsystem" is a joke, imho a serious red flag.

they actually have cmake support, as I was told just now: https://github.com/Normaliz/Normaliz/issues/88 I haven't tried this with Sage.

comment:19 Changed 5 years ago by vbraun

  • Reviewers set to Volker Braun
  • Status changed from needs_review to positive_review

comment:20 follow-up: Changed 5 years ago by vbraun

BTW Sage can now use zip files as "tarballs"

comment:21 in reply to: ↑ 20 Changed 5 years ago by dimpase

Replying to vbraun:

BTW Sage can now use zip files as "tarballs"

I did have to re-pack anyway. Before I discovered this, I noticed a bug that I fixed. Perhaps I should have added it to this branch:

diff --git a/build/bin/sage-uncompress-spkg b/build/bin/sage-uncompress-spkg
index 0f88a21..f2d8f21 100755
--- a/build/bin/sage-uncompress-spkg
+++ b/build/bin/sage-uncompress-spkg
@@ -32,7 +32,7 @@ if __name__ == '__main__':
     if zipfile.is_zipfile(filename):
         # zip file:
         with zipfile.ZipFile(filename, 'r') as archive:
-            if len(sys.argv) == 1:
+            if len(sys.argv) == 2:
                 archive.extractall()
             else:
                 member = sys.argv[2]

comment:22 Changed 5 years ago by vbraun

  • Branch changed from u/dimpase/normaliz310 to 3819147256255c46a7bfae55a8ed9572190174d4
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.