Opened 4 years ago

Closed 4 years ago

#24189 closed defect (fixed)

Python 2 libpython symlink not created correctly on Cygwin

Reported by: embray Owned by:
Priority: blocker Milestone: sage-8.1
Component: porting: Cygwin Keywords: windows cygwin python2
Cc: charpent Merged in:
Authors: Erik Bray Reviewers: Emmanuel Charpentier
Report Upstream: N/A Work issues:
Branch: 9873e64 (Commits, GitHub, GitLab) Commit: 9873e649860c5ec41c19ceb7b2b61089ecaedc0e
Dependencies: Stopgaps:

Status badges


#23781 introduced a regression that the symlink from lib/python2.7/config/libpython2.7.dll.a to lib/libpython2.7.dll.a is not created properly.

On Python 3 this "config" directory name is formatted "config-<PYTHON_LDVERSION>" whereas on Python 2 it should be just "config".

This prevents extension modules from linking to the correct libpython2.7 on Cygwin.

Attachments (1)

fpylll-0.3.0dev.log (5.1 KB) - added by charpent 4 years ago.
failure to build fpyll.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 4 years ago by embray

I have a patch for this already--I'm just testing to make sure it works.

comment:2 Changed 4 years ago by embray

  • Authors set to Erik Bray
  • Branch set to u/embray/cygwin/ticket-24189
  • Commit set to 9873e649860c5ec41c19ceb7b2b61089ecaedc0e
  • Keywords windows cygwin python2 added
  • Status changed from new to needs_review

New commits:

9873e64The path to lib/python/config does not contain the Python LD_VERSION on Python 2

comment:3 Changed 4 years ago by charpent

On Windos 10 + "Fall Creators Update", sage8.0.rc0+#24121+#24189, cython compiles.

However, Sage does not compile : fpylll fails to build (consistently). See enclosed log.

Changed 4 years ago by charpent

failure to build fpyll.

comment:4 follow-up: Changed 4 years ago by tscrim

Is your fpylll build fixed by #24191?

comment:5 in reply to: ↑ 4 Changed 4 years ago by charpent

  • Reviewers set to Emmanuel Charpentier
  • Status changed from needs_review to positive_review

Replying to tscrim:

Is your fpylll build fixed by #24191?

Yes and no : fpylll compiles, but Sage does not build. I get an error at Sagelib's compilation :

[sagelib-8.1.rc0] gcc -I/usr/include/ncurses -fno-strict-aliasing -g -O2 -DNDEBU
G -g -fwrapv -O3 -Wall -Wno-unused -I/home/charpent/sage/local/lib/python2.7/sit
e-packages/cysignals -I/home/charpent/sage/local/include -I/home/charpent/sage/l
ocal/include/python2.7 -I/home/charpent/sage/local/lib/python2.7/site-packages/n
umpy/core/include -I/home/charpent/sage/src -I/home/charpent/sage/src/sage/ext -
Ibuild/cythonized -I/home/charpent/sage/local/include/python2.7 -c build/cythoni
zed/sage/graphs/graph_decompositions/fast_digraph.c -o build/temp.cygwin-2.9.0-x
86_64-2.7/build/cythonized/sage/graphs/graph_decompositions/fast_digraph.o -fno-
strict-aliasing -DCYTHON_CLINE_IN_TRACEBACK=1 -std=c99
[sagelib-8.1.rc0] error: command 'gcc' failed with exit status 1
[sagelib-8.1.rc0] make[3]: *** [Makefile:33: sage] Error 1
[sagelib-8.1.rc0] make[3] : on quitte le répertoire « /home/charpent/sage/src »

I think I'm bitten by #24192, which I'll try next. But, as far as I understand, that implies restarting with make distclean. That will be long.

positive review on this ticket as well as for #24197, which turns out to be a buplicate.

comment:6 Changed 4 years ago by embray

I don't think you need to do a make distclean but it will require rebuilding all of the sage library at least.

comment:7 Changed 4 years ago by vbraun

  • Branch changed from u/embray/cygwin/ticket-24189 to 9873e649860c5ec41c19ceb7b2b61089ecaedc0e
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.