#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.