Opened 6 years ago
Closed 6 years ago
#20525 closed defect (fixed)
gap_packages badly broken
Reported by:  vdelecroix  Owned by:  

Priority:  blocker  Milestone:  sage7.2 
Component:  packages: optional  Keywords:  
Cc:  vbraun, dimpase  Merged in:  
Authors:  Dima Pasechnik  Reviewers:  Jeroen Demeyer 
Report Upstream:  N/A  Work issues:  
Branch:  9afe2c3 (Commits, GitHub, GitLab)  Commit:  9afe2c3e4b7ebd82729d21439d684dbc0fdc5731 
Dependencies:  Stopgaps: 
Description (last modified by )
With Sage 7.2.beta6 with gap_packages
installed, within a sage gap
session:
gap> LoadPackage("HAPcryst"); #I polymake command not found. Please set POLYMAKE_COMMAND by hand  Loading polymaking 0.8.1 (A package for using polymake in GAP) by Marc Roeder  ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Loading Cryst 4.1.12 (Computing with crystallographic groups) by Bettina Eick (http://www.icm.tubs.de/~beick/), Franz Gähler (http://www.math.unibielefeld.de/~gaehler/), and Werner Nickel (http://www.mathematik.tudarmstadt.de/~nickel/). Homepage: http://www.math.unibielefeld.de/~gaehler/gap45/packages.php ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Loading CrystCat 1.1.6 (The crystallographic groups catalog) by Volkmar Felsch (http://www.math.rwthaachen.de/~Volkmar.Felsch/) and Franz Gähler (http://www.math.unibielefeld.de/~gaehler/). Homepage: http://www.math.unibielefeld.de/~gaehler/gap45/packages.php ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Loading AClib 1.2 (Almost Crystallographic Groups  A Library and Algorithms) by Karel Dekimpe (http://www.kulak.ac.be/~dekimpe) and Bettina Eick (http://www.icm.tubs.de/~beick). Homepage: http://www.icm.tubs.de/~beick/so.html ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── #I HAP warning: Set POLYMAKE_PATH manually if needed. #I HAP warning: Set NEATO_PATH manually if needed. #I HAP warning: Set DISPLAY_PATH manually if needed. Error, <opr> is not an operation called from <compiled or corrupted statement> called from <function "local function">( <arguments> ) called from readeval loop at line 162 of /usr/local/src/sagegit/local/gap/latest/pkg/Hap1.11/lib/HapCocyclic/gap/ccgroup.gi you can 'quit;' to quit to outer loop, or you can 'return;' to continue
A second issue is a misinstallation of guava:
gap> DirectoriesPackagePrograms("guava")[1]; dir("/usr/local/src/sagegit/local/gap/latest/pkg/guava3.13/bin/x86_64unknownlinuxgnugccdefault64/")
but this directory does not exist, bin
is missing below:
$ ls l /usr/local/src/sagegit/local/gap/latest/pkg/guava3.13 total 168 rwrr 1 jdemeyer jdemeyer 11775 Mar 19 23:17 CHANGES.guava rwxrxrx 1 jdemeyer jdemeyer 1918 Mar 19 23:17 configure rwrr 1 jdemeyer jdemeyer 51189 Mar 19 23:17 COPYING.guava drwxrxrx 2 jdemeyer jdemeyer 4096 Mar 30 00:32 doc rwrr 1 jdemeyer jdemeyer 368 Mar 19 23:17 gapdoc.g rwrr 1 jdemeyer jdemeyer 2059 Mar 19 23:17 HISTORY.guava rwrr 1 jdemeyer jdemeyer 1364 Mar 19 23:17 init.g drwxrxrx 2 jdemeyer jdemeyer 4096 Mar 30 00:32 lib rwrr 1 jdemeyer jdemeyer 35120 Mar 19 23:17 LICENSE rwrr 1 jdemeyer jdemeyer 2858 Mar 19 23:17 Makefile.in rwrr 1 jdemeyer jdemeyer 11638 Mar 19 23:17 PackageInfo.g rwrr 1 jdemeyer jdemeyer 1420 Mar 19 23:17 read.g rwrr 1 jdemeyer jdemeyer 4882 Mar 19 23:17 README.guava rwrr 1 jdemeyer jdemeyer 98 Mar 19 23:17 README.md drwxrxrx 4 jdemeyer jdemeyer 4096 Mar 30 00:32 src drwxrxrx 2 jdemeyer jdemeyer 4096 Mar 30 00:32 tbl drwxrxrx 2 jdemeyer jdemeyer 4096 Mar 30 00:32 tst
This causes doctest failures:
sage t long src/sage/tests/gap_packages.py ********************************************************************** File "src/sage/tests/gap_packages.py", line 8, in sage.tests.gap_packages Failed example: test_packages(pkgs, only_failures=True) # optional  gap_packages Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.gap_packages[2]>", line 1, in <module> test_packages(pkgs, only_failures=True) # optional  gap_packages File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/tests/gap_packages.py", line 77, in test_packages output = libgap.eval('LoadPackage("{0}")'.format(pkg)) File "sage/libs/gap/libgap.pyx", line 431, in sage.libs.gap.libgap.Gap.eval (build/cythonized/sage/libs/gap/libgap.c:4183) return make_any_gap_element(self, gap_eval(gap_command)) File "sage/libs/gap/util.pyx", line 288, in sage.libs.gap.util.gap_eval (build/cythonized/sage/libs/gap/util.c:4947) raise ValueError('libGAP: '+str(msg).strip()) ValueError: libGAP: Error, <opr> is not an operation ********************************************************************** File "src/sage/tests/gap_packages.py", line 47, in sage.tests.gap_packages.test_packages Failed example: test_packages(['GAPDoc']) Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.gap_packages.test_packages[1]>", line 1, in <module> test_packages(['GAPDoc']) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/tests/gap_packages.py", line 77, in test_packages output = libgap.eval('LoadPackage("{0}")'.format(pkg)) File "sage/libs/gap/libgap.pyx", line 431, in sage.libs.gap.libgap.Gap.eval (build/cythonized/sage/libs/gap/libgap.c:4183) return make_any_gap_element(self, gap_eval(gap_command)) File "sage/libs/gap/util.pyx", line 288, in sage.libs.gap.util.gap_eval (build/cythonized/sage/libs/gap/util.c:4947) raise ValueError('libGAP: '+str(msg).strip()) ValueError: libGAP: ********************************************************************** File "src/sage/tests/gap_packages.py", line 54, in sage.tests.gap_packages.test_packages Failed example: pkgs = all_installed_packages() Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.gap_packages.test_packages[2]>", line 1, in <module> pkgs = all_installed_packages() File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/tests/gap_packages.py", line 109, in all_installed_packages for path in libgap.eval('GAP_ROOT_PATHS').sage(): File "sage/libs/gap/libgap.pyx", line 431, in sage.libs.gap.libgap.Gap.eval (build/cythonized/sage/libs/gap/libgap.c:4183) return make_any_gap_element(self, gap_eval(gap_command)) File "sage/libs/gap/util.pyx", line 288, in sage.libs.gap.util.gap_eval (build/cythonized/sage/libs/gap/util.c:4947) raise ValueError('libGAP: '+str(msg).strip()) ValueError: libGAP: ********************************************************************** File "src/sage/tests/gap_packages.py", line 55, in sage.tests.gap_packages.test_packages Failed example: test_packages(pkgs) # random output Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.gap_packages.test_packages[3]>", line 1, in <module> test_packages(pkgs) # random output NameError: name 'pkgs' is not defined ********************************************************************** File "src/sage/tests/gap_packages.py", line 105, in sage.tests.gap_packages.all_installed_packages Failed example: all_installed_packages() Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.gap_packages.all_installed_packages[1]>", line 1, in <module> all_installed_packages() File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/tests/gap_packages.py", line 109, in all_installed_packages for path in libgap.eval('GAP_ROOT_PATHS').sage(): File "sage/libs/gap/libgap.pyx", line 431, in sage.libs.gap.libgap.Gap.eval (build/cythonized/sage/libs/gap/libgap.c:4183) return make_any_gap_element(self, gap_eval(gap_command)) File "sage/libs/gap/util.pyx", line 288, in sage.libs.gap.util.gap_eval (build/cythonized/sage/libs/gap/util.c:4947) raise ValueError('libGAP: '+str(msg).strip()) ValueError: libGAP: ********************************************************************** 3 items had failures: 1 of 4 in sage.tests.gap_packages 1 of 3 in sage.tests.gap_packages.all_installed_packages 3 of 5 in sage.tests.gap_packages.test_packages [9 tests, 5 failures, 4.49 s] sage t long src/sage/coding/linear_code.py ********************************************************************** File "src/sage/coding/linear_code.py", line 3284, in sage.coding.linear_code.AbstractLinearCode.spectrum Failed example: C.spectrum(algorithm="leon") # optional  gap_packages (Guava package) Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.coding.linear_code.AbstractLinearCode.spectrum[8]>", line 1, in <module> C.spectrum(algorithm="leon") # optional  gap_packages (Guava package) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/coding/linear_code.py", line 3328, in spectrum lines = subprocess.check_output([os.path.join(guava_bin_dir, 'wtdist'), input]) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 566, in check_output process = Popen(stdout=PIPE, *popenargs, **kwargs) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 710, in __init__ errread, errwrite) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 1335, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory ********************************************************************** File "src/sage/coding/linear_code.py", line 3292, in sage.coding.linear_code.AbstractLinearCode.spectrum Failed example: C.spectrum() == C.spectrum(algorithm="leon") # optional  gap_packages (Guava package) Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.coding.linear_code.AbstractLinearCode.spectrum[12]>", line 1, in <module> C.spectrum() == C.spectrum(algorithm="leon") # optional  gap_packages (Guava package) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/coding/linear_code.py", line 3328, in spectrum lines = subprocess.check_output([os.path.join(guava_bin_dir, 'wtdist'), input]) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 566, in check_output process = Popen(stdout=PIPE, *popenargs, **kwargs) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 710, in __init__ errread, errwrite) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 1335, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory ********************************************************************** File "src/sage/coding/linear_code.py", line 3296, in sage.coding.linear_code.AbstractLinearCode.spectrum Failed example: C.spectrum() == C.spectrum(algorithm="leon") # optional  gap_packages (Guava package) Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.coding.linear_code.AbstractLinearCode.spectrum[14]>", line 1, in <module> C.spectrum() == C.spectrum(algorithm="leon") # optional  gap_packages (Guava package) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/coding/linear_code.py", line 3328, in spectrum lines = subprocess.check_output([os.path.join(guava_bin_dir, 'wtdist'), input]) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 566, in check_output process = Popen(stdout=PIPE, *popenargs, **kwargs) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 710, in __init__ errread, errwrite) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 1335, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory ********************************************************************** File "src/sage/coding/linear_code.py", line 3300, in sage.coding.linear_code.AbstractLinearCode.spectrum Failed example: C.spectrum() == C.spectrum(algorithm="leon") # optional  gap_packages (Guava package) Exception raised: Traceback (most recent call last): File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 496, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 858, in compile_and_execute exec(compiled, globs) File "<doctest sage.coding.linear_code.AbstractLinearCode.spectrum[16]>", line 1, in <module> C.spectrum() == C.spectrum(algorithm="leon") # optional  gap_packages (Guava package) File "/usr/local/src/sagegit/local/lib/python2.7/sitepackages/sage/coding/linear_code.py", line 3328, in spectrum lines = subprocess.check_output([os.path.join(guava_bin_dir, 'wtdist'), input]) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 566, in check_output process = Popen(stdout=PIPE, *popenargs, **kwargs) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 710, in __init__ errread, errwrite) File "/usr/local/src/sagegit/local/lib/python/subprocess.py", line 1335, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory ********************************************************************** 1 item had failures: 4 of 18 in sage.coding.linear_code.AbstractLinearCode.spectrum [634 tests, 4 failures, 26.04 s]  sage t long src/sage/tests/gap_packages.py # 5 doctests failed sage t long src/sage/coding/linear_code.py # 4 doctests failed 
Attachments (1)
Change History (75)
Changed 6 years ago by
comment:1 Changed 6 years ago by
 Description modified (diff)
comment:2 Changed 6 years ago by
comment:3 followup: ↓ 4 Changed 6 years ago by
Reformulation: this was not visible before #20182.
comment:4 in reply to: ↑ 3 ; followup: ↓ 5 Changed 6 years ago by
First of all, what is the exact command that you ran to get those doctest failures?
Replying to vdelecroix:
this was not visible before #20182.
Did you actually check this or are you just guessing? I.e. by applying #20182 on top of 7.2.beta5 or reverting #20182 from 7.2.beta6?
comment:5 in reply to: ↑ 4 Changed 6 years ago by
Replying to jdemeyer:
First of all, what is the exact command that you ran to get those doctest failures?
And did you verify that the same exact command on Sage 7.2.beta5 did not give failures?
comment:6 followup: ↓ 7 Changed 6 years ago by
The exact command I ran was
for pkg in A_LOT_OF_THINGS do sage p $pkg done sage patchbot
Note that the failing doctests are optional (precisely # optional  gap_packages
). The patchbot did not ran those before #20182.
comment:7 in reply to: ↑ 6 Changed 6 years ago by
First of all, using ./sage p $pkg
to install packages is not at all recommended (use ./sage i $pkg
instead). Second, not running make
before starting the patchbot is really wrong.
comment:8 Changed 6 years ago by
Do you know the answer to 5?
comment:9 Changed 6 years ago by
For the record, I can reproduce the problem. I'm just not convinced that #20182 is to blame.
comment:10 Changed 6 years ago by
 Component changed from documentation to packages: optional
 Description modified (diff)
comment:11 Changed 6 years ago by
 Component changed from packages: optional to documentation
 Description modified (diff)
Automatic testing of all installed optional packages was introduced in #18558
comment:12 Changed 6 years ago by
 Cc vbraun dimpase added
 Component changed from documentation to packages: optional
 Description modified (diff)
 Priority changed from major to blocker
 Summary changed from failing optional doctests to Failing gap_packages doctests
comment:13 Changed 6 years ago by
 Description modified (diff)
comment:14 Changed 6 years ago by
 Description modified (diff)
 Summary changed from Failing gap_packages doctests to gap_packages badly broken
comment:15 Changed 6 years ago by
 Description modified (diff)
comment:16 followup: ↓ 18 Changed 6 years ago by
 Description modified (diff)
 Summary changed from gap_packages badly broken to Failing gap_packages doctests
these tests work for me. Must be patchbot madness...
comment:17 Changed 6 years ago by
 Summary changed from Failing gap_packages doctests to gap_packages badly broken
comment:18 in reply to: ↑ 16 Changed 6 years ago by
Replying to dimpase:
these tests work for me.
Not for me.
Must be patchbot madness...
No, this is unrelated to the patchbot.
comment:19 Changed 6 years ago by
 Description modified (diff)
Please don't revert the changes I make to the ticket :)
comment:20 Changed 6 years ago by
 Description modified (diff)
comment:21 Changed 6 years ago by
 Description modified (diff)
comment:22 Changed 6 years ago by
 Description modified (diff)
comment:23 Changed 6 years ago by
 Description modified (diff)
comment:24 Changed 6 years ago by
 Description modified (diff)
comment:25 Changed 6 years ago by
 Description modified (diff)
comment:26 Changed 6 years ago by
 Description modified (diff)
comment:27 Changed 6 years ago by
 Description modified (diff)
ok: ./spkginstall: line 72: cd: /home/scratch/dimpase/sage/sage/local/gap/latest/pkg/guava3*: No such file or directory
but why?! This is expansion of cd "$PKG_DIR/guava3*"
. And it seems to work:
$ cd /home/scratch/dimpase/sage/sage/local/gap/latest/pkg/guava3* clpc171[/home/scratch/dimpase/sage/sage/local/gap/latest/pkg/guava3.13]$
comment:28 Changed 6 years ago by
 Branch set to public/20525
 Commit set to 8860e47d4a417760bcceda638e60e6900660b982
comment:29 Changed 6 years ago by
 Status changed from new to needs_review
I cannot reproduce the HAPcryst thing though. I get
$ sage t long src/sage/tests/gap_packages.py Running doctests with ID 2016050216392192780109. Git branch: gappacs Using optional=cbc,csdp,database_gap,gap_packages,mpir,python2,sage Doctesting 1 file. sage t long warnlong 56.7 src/sage/tests/gap_packages.py [10 tests, 3.75 s]  All tests passed!
As I get 10 tests run as opposed to 9 above, I probably have more packages installed...
and
$ sage gap ┌───────┐ GAP 4.8.3, 19Mar2016, build of 20160406 10:34:11 (BST) │ GAP │ http://www.gapsystem.org └───────┘ Architecture: x86_64unknownlinuxgnugccdefault64 Libs used: gmp, readline Loading the library and packages ... Components: trans 1.0, prim 2.1, small* 1.0, id* 1.0 Packages: Alnuth 3.0.0, AtlasRep 1.5.0, AutPGrp 1.6, CTblLib 1.2.2, FactInt 1.5.3, GAPDoc 1.5.1, LAGUNA 3.7.0, Polycyclic 2.11, TomLib 1.2.5 Try '?help' for help. See also '?copyright' and '?authors' gap> LoadPackage("HAPcryst"); #I polymake command not found. Please set POLYMAKE_COMMAND by hand  Loading polymaking 0.8.1 (A package for using polymake in GAP) by Marc Roeder  ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Loading Cryst 4.1.12 (Computing with crystallographic groups) by Bettina Eick (http://www.icm.tubs.de/~beick/), Franz Gähler (http://www.math.unibielefeld.de/~gaehler/), and Werner Nickel (http://www.mathematik.tudarmstadt.de/~nickel/). Homepage: http://www.math.unibielefeld.de/~gaehler/gap45/packages.php ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Loading CrystCat 1.1.6 (The crystallographic groups catalog) by Volkmar Felsch (http://www.math.rwthaachen.de/~Volkmar.Felsch/) and Franz Gähler (http://www.math.unibielefeld.de/~gaehler/). Homepage: http://www.math.unibielefeld.de/~gaehler/gap45/packages.php ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Loading AClib 1.2 (Almost Crystallographic Groups  A Library and Algorithms) by Karel Dekimpe (http://www.kulak.ac.be/~dekimpe) and Bettina Eick (http://www.icm.tubs.de/~beick). Homepage: http://www.icm.tubs.de/~beick/so.html ────────────────────────────────────────────────────────────────────────────────────────────────────────────────── #I HAP warning: Set POLYMAKE_PATH manually if needed. #I MakeReadOnlyGlobal: GradedAlgebraPresentationType no value bound Loading HAP 1.11.13 ...  This is HAPcryst version 0.1.11 by Marc Roeder  true gap>
looks OK to me.
comment:30 followup: ↓ 34 Changed 6 years ago by
I guess you have polymake working on your computer?
comment:31 followup: ↓ 35 Changed 6 years ago by
 Status changed from needs_review to needs_work
You need to bump the patchlevel of the gap_packages
package to ensure the change has effect.
comment:32 Changed 6 years ago by
Also, you better check the result of that cd
operation, for example
cd "$PKG_DIR"/guava3* && ./configure "$GAP_DIR"
comment:33 Changed 6 years ago by
...or use set e
.
comment:34 in reply to: ↑ 30 Changed 6 years ago by
Replying to vdelecroix:
I guess you have polymake working on your computer?
no, I don't have polymake at all.
comment:35 in reply to: ↑ 31 ; followup: ↓ 37 Changed 6 years ago by
Replying to jdemeyer:
You need to bump the patchlevel of the
gap_packages
package to ensure the change has effect.
why? the tarball is the same, no removed/added/changed patches. Since when a change to spkginstall does need a version change?!
(this is an optional package, so it won't magically rebuild by bumping anything, no?)
comment:36 Changed 6 years ago by
 Commit changed from 8860e47d4a417760bcceda638e60e6900660b982 to ca9607d1f7c8c23404449013317e9bf3bed3686c
Branch pushed to git repo; I updated commit sha1. New commits:
ca9607d  check 'cd.. *' success

comment:37 in reply to: ↑ 35 ; followup: ↓ 38 Changed 6 years ago by
Replying to dimpase:
Since when a change to spkginstall does need a version change?!
Since you need to fix broken installations of gap_packages
. People who install gap_packages
today have a broken version of it. Just changing spkginstall
doesn't fix that: you need to actually reinstall gap_packages
.
comment:38 in reply to: ↑ 37 ; followup: ↓ 39 Changed 6 years ago by
Replying to jdemeyer:
Replying to dimpase:
Since when a change to spkginstall does need a version change?!
Since you need to fix broken installations of
gap_packages
. People who installgap_packages
today have a broken version of it. Just changingspkginstall
doesn't fix that: you need to actually reinstallgap_packages
.
yes, but it won't happen without human interaction, would it?
comment:39 in reply to: ↑ 38 Changed 6 years ago by
Replying to dimpase:
yes, but it won't happen without human interaction, would it?
Installed optional packages are upgraded just like standard packages are. So, running make
should be sufficient to rebuild gap_packages
if it was built before.
comment:40 Changed 6 years ago by
 Commit changed from ca9607d1f7c8c23404449013317e9bf3bed3686c to 44d9d6110f41a520dcd2575a9b717452e8d605df
Branch pushed to git repo; I updated commit sha1. New commits:
44d9d61  bump up the version

comment:42 Changed 6 years ago by
 Description modified (diff)
This fixes the second issue, but not the first.
comment:43 Changed 6 years ago by
the first issue is not trivial to reproduce. I managed to do so on OSX, and on UGent's sage4. (But all of that works on my laptop and on my desktop). This has to do with selective GAP packages loading, and is an upstream^{2} bug, as far as I can see. (A bug in a GAP package, that is).
comment:44 Changed 6 years ago by
OK, I see. If database_gap is installed then the error does not occur
(it's because it needs SmallGroup
functionality, specifically, the error comes from IdGroup
being of wrong type, a function, not an attribute). Looks like a missing dependence in Hap.
I will make database_gap a dependency of gap_packages.
comment:45 Changed 6 years ago by
 Commit changed from 44d9d6110f41a520dcd2575a9b717452e8d605df to 4a7af2ae235b8c37c259c5792e3aa57ef1d3549a
Branch pushed to git repo; I updated commit sha1. New commits:
4a7af2a  Hap needs IdGroup being an attribute

comment:46 Changed 6 years ago by
comment:47 followup: ↓ 50 Changed 6 years ago by
 Status changed from needs_review to needs_work
Shouldn't this be an orderonly dependency  database_gap
?
comment:48 Changed 6 years ago by
I don't understand what this is, an orderonly dependency...
comment:49 Changed 6 years ago by
comment:50 in reply to: ↑ 47 ; followup: ↓ 51 Changed 6 years ago by
 Status changed from needs_work to needs_review
Replying to jdemeyer:
Shouldn't this be an orderonly dependency
 database_gap
?
I don't think one wants a stale buggy version of database_gap lying around, just because it is an orderonly dependence. On a practical side of things, database_gap is updated infrequently, so one would potentially pay very little in efficiency by having it as a normal dependency.
comment:51 in reply to: ↑ 50 ; followup: ↓ 54 Changed 6 years ago by
 Status changed from needs_review to needs_work
Replying to dimpase:
database_gap is updated infrequently, so one would potentially pay very little in efficiency by having it as a normal dependency.
One would pay even less by having it an orderonly dependency. You could add a dependency of gap_packages
on zn_poly
and argue that it doesn't hurt because zn_poly
is not updated often. But that's besides the point: I just want the dependencies to correctly reflect reality.
comment:52 followup: ↓ 53 Changed 6 years ago by
Speaking of dependencies: you should also consider whether gap_packages
depends on gap
(I don't know if it does?)
comment:53 in reply to: ↑ 52 Changed 6 years ago by
Replying to jdemeyer:
Speaking of dependencies: you should also consider whether
gap_packages
depends ongap
(I don't know if it does?)
that's right, gap (and libgap) are dependencies, too. I will add them.
comment:54 in reply to: ↑ 51 ; followup: ↓ 57 Changed 6 years ago by
Replying to jdemeyer:
Replying to dimpase:
database_gap is updated infrequently, so one would potentially pay very little in efficiency by having it as a normal dependency.
One would pay even less by having it an orderonly dependency. You could add a dependency of
gap_packages
onzn_poly
and argue that it doesn't hurt becausezn_poly
is not updated often. But that's besides the point: I just want the dependencies to correctly reflect reality.
The reality is that if database_gap has a bug, then an output of gap_packages might be wrong. A new release of gap_packages might silently need an newer database_gap, too.
Orderonly dependencies are invented to deal with completely different scenarios, IMHO.
comment:55 Changed 6 years ago by
 Commit changed from 4a7af2ae235b8c37c259c5792e3aa57ef1d3549a to f0363f2fe1ed8a33a9066fb89c0e608e3d0c11c2
Branch pushed to git repo; I updated commit sha1. New commits:
f0363f2  more deps added

comment:56 Changed 6 years ago by
 Status changed from needs_work to needs_review
comment:57 in reply to: ↑ 54 Changed 6 years ago by
Replying to dimpase:
A new release of gap_packages might silently need an newer database_gap, too.
Sage always installs the latest version of installed standard and optional packages, so database_gap
will always be uptodate. That's not something which affects the dependencies of gap_packages
.
comment:58 Changed 6 years ago by
 Status changed from needs_review to needs_info
The question you need to answer is a different one: if database_gap
is reinstalled (either because of an upgrade of database_gap
of because somebody did sage f database_gap
), should this force a reinstallation of gap_packages
?
If the answer is "yes": use a normal dependency
If the answer is "no": use an orderonly dependency
comment:59 followup: ↓ 60 Changed 6 years ago by
I read the doc you provided, and it said something else:
If package A has an orderonly dependency on B, it simply means that B must be built before A can be built. The version of B does not matter, only the fact that B is installed matters. This should be used if the dependency is purely a buildtime dependency (for example, a dependency on Python simply because the spkginstall file is written in Python).
Against this background, the answer is that B is a runtime dependency, not a buildtime dependency, and thus it should not be orderonly.
comment:60 in reply to: ↑ 59 Changed 6 years ago by
Replying to dimpase:
This should be used if the dependency is purely a buildtime dependency
That is an if, not if and only if.
It's not because it's not a buildtime dependency, that it should not be an orderonly dependency.
comment:61 Changed 6 years ago by
 Report Upstream changed from N/A to Reported upstream. Developers deny it's a bug.
I do not know all the details to be sure that an orderonly dependency is OK. Probably yes, but not 100% certainly.
Also, regarding the upstream opinion on whether it is a bug, see https://github.com/gapsystem/gap/issues/775 They think that nonGPL'd libs in database_gap are parts of "GAP core system", whatever they mean.
comment:62 Changed 6 years ago by
 Status changed from needs_info to needs_review
comment:63 followup: ↓ 64 Changed 6 years ago by
I think it is time for me to crash the party. First I notice that you made gap_packages
and database_gap
depend on libgap
. Only gap
is needed.
I think it is time for me to point out that grape
includes an old version of nauty
and can use either nauty
(now a standard package) or bliss
(now an optional package). Look at GRAPE_DREADNAUT_EXE
in grape/lib/grape.g
(and the variable GRAPE_NAUTY
and GRAPE_BLISS_EXE
in the same file if you are curious).
I recommend removal of the configure
and other makefiles in spkgsrc
. The only point of that bit in the grape
package is to build the dreadnaut
executable from nauty
.
I am OK if you want to spin that as a separate ticket.
comment:64 in reply to: ↑ 63 ; followup: ↓ 65 Changed 6 years ago by
Replying to fbissey:
I think it is time for me to crash the party. First I notice that you made
gap_packages
anddatabase_gap
depend onlibgap
. Onlygap
is needed.
As soon as we start supporting building GAP kernel extensions in libgap, things will change, and libgap will be a real dependence. At the moment, as gap and libgap are updated in lockstep, it does not matter anyway.
I think it is time for me to point out that
grape
includes an old version ofnauty
and can use eithernauty
(now a standard package) orbliss
(now an optional package). Look atGRAPE_DREADNAUT_EXE
ingrape/lib/grape.g
(and the variableGRAPE_NAUTY
andGRAPE_BLISS_EXE
in the same file if you are curious). I recommend removal of theconfigure
and other makefiles inspkgsrc
. The only point of that bit in thegrape
package is to build thedreadnaut
executable fromnauty
.I am OK if you want to spin that as a separate ticket.
I don't see why you want to override GRAPE's author on this. He told be that he keeps old nauty as he did not do a lot of tests with the new one, yet.
comment:65 in reply to: ↑ 64 ; followup: ↓ 67 Changed 6 years ago by
 Status changed from needs_review to needs_work
I do not know all the details to be sure that an orderonly dependency is OK. Probably yes, but not 100% certainly.
It has always been an orderonly dependency (the default dependencies of optional packages is an orderonly dependency on every standard package), so I guess it's safe.
As soon as we start supporting building GAP kernel extensions in libgap, things will change
Then the dependencies of database_gap
and gap_packages
should be changed in that ticket. I don't see the point of adding dependencies just in case they will be needed in the future. It reminds me of somebody adding webassets
to sagenb
because they planned to use it in the future... which of course never happened.
comment:66 Changed 6 years ago by
 Commit changed from f0363f2fe1ed8a33a9066fb89c0e608e3d0c11c2 to 9afe2c3e4b7ebd82729d21439d684dbc0fdc5731
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
9afe2c3  more deps added

comment:67 in reply to: ↑ 65 Changed 6 years ago by
Replying to jdemeyer:
I do not know all the details to be sure that an orderonly dependency is OK. Probably yes, but not 100% certainly.
It has always been an orderonly dependency (the default dependencies of optional packages is an orderonly dependency on every standard package), so I guess it's safe.
we talk about dependency of one optional package on another.
New commits:
9afe2c3  more deps added

comment:68 Changed 6 years ago by
 Report Upstream changed from Reported upstream. Developers deny it's a bug. to N/A
 Status changed from needs_work to needs_review
comment:69 Changed 6 years ago by
gap, libgap, gap_packages, and database_gap are tightly interconnected packages, usually updated all together, and I don't see much harm in declaring them to be a bit more interdependent than might be strictly necessary. Especially in absence of clear, and not open to grammatical (mis)interpretations, guidelines on dependencies in Sage.
comment:70 Changed 6 years ago by
 Reviewers set to Jeroen Demeyer
 Status changed from needs_review to positive_review
I still think that the current branch is wrong, but let's stop the bikeshedding...
comment:71 followup: ↓ 72 Changed 6 years ago by
I think there are files there that do not need that import from future at all. I don't know whether this import makes it python3incompatible.
comment:72 in reply to: ↑ 71 ; followup: ↓ 73 Changed 6 years ago by
Replying to dimpase:
I think there are files there that do not need that import from future at all. I don't know whether this import makes it python3incompatible.
I suppose this comment was meant for a different ticket?
comment:73 in reply to: ↑ 72 Changed 6 years ago by
comment:74 Changed 6 years ago by
 Branch changed from public/20525 to 9afe2c3e4b7ebd82729d21439d684dbc0fdc5731
 Resolution set to fixed
 Status changed from positive_review to closed
Are you sure that #20182 has anything to do with this? It seems to me that something broke
gap_packages
.