Closed mkoeppe closed 3 years ago
Dependencies: #31335
With polymake from Andreas's tap, need to do export PERL5LIB="/usr/local/Cellar/polymake/4.3_1/libexec/perl5/lib/perl5/darwin-thread-multi-2level:/usr/local/Cellar/polymake/4.3_1/libexec/perl5/lib/perl5"
(this is done in the polymake
script but we use the callable library through jupymake)
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
00b3109 | build/pkgs/sagelib/spkg-install: Set SETUPTOOLS_USE_DISTUTILS=local |
fd23c0d | build/pkgs/setuptools/patches: Add distutils patch from https://github.com/fxcoudert/cpython/commit/6511bf56.patch |
3601c51 | Adapt the patch to apply to the vendored distutils |
9ad84cc | Merge branch 't/31344/homebrew__docbuild_crashes__libtcl_atforkprepare' into t/31335/homebrew__unused_packages__singular__pari_______in__usr_local_leak_into_sagelib_build |
ae4ea55 | Merge branch 't/31344/homebrew__docbuild_crashes__libtcl_atforkprepare' into t/31335/homebrew__unused_packages__singular__pari_______in__usr_local_leak_into_sagelib_build |
add7db4 | Merge tag '9.3.beta7' into t/31335/homebrew__unused_packages__singular__pari_______in__usr_local_leak_into_sagelib_build |
4e777e7 | Merge tag '9.3.beta8' into t/31335/homebrew__unused_packages__singular__pari_______in__usr_local_leak_into_sagelib_build |
e03c5ac | build/bin/sage-build-env: Set SETUPTOOLS_USE_DISTUTILS here, not in build/pkgs/sagelib/spkg-install |
f125453 | Merge #31335 |
cd792c5 | build/pkgs/polymake/distros: Add more |
Changed dependencies from #31335 to #31335, #31482
Branch pushed to git repo; I updated commit sha1. New commits:
35558b3 | build/pkgs/polymake/spkg-install.in: Only pass --with-lrs if it is installed |
Replying to @mkoeppe:
With polymake from Andreas's tap, need to do
export PERL5LIB="/usr/local/Cellar/polymake/4.3_1/libexec/perl5/lib/perl5/darwin-thread-multi-2level:/usr/local/Cellar/polymake/4.3_1/libexec/perl5/lib/perl5"
(this is done in thepolymake
script but we use the callable library through jupymake)
Setting this globally unfortunately breaks autotools (aclocal
) from homebrew:
Usage: DynaLoader::dl_find_symbol(libhandle, symbolname) at /usr/local/Cellar/polymake/4.3_1/libexec/perl5/lib/perl5/darwin-thread-multi-2level/XSLoader.pm line 89.
Compilation failed in require at /usr/local/Cellar/polymake/4.3_1/libexec/perl5/lib/perl5/File/Path.pm line 6.
BEGIN failed--compilation aborted at /usr/local/Cellar/polymake/4.3_1/libexec/perl5/lib/perl5/File/Path.pm line 6.
Compilation failed in require at /usr/local/bin/aclocal line 33.
BEGIN failed--compilation aborted at /usr/local/bin/aclocal line 33.
Too bad that polymake-config
does not advertise the necessary Perl library path...
Branch pushed to git repo; I updated commit sha1. New commits:
93fcbd6 | build/pkgs/polymake/distros/debian.txt: Add libpolymake-dev |
Changed dependencies from #31335, #31482 to none
Moving this ticket to 9.4, as it seems unlikely that it will be merged in 9.3, which is in the release candidate stage
Saving the continuation:
JuPyMake/JuPyMake.cpp at master · sebasguts/JuPyMake https://github.com/sebasguts/JuPyMake/blob/master/JuPyMake.cpp
jupyter-polymake/kernel.py at master · polymake/jupyter-polymake https://github.com/polymake/jupyter-polymake/blob/master/jupyter_kernel_polymake/kernel.py
jupyter-kernel-polymake · PyPI https://pypi.org/project/jupyter-kernel-polymake/
Failed to install on OSX Mojave Mac::SystemDirectory is not installed. · Issue #39 · sqitchers/homebrew-sqitch https://github.com/sqitchers/homebrew-sqitch/issues/39
tokuhirom/plenv: Perl binary manager https://github.com/tokuhirom/plenv
polymake Downloads [polymake wiki] https://polymake.org/doku.php/download/start
Perlbrew https://perlbrew.pl/
gugod/App-perlbrew: Manage perl installations in your $HOME https://github.com/gugod/App-perlbrew
App::perlbrew - Manage perl installations in your $HOME - metacpan.org https://metacpan.org/pod/App::perlbrew
polymake Downloads [polymake wiki] https://polymake.org/doku.php/download/start#binary_releases
perl:mongodb package versions - Repology https://repology.org/project/perl:mongodb/versions
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
b211f2a | .homebrew-build-env: Use /usr/local/opt/polymake if it exists |
27b4992 | build/pkgs/polymake/spkg-configure.m4: New |
d30256b | build/pkgs/polymake/spkg-configure.m4: If system polymake is in use, do not require Perl packages |
6860f90 | build/pkgs/polymake/distros: Add more |
f4eb33b | build/pkgs/polymake/dependencies: Make lrslib only an optional dependency |
d93788a | build/pkgs/polymake/spkg-install.in: Only pass --with-lrs if it is installed |
9ad9e2f | build/pkgs/polymake/distros/debian.txt: Add libpolymake-dev |
Dependencies: #32605
Replying to @mkoeppe:
With polymake from Andreas's tap, need to do
export PERL5LIB="[...]"
(this is done in thepolymake
script but we use the callable library through jupymake)
Fixed in latest version of the homebrew formula according to https://github.com/polymake/polybundle/issues/19#issuecomment-938612849
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
2576f86 | build/make/Makefile.in: If a script package has no spkg-install, run "sage -info" and exit with error |
feb8de7 | build/pkgs/: Remove spkg-install scripts for dummy script packages |
8f782c0 | .github/workflows/tox-{optional,experimental}.yml: Do not try to test dummy script packages |
4b292be | build/pkgs/perl_mongodb/spkg-install: Remove |
a7b6352 | build/bin/sage-spkg-info: Fix display of system packages |
e65b309 | bootstrap: Do not provide ./configure --enable-SPKG options for dummy optional packages |
b485d46 | m4/sage_spkg_collect.m4: Do not advertise dummy optional packages as installable |
8c8e1c4 | Merge #31163 |
015b899 | build/bin/sage-print-system-package-command: Handle cpan |
1832397 | Merge #32605 |
Changed dependencies from #32605 to #32605, #30887
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
ea548d7 | sage.features.four_ti_2: New, use it in sage.interfaces.four_ti_2, sage.sandpiles |
f826ded | build/pkgs/4ti2/spkg-configure.m4: Check for executable's with prefix 4ti2_ too |
56016ce | use AC_LINK_IFELSE instead of obsolete AC_TRY_LINK |
2b45b77 | sage.feature.join_feature: New, factored out from LatteFeature; use it to implement FourTi2Feature |
5c23cc9 | DocTestReporter: Fix 'sage -t --optional=all' |
1b8634d | sage.doctest.external: Add 4ti2 |
d9d4f99 | Merge tag '9.4.beta6' into t/30887/public/30887 |
646e182 | src/sage/features/four_ti_2.py: Move import of SAGE_ENV inside the `__init__` method, to remove confusion of sage.misc.dev_tools |
b090dc0 | Merge #30887 |
83a98be | src/sage/features/polymake.py: New |
Changed dependencies from #32605, #30887 to #32605, #30887, #32547
Author: Matthias Koeppe
Tested successfully on homebrew
Testing with tox -e docker-ubuntu-groovy-maximal
, where configure
accepts system polymake 4.1-4build1, gives many doctest failures of the form:
File "/sage/local/lib/python3.8/site-packages/sage/interfaces/polymake.py", line 2598, in _start
InitializePolymake() # Can only be called once
JuPyMake.PolymakeError: polymake::Main - /usr/lib/polymake/shared is not a symlink
Indeed:
ls -l /usr/lib/polymake/
total 12
-rw-r--r-- 1 root root 2024 Aug 17 2020 config.ninja
drwxr-xr-x 2 root root 4096 Oct 8 21:18 lib
drwxr-xr-x 3 root root 4096 Oct 8 21:18 perlx
... so clearly we need to extend spkg-configure.m4
to test that libpolymake has not been debianized to death
Now correctly rejects polymake on this system (tox -e docker-ubuntu-groovy-maximal -- config.status
)
Same on ubuntu-impish-maximal
(with system polymake 4.3)
On fedora-34-maximal
:
configure:34443: checking whether libpolymake works
configure:34479: g++ -o conftest -I/usr/include/polymake/external -I/usr/include/arb -I/usr/include/eigen3 -I/usr/include/gfanlib -I/usr/include/nauty -I/usr/include -I/usr/include -DPOLYMAKE_VERSION=404 -fPIC -pipe -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wno-unused-local-typedefs -std=c++14 -ftemplate-depth-200 -fno-strict-aliasing -fopenmp -Wshadow -Wlogical-op -Wconversion -Wzero-as-null-pointer-constant -Wno-parentheses -Wno-error=unused-function -Wno-stringop-overflow -Wno-array-bounds -Wno-maybe-uninitialized -Wno-free-nonheap-object -DPOLYMAKE_WITH_FLINT -O2 -DPOLYMAKE_DEBUG=0 -Dlinux -I/usr/include -lpolymake -Wl,-z,relro -Wl,--as-needed -lnormaliz -ldl -fuse-ld=gold -fopenmp -L/usr/lib64 -Wl,-E conftest.cpp -lmpfi -lmpc -lm4rie -llrcalc -lnauty -lhomfly -liml -lgiac -lecm -lpari -lcurl -lcliquer -lcddgmp -lbz2 -lflint -lmpfr -lglpk -lgmp -lm -lntl -lLfunction >&5
cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
cc1plus: some warnings being treated as errors
Same on fedora-35-maximal
So system polymake is rejected. This is correct because building jupymake would fail with the same error.
Branch pushed to git repo; I updated commit sha1. New commits:
d9fc03e | build/pkgs/perl_cpan_polymake_prereq/distros/fedora.txt: perl-TermReadKey, not perl-Term-ReadKey |
Branch pushed to git repo; I updated commit sha1. New commits:
777d1b8 | build/pkgs/polymake/distros/nix.txt: New |
needs a rebase
Branch pushed to git repo; I updated commit sha1. New commits:
edce768 | Merge tag '9.5.beta3' into t/31527/spkg_configure_m4_for_polymake |
Changed dependencies from #32605, #30887, #32547 to #32605
gentoo's polymake is too old atm, it's 3.0_p2 there (and broken).
Polymake is available on a number of systems (https://repology.org/project/polymake/versions) and also on Homebrew via a custom tap: https://polymake.org/doku.php/download/start#binary_releases
We add system package info and
spkg-configure.m4
Fixing broken distribution packages is beyond the scope of the ticket.
Depends on #32605
CC: @videlec @jplab @kliem paffenholz@opt.tu-darmstadt.de @antonio-rojas @dimpase @orlitzky
Component: build: configure
Author: Matthias Koeppe
Branch/Commit:
03f17c9
Reviewer: Antonio Rojas, Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/31527