Opened 7 years ago

Closed 6 years ago

#16747 closed enhancement (fixed)

Add optional Arb package (arbitrary-precision floating-point ball arithmetic)

Reported by: ktkohl Owned by:
Priority: major Milestone: sage-6.4
Component: packages: optional Keywords: arb, optional package. interval field
Cc: alina, fredrik.johansson, mmezzarobba Merged in:
Authors: Karen Kohl, Laura Peskin, Clemens Heuberger Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: ec0aae9 (Commits, GitHub, GitLab) Commit: ec0aae9358f5204a3db6406b2c2f2818a78f5892
Dependencies: Stopgaps:

Status badges

Description (last modified by cheuberg)

Add Arb http://fredrikj.net/arb/ as an optional/experimental package. Source code here: https://www.math.aau.at/user/cheuberg/sage/arb-2.3.0.tar.gz (This is a renamed version of the original tarball at https://github.com/fredrik-johansson/arb/archive/2.3.0.tar.gz, see the comment by jdemeyer)

Change History (30)

comment:1 Changed 7 years ago by ktkohl

  • Cc fredrik.johansson added

comment:2 Changed 7 years ago by ktkohl

  • Authors changed from ktkohl to ktkohl, lpeskin

comment:3 Changed 7 years ago by ktkohl

  • Branch set to u/ktkohl/ticket/16747
  • Created changed from 07/31/14 15:42:30 to 07/31/14 15:42:30
  • Modified changed from 07/31/14 16:00:03 to 07/31/14 16:00:03

comment:4 follow-up: Changed 7 years ago by ktkohl

  • Commit set to a2c88615795642ecca786b24836f84a2a8089e8e

How do I get the arb-2.2.tar.bz2 to be part of the commit?


New commits:

a2c8861Sage install files for Arb 2.2

comment:5 Changed 7 years ago by cheuberg

  • Branch changed from u/ktkohl/ticket/16747 to u/cheuberg/ticket/16747

comment:6 Changed 7 years ago by cheuberg

  • Commit changed from a2c88615795642ecca786b24836f84a2a8089e8e to c66113f6c5e82fe1476e2a9dbcefb3c8437a98c5
  • Description modified (diff)

I modified the patch:

  • use the .tar.gz file from github with version number instead of unversioned .zip file
  • use Sage's versions of flint, mpfr, gmp in building the package (if there is no version of one of those in the system paths, then the optional package won't compile).
  • Set package version to 2.2.0 to match the name of the top level directory of the .tar.gz file so that no renaming to src is necessary.

In that version, it compiles for me.

Are you planning to provide and include python bindings for the library?


New commits:

a2c8861Sage install files for Arb 2.2
40eccd8Use Sage's flint, mpfr, gmp instead of possibly locally installed versions
c66113fUse .tar.gz file from github, Version is 2.2.0, then no rename to src is necessary.

comment:7 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:8 in reply to: ↑ 4 Changed 7 years ago by cheuberg

Replying to ktkohl:

How do I get the arb-2.2.tar.bz2 to be part of the commit?

In the developer guide, it says "If all went fine, open a ticket, put a link to the original tarball in the ticket and upload a branch with the code under SAGE_ROOT/build/pkgs." So IMHO, there is nothing else to do.

comment:9 follow-up: Changed 7 years ago by fredrik.johansson

I recently updated the makefile in Arb (requires a git checkout). This might solve some potential build issues with the 2.2 release.

comment:10 in reply to: ↑ 9 Changed 7 years ago by cheuberg

Replying to fredrik.johansson:

I recently updated the makefile in Arb (requires a git checkout). This might solve some potential build issues with the 2.2 release.

For the sage spkg, it would probably be easier to have a release on github with that change.

@original authors: is there a reason why the status of this patch is not "needs_review"? I'd also like to renew my question on whether you plan to provide python bindings.

comment:11 Changed 7 years ago by fredrik.johansson

I will make a new release soon.

I've also just added methods arb_get_interval_mpfr/arb_set_interval_mpfr which should simplify conversion to/from Sage's RIF and CIF.

comment:13 Changed 6 years ago by git

  • Commit changed from c66113f6c5e82fe1476e2a9dbcefb3c8437a98c5 to f2c5b0bb819af53c00d0d723d09dcb69bdddfb54

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

f2c5b0bTrac #16747: Update arb to version 2.3.0

comment:14 Changed 6 years ago by cheuberg

  • Authors changed from ktkohl, lpeskin to Karen Kohl, Laura Peskin, Clemens Heuberger
  • Description modified (diff)
  • Keywords arb optional package. interval field added
  • Status changed from new to needs_review

Updated to version 2.3.0; replaced usernames of original ticket authors by their full names as given by SPKG.txt.

comment:15 follow-up: Changed 6 years ago by jdemeyer

  • Status changed from needs_review to needs_work

The tarball name is too strange: it should contain the package name (arb-2.3.0.tar.gz)

comment:16 follow-up: Changed 6 years ago by jdemeyer

Is the -j1 needed for $MAKE install?

comment:17 follow-up: Changed 6 years ago by jdemeyer

Try to avoid long lines like

Arb is a C library for arbitrary-precision floating-point ball arithmetic, developed by Fredrik Johansson (fredrik.johansson@gmail.com). It supports efficient high-precision computation with polynomials, power series, matrices and special functions over the real and complex numbers, with automatic, rigorous error control.

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

We most likely really need the --libdir="$SAGE_LOCAL/lib". Some systems have hacked lt to install libraries in strange locations by default.

comment:19 Changed 6 years ago by git

  • Commit changed from f2c5b0bb819af53c00d0d723d09dcb69bdddfb54 to 74871647fade608ce1b4b2be7d4ca08a7e6da63c

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

f3f169dTrac #16747: Wrap long lines
f3ffd68Trac #16747: remove "-j1" from make install
7487164Trac #16747: remove --libdir

comment:20 in reply to: ↑ 15 Changed 6 years ago by cheuberg

  • Description modified (diff)

Replying to jdemeyer:

The tarball name is too strange: it should contain the package name (arb-2.3.0.tar.gz)

I cannot change the original name on github, therefore I downloaded a copy, renamed the tarball and placed it in my own webspace, see the modified description of the ticket.

comment:21 in reply to: ↑ 16 Changed 6 years ago by cheuberg

Replying to jdemeyer:

Is the -j1 needed for $MAKE install?

IMHO it is not needed and removing it should not have any effects (the only dependency of make install is the library which should have been compiled in parallel before; then make install creates two directories and copies a few files into these directories, but these steps would not be run in parallel, anyway). So -j1 is removed in commit f3ffd68.

comment:22 in reply to: ↑ 17 Changed 6 years ago by cheuberg

Replying to jdemeyer:

Try to avoid long lines

done in commit f3f169d.

comment:23 in reply to: ↑ 18 Changed 6 years ago by cheuberg

  • Status changed from needs_work to needs_review

Replying to vbraun:

We most likely really need the --libdir="$SAGE_LOCAL/lib". Some systems have hacked lt to install libraries in strange locations by default.

The .configure script of arb does not support the option --libdir. Its Makefile.in uses $(DESTDIR)$(PREFIX)/lib (and $(DESTDIR)$(PREFIX)/include) as targets when installing the library. Therefore, commit 7487164 removes --libdir (previously commented out).

comment:24 Changed 6 years ago by vbraun

Argh, no autotools/libtool :-(

comment:25 Changed 6 years ago by cheuberg

Rather minimal python bindings are now in #17194

comment:26 Changed 6 years ago by mmezzarobba

  • Cc mmezzarobba added

comment:27 Changed 6 years ago by cheuberg

See discussion on sage-devel concerning the section SPKG Maintainers.

comment:28 Changed 6 years ago by git

  • Commit changed from 74871647fade608ce1b4b2be7d4ca08a7e6da63c to ec0aae9358f5204a3db6406b2c2f2818a78f5892

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

ec0aae9Trac #16747: Remove SPKG Maintainers section

comment:29 Changed 6 years ago by jdemeyer

  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_review to positive_review

comment:30 Changed 6 years ago by vbraun

  • Branch changed from u/cheuberg/ticket/16747 to ec0aae9358f5204a3db6406b2c2f2818a78f5892
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.