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

Update PPL to v1.0 #14232

Closed
vbraun opened this issue Mar 5, 2013 · 36 comments
Closed

Update PPL to v1.0 #14232

vbraun opened this issue Mar 5, 2013 · 36 comments

Comments

@vbraun
Copy link
Member

vbraun commented Mar 5, 2013

spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/ppl-1.0.p0.spkg

Apply attachment: trac_14232_ppl_doctest_fixes.patch

Apply attachment: 14232_bin_hgignore.patch to local/bin

Apply attachment: 14232_ppl_deps.patch to $SAGE_ROOT

CC: @novoselt @dimpase

Component: packages: standard

Author: Volker Braun, Jeroen Demeyer

Reviewer: Dmitrii Pasechnik, Volker Braun

Merged: sage-5.11.beta1

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

@vbraun vbraun added this to the sage-5.10 milestone Mar 5, 2013
@jdemeyer
Copy link

jdemeyer commented Mar 6, 2013

comment:1

How about

sage: C_Polyhedron(1, 'empty').max_space_dimension()
357913940            # 32-bit
1152921504606846974  # 64-bit

I believe that's the standard way.

@vbraun

This comment has been minimized.

@vbraun
Copy link
Member Author

vbraun commented May 5, 2013

comment:3

Done!

@vbraun
Copy link
Member Author

vbraun commented May 5, 2013

Updated patch

@vbraun
Copy link
Member Author

vbraun commented May 5, 2013

comment:4

Attachment: trac_14232_ppl_doctest_fixes.patch.gz

Fixed the # long doctests, too

@vbraun
Copy link
Member Author

vbraun commented Jun 1, 2013

comment:5

Straightforward version bump, still needs review

@dimpase
Copy link
Member

dimpase commented Jun 3, 2013

comment:6

looks good.

@jdemeyer
Copy link

jdemeyer commented Jun 3, 2013

Reviewer: Dmitrii Pasechnik

@jdemeyer jdemeyer modified the milestones: sage-5.10, sage-5.11 Jun 3, 2013
@jdemeyer
Copy link

jdemeyer commented Jun 4, 2013

comment:8

This exposes #11391 on Ubuntu 13.04.

@jdemeyer
Copy link

jdemeyer commented Jun 4, 2013

Dependencies: #11391

@jdemeyer jdemeyer removed this from the sage-5.11 milestone Jun 4, 2013
@jdemeyer
Copy link

jdemeyer commented Jun 4, 2013

comment:9

Working on a solution, hang on...

@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

jdemeyer commented Jun 4, 2013

Changed author from Volker Braun to Volker Braun, Jeroen Demeyer

@jdemeyer
Copy link

jdemeyer commented Jun 4, 2013

Changed dependencies from #11391 to none

@jdemeyer jdemeyer added this to the sage-5.11 milestone Jun 4, 2013
@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

comment:19

In order to avoid race conditions which happen when GCC is ran while installing PPL, we need attachment: 14232_ppl_deps.patch. This needs review.

I also made a further small change to the spkg to support the PPL_CONFIGURE environment variable, this also needs review.

@vbraun
Copy link
Member Author

vbraun commented Jun 10, 2013

comment:20

The floating-point stuff in PPL needs a funky rounding mode set, so its not going to work as expected in Sage. Which is why I disabled it in the configure.

This ticket is just a textbook case of the perils of abusing LD_LIBRARY_PATH.

@vbraun
Copy link
Member Author

vbraun commented Jun 10, 2013

Changed reviewer from Dmitrii Pasechnik to Dmitrii Pasechnik, Volker Braun

@jdemeyer
Copy link

Merged: sage-5.11.beta1

@jdemeyer
Copy link

Changed merged from sage-5.11.beta1 to none

@jdemeyer jdemeyer reopened this Jun 14, 2013
@jdemeyer
Copy link

Attachment: 14232_ppl_deps.patch.gz

@jdemeyer
Copy link

comment:23

Added GLPK to PPL dependencies since PPL seems to use GLPK.

attachment: 14232_ppl_deps.patch needs review.

@jdemeyer
Copy link

comment:24

It seems that there was a patch on #10039 to add the GLPK dependency, but by mistake, this patch wasn't merged.

@dimpase
Copy link
Member

dimpase commented Jun 14, 2013

comment:25

Replying to @jdemeyer:

It seems that there was a patch on #10039 to add the GLPK dependency, but by mistake, this patch wasn't merged.

indeed. See https://www.cs.unipr.it/mantis/view.php?id=500 which seems to say that the dependency on GLPK will eventually be gone, but not yet...

@jdemeyer
Copy link

Merged: sage-5.11.beta1

@nexttime
Copy link
Mannequin

nexttime mannequin commented May 3, 2015

comment:27

Meanwhile at PPL 1.1, we have:

-rw-r--r-- 1 leif leif 57351174 2015-04-29 16:21 local/lib/libppl.a
-rw-r--r-- 1 leif leif 83958276 2015-04-29 16:21 local/lib/libppl_c.a
-rwxr-xr-x 1 leif leif     1236 2015-05-02 18:29 local/lib/libppl_c.la
lrwxrwxrwx 1 leif leif       17 2015-04-29 16:21 local/lib/libppl_c.so -> libppl_c.so.4.0.0
lrwxrwxrwx 1 leif leif       17 2015-04-29 16:21 local/lib/libppl_c.so.4 -> libppl_c.so.4.0.0
-rwxr-xr-x 1 leif leif 29967312 2015-04-29 16:21 local/lib/libppl_c.so.4.0.0
-rwxr-xr-x 1 leif leif     1156 2015-05-02 18:29 local/lib/libppl.la
lrwxrwxrwx 1 leif leif       16 2015-04-29 16:21 local/lib/libppl.so -> libppl.so.13.0.0
lrwxrwxrwx 1 leif leif       16 2015-04-29 16:21 local/lib/libppl.so.13 -> libppl.so.13.0.0
-rwxr-xr-x 1 leif leif 19604376 2015-04-29 16:21 local/lib/libppl.so.13.0.0

I.e., while the library version of libppl got bumped, libppl_c is still at 4 (the same version as in PPL 0.x!).

So we still have to build PPL "serially" (not in parallel with other packages) to avoid potential race conditions with old system GCCs linked against that version; GCC 4.8 and any later version use ISL instead of PPL. (And PPL was optionally used since GCC 4.4 IIRC, so the "critical" versions are 4.4.x to 4.7.x.)

@nexttime
Copy link
Mannequin

nexttime mannequin commented May 3, 2015

comment:28

(Once we require full C++11 support / GCC >= 4.8.1, we can change that.)

@vbraun
Copy link
Member Author

vbraun commented May 3, 2015

comment:29

The real issue is a) abuse of LD_LIBRARY_PATH and b) necroposting on long-closed tickets ;-)

@nexttime
Copy link
Mannequin

nexttime mannequin commented May 3, 2015

comment:30

Replying to @vbraun:

necroposting on long-closed tickets ;-)

ROFL. I was just wondering whether it's still an issue (i.e., whether we could remove PPL from the sequential toolchain build) -- it is, so I didn't open a ticket for changing that; and as of Sage 6.7.beta3, build/Makefile still refers to this ticket:

# TOOLCHAIN consists of dependencies determined by build/install,
# including for example the GCC package.
toolchain: $(TOOLCHAIN)

# Build all packages that GCC links against serially, otherwise this
# leads to race conditions where some library which is used by GCC gets
# reinstalled. Since system GCCs might use Sage's libraries, we do this
# unconditionally. We still use the dependency checking from $(MAKE),
# so this will not trigger useless rebuilds.
# See #14168 and #14232.
toolchain-deps:
        $(MAKE) $(INST)/$(ZLIB)
        $(MAKE) $(INST)/$(SAGE_MP_LIBRARY)
        $(MAKE) $(INST)/$(MPFR)
        $(MAKE) $(INST)/$(MPC)
        $(MAKE) $(INST)/$(PPL)

You can open a new ticket for letting build/Makefile refer to some further new ticket of course.

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

3 participants