Opened 8 years ago

Closed 3 years ago

Last modified 3 years ago

#15872 closed enhancement (worksforme)

Let cddlib build a shared lib on Cygwin.

Reported by: jpflori Owned by: embray
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: porting: Cygwin Keywords: cddlib windows cygwin
Cc: Merged in:
Authors: Reviewers: Travis Scrimshaw
Report Upstream: Completely fixed; Fix reported upstream Work issues:
Branch: Commit:
Dependencies: #21952 Stopgaps:

Status badges

Change History (15)

comment:1 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:2 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:3 Changed 5 years ago by embray

  • Component changed from packages: standard to porting: Cygwin
  • Milestone sage-6.4 deleted
  • Owner changed from (none) to embray

Interesting that there's already a ticket for this. I've basically done the work needed for this, but a mere patch won't suffice--I think the cddlib source package needs to be rebuilt to have any hope at resolving this. See https://groups.google.com/d/msg/sage-devel/uHsTOd5sTxY/ivpNHT1MAwAJ

comment:4 Changed 5 years ago by embray

  • Keywords cddlib windows cygwin added

comment:5 Changed 5 years ago by embray

FWIW these are the basic changes that are needed:

  • configure.in

    diff -u a/configure.in b/configure.in
    a b  
    77dnl Checks for programs.
    88AC_PROG_CC
    99AC_PROG_INSTALL
    10 LT_INIT
     10LT_INIT([win32-dll])
     11
     12AC_CANONICAL_HOST
     13dnl libtool requires "-no-undefined" for win32 dll
     14AC_SUBST(CDD_LDFLAGS)
     15case $host_os in
     16  *cygwin* | *mingw*)
     17    if test x"$enable_shared" = xyes; then
     18      CDD_LDFLAGS="$CDD_LDFLAGS -no-undefined"
     19    fi
     20;;
     21esac
    1122
    1223dnl Checks for libraries.
    1324dnl Replace `main' with a function in -lg:
  • lib-src/Makefile.am

    diff -u a/lib-src/Makefile.am b/lib-src/Makefile.am
    a b  
    1010setoper.c \
    1111random.c
    1212
     13libcdd_la_LDFLAGS = $(CDD_LDFLAGS)
     14
    1315include_HEADERS = \
    1416cdd.h \
    1517cddmp.h \
  • lib-src-gmp/Makefile.am

    diff -u a/lib-src-gmp/Makefile.am b/lib-src-gmp/Makefile.am
    a b  
    1616setoper.c \
    1717random.c
    1818
     19libcddgmp_la_LDFLAGS = $(CDD_LDFLAGS)
     20
    1921include_HEADERS = \
    2022cdd.h \
    2123cddmp.h \

comment:6 Changed 5 years ago by embray

  • Dependencies set to #21952

Adding the changes needed for building shared libs on Cygwin is going to require #21952.

comment:7 Changed 3 years ago by saraedum

  • Report Upstream changed from N/A to Not yet reported upstream; Will do shortly.

If you wouldn't mind, could you propose these changes as an issue at https://github.com/cddlib/cddlib?

comment:8 Changed 3 years ago by saraedum

I created https://github.com/cddlib/cddlib/issues/8 to track this issue upstream.

comment:9 Changed 3 years ago by embray

  • Description modified (diff)
  • Report Upstream changed from Not yet reported upstream; Will do shortly. to Reported upstream. No feedback yet.

comment:10 Changed 3 years ago by saraedum

  • Status changed from new to needs_info

Can this be closed now?

comment:11 Changed 3 years ago by embray

I wouldn't until/unless #25344 is closed/fixed.

comment:12 Changed 3 years ago by mkoeppe

  • Milestone set to sage-duplicate/invalid/wontfix
  • Status changed from needs_info to needs_review

#25344 is in.

comment:13 Changed 3 years ago by tscrim

  • Report Upstream changed from Reported upstream. No feedback yet. to Completely fixed; Fix reported upstream
  • Reviewers set to Travis Scrimshaw
  • Status changed from needs_review to positive_review

comment:14 Changed 3 years ago by embray

  • Resolution set to worksforme
  • Status changed from positive_review to closed

comment:15 Changed 3 years ago by embray

Just to confirm, this does appear to (still) have worked with #25344.

Note: See TracTickets for help on using tickets.