Closed embray closed 3 years ago
SharedMeatAxe is upgraded as well. See https://github.com/simon-king-jena/SharedMeatAxe/releases/tag/v1.0.1
I changed the compression from gz to bz2, since the latter gives a smaller tar ball. Self tests pass, I'm running "make test" now.
New commits:
54c2584 | Upgrade SharedMeatAxe, to fix a build problem on Cygwin |
Changed author from Matthias Koeppe, Miguel Marco to Matthias Koeppe, Miguel Marco, Simon King
Tests pass for me. However, the point of this ticket is to fix things on cygwin, which I'm not using.
Hence, no positive review.
A question: Is it still the case that the issues are "Reported upstream. No feedback yet.", or can this be changed to "Fixed upstream"?
Thanks very much, Simon. Could you add an upstream_url
field to checksums.ini
please (as explained in https://wiki.sagemath.org/ReleaseTours/sage-9.1#For_developers-1)
Branch pushed to git repo; I updated commit sha1. New commits:
cd74ef3 | Add upstream url for SharedMeatAxe |
Hope that upstream_url for SharedMeatAxe is fine.
Replying to @mkoeppe:
You added a URL as reviewer. Is that intended?
Actually it is not clear to me what is stated there. Do I understand correctly that tests on different versions of Cygwin pass, except "cygwin-stage-ii-a (standard)"? And the failed package in this Cygwin version is scipy?
Replying to @simon-king-jena:
Replying to @mkoeppe:
You added a URL as reviewer. Is that intended?
Yes, it's a trick that I have been using recently. The URL shows in ticket lists such as https://trac.sagemath.org/report/92?asc=1&page=1 and this reminds me (or other developers) to inspect these automatic builds when they are done.
They will be replaced by actual reviewer names when ready.
Actually it is not clear to me what is stated there. Do I understand correctly that tests on different versions of Cygwin pass, except "cygwin-stage-ii-a (standard)"? And the failed package in this Cygwin version is scipy?
The build on Cygwin takes very long because of various overheads compared to a build on Linux. On GH Actions there is a time limit of 6 hours per job. Therefore I have split the build into several jobs ("stages"), some of which run in parallel. The linked build https://github.com/mkoeppe/sage/actions/runs/285244461 is the cygwin-standard
build, which means that I install binary packages from the Cygwin distribution first and then start the build of Sage.
stage-i-a
and stage-i-b
ran in parallel and succeeded. What they install in SAGE_LOCAL
is carried forward to stage-ii
. The 5 jobs stage-ii-a
to stage-ii-e
all ran in parallel, building various packages.
As you observed, stage-ii-a
failed because of scipy
. This is a bug unrelated to the present ticket; it is tracked in #30643.
Unfortunately this bug blocks the following stages (stage-iii
would go on to build the Sage library), and so because of this we cannot really check that the current ticket is working correctly.
Replying to @mkoeppe:
Unfortunately this bug blocks the following stages (
stage-iii
would go on to build the Sage library), and so because of this we cannot really check that the current ticket is working correctly.
We cannot test automatically (on github), but a developer with a cygwin machine certainly could...
Replying to @simon-king-jena:
We cannot test automatically (on github), but a developer with a cygwin machine certainly could...
We seem to be in short supply of these...
I have modified the CI script so that the scipy failure does not stop the whole build.
The resulting build logs (https://github.com/mkoeppe/sage/suites/1285136303/artifacts/20016238) show that cliquer
, giac
, meataxe
, and rw
, i.e., all packages mentioned in the ticket description except for libbraiding
(for which the branch contains an update) and singular
(for which the branch does not contain a change) are OK now.
Some optional packages were not built previously. In total, we now have the following remaining issues:
egret:~/Downloads/logs-commit-e41329adfa1f1e69653ba127d6460d2bd7aaaf00-cygwin-standard$ grep "undefined symbols not allowed" pkgs/*
pkgs/barvinok-0.41.1.log:libtool: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared libraries; building static only
pkgs/e_antic-0.1.8.log:libtool: warning: undefined symbols not allowed in x86_64-pc-cygwin shared libraries; building static only
pkgs/isl-0.20.log:libtool: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared libraries; building static only
pkgs/libbraiding-1.1.log:libtool: warning: undefined symbols not allowed in x86_64-pc-cygwin shared libraries; building static only
pkgs/polylib-5.22.5.log:libtool: link: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared libraries
pkgs/singular-4.1.1p2.p0.log:libtool: warning: undefined symbols not allowed in x86_64-unknown-cy(base) eg(ba(base) egr(ba(base) egret(ba(base) (base)(base)(bas(b(bas(base)(((b((
New commits:
e41329a | ci-cygwin-standard.yml: More stages, continue-on-error: true |
Let's get this in so that other tickets can use it as a dependency.
Follow up for the remaining issues in #30814.
Changed reviewer from https://github.com/mkoeppe/sage/actions/runs/287249195 to https://github.com/mkoeppe/sage/actions/runs/287249195, ...
Needs review
there seems to be some problem with building of scipy
In file included from /usr/include/sys/config.h:5,
from /usr/include/_ansi.h:11,
from /usr/include/sys/reent.h:13,
from /usr/include/math.h:5,
from /usr/lib/gcc/x86_64-pc-cygwin/10/include/c++/cmath:45,
from scipy/spatial/ckdtree/src/query.cxx:1:
/usr/include/sys/features.h:255: note: this is the location of the previous definition
255 | #define __BSD_VISIBLE 0
|
In file included from /cygdrive/d/a/sage/sage/local/include/python3.8/pyport.h:219,
from /cygdrive/d/a/sage/sage/local/include/python3.8/Python.h:63,
from /cygdrive/d/a/sage/sage/local/lib/python3.8/site-packages/numpy/core/include/numpy/npy_common.h:11,
from scipy/spatial/ckdtree/src/ckdtree_decl.h:10,
from scipy/spatial/ckdtree/src/query.cxx:13:
/usr/include/sys/time.h:106:34: error: 'u_int' has not been declared
106 | bintime_mul(struct bintime *_bt, u_int _x)
| ^~~~~
g++: scipy/spatial/ckdtree/src/build.cxx
Dependencies: #30154
Branch pushed to git repo; I updated commit sha1. New commits:
0bb7fc0 | Merge tag '9.3.beta3' into t/29152/cygwin__make_sure_all_packages_build_shared_libraries__using__am_ldflags__no_undefined_ |
7244a9d | ci-cygwin-standard.yml: Use tar --listed-incremental |
5ccf1ea | tar --remove-files and --listed-incremental are not compatible |
9661065 | Merge branch 't/30154/gh_actions__cygwin__use_incremental_archives_for_the_sage_local_artifact' into t/29152/cygwin__make_sure_all_packages_build_shared_libraries__using__am_ldflags__no_undefined_ |
Replying to @dimpase:
there seems to be some problem with building of scipy
/usr/include/sys/time.h:106:34: error: 'u_int' has not been declared
Probably fixed in #30643
Changed reviewer from https://github.com/mkoeppe/sage/actions/runs/287249195, ... to https://github.com/mkoeppe/sage/actions/runs/412156307, ...
Branch pushed to git repo; I updated commit sha1. New commits:
4c34a0e | Update ci-cygwin-minimal.yml |
Work Issues: rebase on top of #31064
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
cea4cd5 | ci-cygwin-standard.yml: More stages, continue-on-error: true |
cf31b79 | Fixup after cherry-pick |
73b0e8f | build/pkgs/rw/SPKG.rst: Update link to upstream project |
9d724bc | libbraiding version bump |
a67a446 | build/pkgs/meataxe/distros: Add fedora.txt |
c79da6a | build/pkgs/cliquer: Update to 1.22 |
b5dcb16 | build/pkgs/cliquer/SPKG.rst: Update |
9e6de0b | build/pkgs/rw: Update to 0.9 |
32385de | Upgrade SharedMeatAxe, to fix a build problem on Cygwin |
58c22df | Add upstream url for SharedMeatAxe |
Changed reviewer from https://github.com/mkoeppe/sage/actions/runs/412156307, ... to Matthias Koeppe, https://github.com/mkoeppe/sage/actions/runs/432820484, ...
Changed work issues from rebase on top of #31064 to none
Changed dependencies from #30154 to #31064
Branch pushed to git repo; I updated commit sha1. New commits:
09d1737 | Makefile: Add targets ptest-nodoc etc. |
0dca776 | Merge branch 't/29124/script-packages-prereq-toolchain-bootstrap' into t/31084/makefile__add__ptest__targets_that_do_not_depend_on_the_docbuild |
073124c | Merge branch 't/31084/makefile__add__ptest__targets_that_do_not_depend_on_the_docbuild' into t/31064/ci_cygwin__yml__adjust_to_new_script_packages__bootstrap___prereq |
8769bd6 | .github/workflows/ci-cygwin-*.yml: Separate docbuild and ptest |
c2daec7 | Merge branch 't/31064/ci_cygwin__yml__adjust_to_new_script_packages__bootstrap___prereq' into t/29152/cygwin__make_sure_all_packages_build_shared_libraries__using__am_ldflags__no_undefined_ |
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
78ff9d5 | src/sage/misc/package.py: Add one more # optional - build |
a44042f | Merge branch 't/30940/src_bin_sage_list_packages__make_it_work_if_sage_root_is_not_available' into t/29124/script-packages-prereq-toolchain-bootstrap |
64bde5f | Merge tag '9.3.beta5' into t/30940/src_bin_sage_list_packages__make_it_work_if_sage_root_is_not_available |
e9a7572 | src/sage/misc/package.py: Improve source formatting |
c7bcda9 | Merge branch 't/30940/src_bin_sage_list_packages__make_it_work_if_sage_root_is_not_available' into t/29124/script-packages-prereq-toolchain-bootstrap |
9988c5f | ci-cygwin*.yml: Adjust to new script packages _bootstrap, _prereq |
d65299c | Merge branch 't/29124/script-packages-prereq-toolchain-bootstrap' into t/31064/ci_cygwin__yml__adjust_to_new_script_packages__bootstrap___prereq |
ab19133 | Merge branch 't/29124/script-packages-prereq-toolchain-bootstrap' into t/30944/tox__improve_local_sudo_ubuntu_standard |
a5e4051 | Merge branch 't/30944/tox__improve_local_sudo_ubuntu_standard' into t/31064/ci_cygwin__yml__adjust_to_new_script_packages__bootstrap___prereq |
76804dc | Merge branch 't/31064/ci_cygwin__yml__adjust_to_new_script_packages__bootstrap___prereq' into t/29152/cygwin__make_sure_all_packages_build_shared_libraries__using__am_ldflags__no_undefined_ |
Let's please get this in.
It still doesn't fix all the Cygwin things, no? Anyway, LGTM.
Changed reviewer from Matthias Koeppe, https://github.com/mkoeppe/sage/actions/runs/432820484, ... to Matthias Koeppe, Dima Pasechnik
Thank you!
Follow up for the remaining issues in #30814.
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:
42f4458 | Merge tag '9.3.beta7' into t/31064/ci_cygwin__yml__adjust_to_new_script_packages__bootstrap___prereq |
6b6ee5c | Merge branch 't/31064/ci_cygwin__yml__adjust_to_new_script_packages__bootstrap___prereq' into t/29152/cygwin__make_sure_all_packages_build_shared_libraries__using__am_ldflags__no_undefined_ |
Follow-up from #30396, where libtool's fallback to static library build for
giac
caused linker errors while building sagelib.This is fixed by passing
-no-undefined
to the libtool linking flags, by settingAM_LDFLAGS=-no-undefined
.Affected packages can be found as follows:
In
singular
, only thegitfan.la
library (module) is affected:The issue also affects the optional package
meataxe
.This is a common issue especially when using libtool to link Windows DLLs and should hopefully be straightforward to fix.
See also:
30271
nauty
: Switch to autotoolized fork so that shared libraries can be builtDepends on #31064
Upstream: Reported upstream. No feedback yet.
CC: @simon-king-jena @miguelmarco @dimpase @orlitzky @antonio-rojas @kiwifb @slel @jhpalmieri @vbraun
Component: porting: Cygwin
Author: Matthias Koeppe, Miguel Marco, Simon King
Branch/Commit:
6b6ee5c
Reviewer: Matthias Koeppe, Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/29152