sagemath/sage

Fixes for the distributions sagemath-objects, sagemath-categories

mkoeppe opened this issue · 17 comments

(from #29941, #33800)

These distributions do not need ECL, so we revise the unconditional dependency of sage.env.cython_aliases on ecl-config introduced in #30770.

We add some missing modules to the MANIFEST of sagemath-objects.

To test:

 ./bootstrap && ./sage -sh -c '(cd pkgs/sagemath-objects && SAGE_NUM_THREADS=16 tox -r -v -v -v -e py39)'

CC: @dimpase @kwankyu @tobiasdiez

Component: distribution

Author: Matthias Koeppe

Branch/Commit: c5d43bd

Reviewer: Dima Pasechnik

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

Commit: 33a1540

New commits:

37f5cb5.github/workflows/sdist.yml: Build wheels too
b273985sage.env.cython_aliases: Handle ecl via default_required_modules
6ac30fdpkgs/sagemath-objects/MANIFEST.in: Add missing sage.misc.package_dir
762dd70pkgs/sagemath-objects/MANIFEST.in: Add sage.misc.sagedoc
33a1540pkgs/sagemath-{objects,categories}/README.rst: Mention dependencies

Author: Matthias Koeppe

Description changed:

--- 
+++ 
@@ -1 +1,12 @@
+(from #29941, #33800)
 
+These distributions do not need ECL, so we revise the unconditional dependency of `sage.env.cython_aliases` on `ecl-config` introduced in #30770.
+
+We add some missing modules to the `MANIFEST` of **sagemath-objects**.
+
+To test: 
+
+```
+ ./bootstrap && ./sage -sh -c '(cd pkgs/sagemath-objects && SAGE_NUM_THREADS=16 tox -r -v -v -v -e py39)'
+```
+

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

32c831csage.env.cython_aliases: Handle ecl via default_required_modules
4d75ff7pkgs/sagemath-objects/MANIFEST.in: Add missing sage.misc.package_dir
078d72dpkgs/sagemath-objects/MANIFEST.in: Add sage.misc.sagedoc
4da43c5pkgs/sagemath-{objects,categories}/README.rst: Mention dependencies

Changed commit from 33a1540 to 4da43c5

Reviewer: Dima Pasechnik

comment:8

lgtm (I gather that many test failures are OK)

comment:9

Thanks! Yes, many test failures are expected.

comment:11
$ make sagelib-clean saglib-uninstall
$ make sagelib
...
[sagelib-9.6.rc3] 11303 | static char __pyx_doc_4sage_7cpython_6string_bytes_to_str[] = "bytes_to_str(b, encoding=None, errors=None) -> str\nFile: sage/cpython/string.pxd (starting at line 28)\n\n    Convert ``bytes`` to ``str``.\n\n    This decodes the given ``bytes`` to a Python 3 unicode ``str`` using\n    the specified encoding.  It is a no-op on ``str`` input.\n\n    EXAMPLES::\n\n        sage: from sage.cpython.string import bytes_to_str\n        sage: s = bytes_to_str(b'\\xcf\\x80')\n        sage: s == u'\317\200'\n        True\n        sage: bytes_to_str([])\n        Traceback (most recent call last):\n        ...\n        TypeError: expected bytes, list found\n    ";
[sagelib-9.6.rc3]       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[sagelib-9.6.rc3] gcc: warning: ECL_CFLAGS: linker input file unused because linking not done
[sagelib-9.6.rc3] gcc: error: ECL_CFLAGS: linker input file not found: No such file or directory
[sagelib-9.6.rc3] error: Command "gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -g -O2 -fPIC -Isage/libs -IECL_INCDIR -I./sage/cpython -Isage/cpython -I/home/scratch/scratch2/dimpase/sage/sagetrac-mirror/local/var/lib/sage/venv-python3.9/lib64/python3.9/site-packages/cysignals -I/home/scratch/scratch2/dimpase/sage/sagetrac-mirror/pkgs/sagemath-standard -I/home/scratch/scratch2/dimpase/sage/sagetrac-mirror/local/var/lib/sage/venv-python3.9/lib64/python3.9/site-packages/numpy/core/include -I/usr/include/python3.9 -Ibuild/cythonized -I/home/scratch/scratch2/dimpase/sage/sagetrac-mirror/local/var/lib/sage/venv-python3.9/include -I/usr/include/python3.9 -c build/cythonized/sage/libs/ecl.c -o build/temp.linux-x86_64-3.9/build/cythonized/sage/libs/ecl.o -fno-strict-aliasing -DCYTHON_CLINE_IN_TRACEBACK=1 ECL_CFLAGS -std=c99" failed with exit status 1
[sagelib-9.6.rc3] 
[sagelib-9.6.rc3] real	0m7.319s
[sagelib-9.6.rc3] user	0m5.909s
[sagelib-9.6.rc3] sys	0m1.435s
make[4]: *** [Makefile:2946: sagelib-SAGE_VENV-no-deps] Error 1
make[3]: *** [Makefile:2946: /home/scratch/scratch2/dimpase/sage/sagetrac-mirror/local/var/lib/sage/venv-python3.9/var/lib/sage/installed/sagelib-9.6.rc3] Error 2
make[2]: *** [Makefile:2511: all-build] Error 2

Changed commit from 4da43c5 to c5d43bd

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

c5d43bdsrc/sage/env.py (cython_aliases): Fix up
comment:13

(wrong ticket)

comment:15

OK, that's better.

comment:16

Thanks for catching this!