#11635: Copy needed dll file for NTL on Cygwin
------------------------+---------------------------------------------------
   Reporter:  kcrisman  |          Owner:  tbd                
       Type:  defect    |         Status:  needs_review       
   Priority:  major     |      Milestone:  sage-4.7.2         
  Component:  cygwin    |       Keywords:                     
Work_issues:            |       Upstream:  N/A                
   Reviewer:            |         Author:  Karl-Dieter Crisman
     Merged:            |   Dependencies:                     
------------------------+---------------------------------------------------
Changes (by newvalueoldvalue):

  * status:  new => needs_review
  * author:  => Karl-Dieter Crisman


Old description:

> In #11547, we added copying of several needed dlls on Cygwin.  However,
> in the meantime NTL had a fairly major update (#5731).
>
> Based on this, this ticket splits off the NTL change from #11547 so that
> that ticket can get merged.
>
> Here is the previous diff - presumably we would do the same thing if we
> can confirm it is still necessary, which is almost certainly the case.
> {{{
> diff -r 6cf0ce59b84a SPKG.txt
> --- a/SPKG.txt  Tue May 25 15:56:29 2010 -0700
> +++ b/SPKG.txt  Tue Jun 28 22:44:18 2011 -0400
> @@ -2,7 +2,10 @@
>
>  == Description ==
>
> -NTL is a high-performance, portable C++ library providing data
> structures and algorithms for manipulating signed, arbitrary length
> integers, and for vectors, matrices, and polynomials over the integers
> and over finite fields.
> +NTL is a high-performance, portable C++ library providing data
> +structures and algorithms for manipulating signed, arbitrary
> +length integers, and for vectors, matrices, and polynomials over
> +the integers and over finite fields.
>
>  Website: http://www.shoup.net/ntl/
>
> @@ -27,6 +30,10 @@
>
>  == Changelog ==
>
> +=== ntl-5.4.2.p13 (Karl-Dieter Crisman, June 28th 2011) ===
> + * Keep libntl.dll but also require libntl.dll.a on Cygwin.
> +   This seems to be necessary for Sage to start - see #11547.
> +
>  === ntl-5.4.2.p12 (Mike Hansen, May 25th 2010) ===
>   * Rename libntl.dll to libntl.dll.a on Cygwin.  This is #9050.
>
> diff -r 6cf0ce59b84a spkg-install
> --- a/spkg-install      Tue May 25 15:56:29 2010 -0700
> +++ b/spkg-install      Tue Jun 28 22:44:18 2011 -0400
> @@ -120,7 +120,9 @@
>              exit 1
>          fi
>         cp libntl.dll "$SAGE_LOCAL/lib/libntl.dll.a"
> +       cp libntl.dll "$SAGE_LOCAL/lib/libntl.dll"
>         cp libntl.dll "$SAGE_LOCAL/bin/libntl.dll.a"
> +       cp libntl.dll "$SAGE_LOCAL/bin/libntl.dll"
>          if [ ! -f "$SAGE_LOCAL/bin/libntl.dll.a" ]; then
>              exit 1   # CRUCIAL that we have the dynamic link library
>          fi
> }}}

New description:

 In #11547, we added copying of several needed dlls on Cygwin.  However, in
 the meantime NTL had a fairly major update (#5731).

 Based on this, this ticket splits off the NTL change from #11547 so that
 that ticket can get merged.

 Spkg at [http://sage.math.washington.edu/home/kcrisman/ntl-5.5.2.p0.spkg].

 Here is the previous diff - presumably we would do the same thing if we
 can confirm it is still necessary, which is almost certainly the case.
 {{{
 diff -r 6cf0ce59b84a SPKG.txt
 --- a/SPKG.txt  Tue May 25 15:56:29 2010 -0700
 +++ b/SPKG.txt  Tue Jun 28 22:44:18 2011 -0400
 @@ -2,7 +2,10 @@

  == Description ==

 -NTL is a high-performance, portable C++ library providing data structures
 and algorithms for manipulating signed, arbitrary length integers, and for
 vectors, matrices, and polynomials over the integers and over finite
 fields.
 +NTL is a high-performance, portable C++ library providing data
 +structures and algorithms for manipulating signed, arbitrary
 +length integers, and for vectors, matrices, and polynomials over
 +the integers and over finite fields.

  Website: http://www.shoup.net/ntl/

 @@ -27,6 +30,10 @@

  == Changelog ==

 +=== ntl-5.4.2.p13 (Karl-Dieter Crisman, June 28th 2011) ===
 + * Keep libntl.dll but also require libntl.dll.a on Cygwin.
 +   This seems to be necessary for Sage to start - see #11547.
 +
  === ntl-5.4.2.p12 (Mike Hansen, May 25th 2010) ===
   * Rename libntl.dll to libntl.dll.a on Cygwin.  This is #9050.

 diff -r 6cf0ce59b84a spkg-install
 --- a/spkg-install      Tue May 25 15:56:29 2010 -0700
 +++ b/spkg-install      Tue Jun 28 22:44:18 2011 -0400
 @@ -120,7 +120,9 @@
              exit 1
          fi
         cp libntl.dll "$SAGE_LOCAL/lib/libntl.dll.a"
 +       cp libntl.dll "$SAGE_LOCAL/lib/libntl.dll"
         cp libntl.dll "$SAGE_LOCAL/bin/libntl.dll.a"
 +       cp libntl.dll "$SAGE_LOCAL/bin/libntl.dll"
          if [ ! -f "$SAGE_LOCAL/bin/libntl.dll.a" ]; then
              exit 1   # CRUCIAL that we have the dynamic link library
          fi
 }}}

--

Comment:

 New spkg at
 [http://sage.math.washington.edu/home/kcrisman/ntl-5.5.2.p0.spkg].  No
 guarantees on whether this works, or even is necessary (!) but I strongly
 suspect both.  You'll know it works if you do everything at #6743,
 including this, and then Sage has a segfault on startup.

 In case there is any doubt that this is Cygwin-only:
 {{{
     elif [ $UNAME = "CYGWIN" ]; then
         # Cygwin
         if [ "$CYGPKG" = "yes" ]; then
             if [ -f /lib/libgmp.dll.a ]; then
                 ln -s /lib/libgmp.dll.a libgmp.a
             else
                 # Added by William Stein on 2006-02-06 so that
                 # can build even if gmp is not built locally
                 # i.e., even if using a system-wide gmp.
                 # (though it has to be in /usr/lib, which is
                 # where it is for cygwin).
                 ln  -s /usr/lib/*gmp* .
                 ln  -s libgmp.dll.a libgmp.a
             fi
         else
             ln -s "$SAGE_LOCAL/lib/libgmp.a" .
         fi
         $MAKE libntl.dll
         if [ ! -f libntl.dll ]; then
             echo "Error creating ntl shared library."
             exit 1
         fi
         cp libntl.dll "$SAGE_LOCAL/lib/libntl.dll.a"
         cp libntl.dll "$SAGE_LOCAL/lib/libntl.dll"
         cp libntl.dll "$SAGE_LOCAL/bin/libntl.dll.a"
         cp libntl.dll "$SAGE_LOCAL/bin/libntl.dll"
         if [ ! -f "$SAGE_LOCAL/bin/libntl.dll.a" ]; then
             exit 1   # CRUCIAL that we have the dynamic link library
         fi
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11635#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to