#11547 closed defect (fixed)
Copy needed dll to so files on Cygwin
Reported by: | kcrisman | Owned by: | tbd |
---|---|---|---|
Priority: | major | Milestone: | sage-4.7.2 |
Component: | porting: Cygwin | Keywords: | cygwin FLINT NTL cliquer DLL shared library |
Cc: | dimpase, mhansen, leif | Merged in: | sage-4.7.2.alpha1 |
Authors: | Mike Hansen, Karl-Dieter Crisman | Reviewers: | Dmitrii Pasechnik |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #11246 | Stopgaps: |
Description (last modified by )
As was put on the wiki for Cygwin,
The following files need to be copied: "libcliquer.dll -> libcliquer.so", "libflint.dll -> libflint.so", "libntl.dll.a -> libntl.dll"
See the comments for why the third one is dealt with at #11635.
Two spkg upgrades:
- cliquer-1.2.p10.spkg
- flint-1.5.0.p8.spkg (based on the latest p7 from #11246)
md5sum:
bcd152d2f0e1d503ffd1e7e637c388ef
Attachments (3)
Change History (21)
comment:1 Changed 10 years ago by
comment:2 Changed 10 years ago by
- Description modified (diff)
comment:3 Changed 10 years ago by
- Dependencies set to #11246
Interestingly, both FLINT and cliquer spkgs currently make reference to needing to make dll's because they're on Windows... it looks like having both won't be a problem, but I wonder out loud whether in the long run we need only the so file.
Anyway, I'm making the spkgs so that they have both.
This will depend on #11246 in the sense that the flint spkg will be based upon it, though obviously there is nothing needed other than to directly upgrade.
comment:4 Changed 10 years ago by
- Cc dimpase mhansen added
I'm attaching a diff for the flint one (I may also need to do a second upgrade to flint for ntl, since on Cygwin we move certain ntl files out of the way and this would create another one). I used $CP -p
instead of just cp
because the rest of the script does that, but I'm confused as to what systems don't use cp
for their copy - maybe some HP or IBM ones?
comment:5 Changed 10 years ago by
- Description modified (diff)
- Milestone set to sage-4.7.2
comment:6 follow-up: ↓ 7 Changed 10 years ago by
- Description modified (diff)
- Status changed from new to needs_review
For now, it looks in the spkg-install for flint that it was only the libntl.a file that needed to be moved, not the libntl.dll.a file, so hopefully the libntl.dll file also won't need to be moved. This could be revisited if that didn't work, of course.
Otherwise ready for review, though I'm not assuming it will be immediately positive. That would be nice, though :)
comment:7 in reply to: ↑ 6 ; follow-up: ↓ 8 Changed 10 years ago by
- Status changed from needs_review to needs_info
Replying to kcrisman:
For now, it looks in the spkg-install for flint that it was only the libntl.a file that needed to be moved, not the libntl.dll.a file, so hopefully the libntl.dll file also won't need to be moved. This could be revisited if that didn't work, of course.
Otherwise ready for review, though I'm not assuming it will be immediately positive. That would be nice, though :)
Could you post the diff for cliquer, too? Also, in the future please refrain from unnecessarily reformatting files you are changing in spkgs (it's probably some over-eager editor you are using does it).
comment:8 in reply to: ↑ 7 Changed 10 years ago by
Otherwise ready for review, though I'm not assuming it will be immediately positive. That would be nice, though :)
Could you post the diff for cliquer, too?
Sure, I just didn't think to do it because it was much less invasive.
Also, in the future please refrain from unnecessarily reformatting files you are changing in spkgs (it's probably some over-eager editor you are using does it).
I don't think so. The lines were breaking in my editor, and it seems to be standard practice for the more conscientious Sage developers to fix them to have a more uniform line-width for easy viewing in a terminal session. The SPKG.txt for NTL was particularly bad.
comment:9 follow-up: ↓ 10 Changed 10 years ago by
- Status changed from needs_info to needs_review
Okay, I posted the cliquer one as well. It is really straightforward.
comment:10 in reply to: ↑ 9 Changed 10 years ago by
- Status changed from needs_review to positive_review
Replying to kcrisman:
Okay, I posted the cliquer one as well. It is really straightforward.
OK, this is Cygwin–only (no changes on other platforms; did a sanity check --- tested spkgs on macosx). Positive review.
comment:11 Changed 10 years ago by
- Cc leif added
- Keywords cygwin FLINT NTL cliquer DLL shared library added
comment:12 follow-up: ↓ 13 Changed 10 years ago by
The current flint spkg is now no longer based on #11246, because of some cleaning up done there. Hopefully someone there will make a p8, however. Otherwise I would suggest splitting that one off into a different ticket, just so the others are merged.
comment:13 in reply to: ↑ 12 Changed 10 years ago by
- Description modified (diff)
Replying to kcrisman:
The current flint spkg is now no longer based on #11246, because of some cleaning up done there. Hopefully someone there will make a p8, however. Otherwise I would suggest splitting that one off into a different ticket, just so the others are merged.
I've made a new FLINT p8 spkg based on the latest p7 from #11246.
New FLINT spkg: http://spkg-upload.googlecode.com/files/flint-1.5.0.p8.spkg
md5sum: bcd152d2f0e1d503ffd1e7e637c388ef flint-1.5.0.p8.spkg
Except for the removal of the .svn
directories from upstream, I haven't made any further changes (not even replaced the other occurrences of $CP
by cp
):
leif@quadriga:~/Sage/spkgs/flint-1.5.0.p8$ hg diff --git -r flint-1.5.0.p7 -r flint-1.5.0.p8
-
.hgtags
diff --git a/.hgtags b/.hgtags
a b 1 1 df4a596f2ae97186054f73ca31b94ac0a06bd2b6 flint-1.2.5.p2 2 2 5252db23001a3fa2ed4ee2ad2069673b9a82faf0 flint-1.3.0 3 03fb4e599477f450c711ccc121574c03888bdf3c flint-1.5.0.p7 -
SPKG.txt
diff --git a/SPKG.txt b/SPKG.txt
a b 28 28 29 29 == Special Update/Build Instructions == 30 30 31 We patch the makefile slightly to add 64 bit OSX build support and also change 32 LIBS such that the NTL interface is linked into the flint library. 33 This is not an officially supported option because flint is pure C 34 and the NTL interface requires C++. 31 * We patch the makefile slightly to add 64 bit OSX build support and also change 32 LIBS such that the NTL interface is linked into the flint library. 33 This is not an officially supported option because flint is pure C 34 and the NTL interface requires C++. 35 * Remove the '.svn' directories from upstream ('src/') if present. 35 36 36 37 == Changelog == 37 38 39 === flint-1.5.0.p8 (Karl-Dieter Crisman, 12th July 2011) === 40 * Enable both libflint.dll and .so on Cygwin (see Trac 11547). 41 * Use 'cp' rather than '$CP' (affects only Cygwin). 42 * Remove '.svn' directories from upstream. 43 38 44 === flint-1.5.0.p7 (Jeroen Demeyer, 6 July 2011) === 39 45 * Trac #11246: remove check for gcc version since we require gcc >= 4.0.1 40 46 for Sage anyway. -
spkg-install
diff --git a/spkg-install b/spkg-install
a b 98 98 if [ $UNAME = "CYGWIN" ]; then 99 99 # let's move libntl.a back 100 100 mv $SAGE_LOCAL/lib/xxx_libntl.a $SAGE_LOCAL/lib/libntl.a 101 # also name flint library correctly for MS Windows (an so won't work).102 mvlibflint.so libflint.dll101 # make both kinds of dynamic libraries available for Windows 102 cp -p libflint.so libflint.dll 103 103 fi 104 104 echo "Deleting old FLINT" 105 105 rm -f $SAGE_LOCAL/lib/libflint*
Ignore the strange diff w.r.t. the tags; the new one is tagged flint-1.5.0.p8
, while Jeroen's latest is tagged flint-1.5.0.p7
:
changeset: 84:2ed02e07f2ec tag: tip user: Karl-Dieter Crisman <kcrisman@gmail.com> date: Tue Jul 12 18:00:59 2011 +0200 summary: Added tag flint-1.5.0.p8 for changeset 0c03457839bc changeset: 83:0c03457839bc tag: flint-1.5.0.p8 user: Karl-Dieter Crisman <kcrisman@gmail.com> date: Tue Jul 12 18:00:29 2011 +0200 summary: #11547 *Copy* FLINT '.so' to '.dll' on Cygwin such that both are available. changeset: 82:ab8260189439 user: Jeroen Demeyer <jdemeyer@cage.ugent.be> date: Wed Jul 06 13:03:09 2011 +0000 summary: Added tag flint-1.5.0.p7 for changeset 03fb4e599477 changeset: 81:03fb4e599477 tag: flint-1.5.0.p7 user: Jeroen Demeyer <jdemeyer@cage.ugent.be> date: Wed Jul 06 13:03:09 2011 +0000 summary: Trac #11246: flint-1.5.0.p7 (Jeroen Demeyer, 6 July 2011) ...
comment:14 Changed 10 years ago by
P.S.: Further clean-up will be made on another ticket, providing a FLINT 1.5.2.pN spkg, most probably #9858.
comment:15 follow-up: ↓ 16 Changed 10 years ago by
- Reviewers set to Dmitrii Pasechnik
- Status changed from positive_review to needs_work
- Work issues set to Rebase NTL spkg (#5731)
The NTL spkg should be rebased to ntl-5.5.2 from #5731.
comment:16 in reply to: ↑ 15 Changed 10 years ago by
- Description modified (diff)
- Status changed from needs_work to positive_review
- Work issues Rebase NTL spkg (#5731) deleted
Replying to jdemeyer:
The NTL spkg should be rebased to ntl-5.5.2 from #5731.
Thanks for alerting us to that, Jeroen.
Since that is a pretty big upgrade to NTL at that ticket, I'd prefer to split that off to another ticket - I think it would require retesting that the NTL package compiles on Cygwin and that the change still is necessary, for instance, though it almost certainly is.
That is now #11635. If the other two could get merged asap, that would be wonderful. I can't do anything about it until at least Monday, probably later (due to needing access to Windows machines!), which is why I am splitting it off.
comment:17 Changed 10 years ago by
- Merged in set to sage-4.7.2.alpha1
- Resolution set to fixed
- Status changed from positive_review to closed
comment:18 Changed 10 years ago by
Ironically, this now doesn't actually work on one of my Cygwins, because of an extra line that crept into one of the patches.
--- src/mpn_extras.h 2009-09-23 18:03:27.000000000 +0800 +++ patches/mpn_extras.h 2011-04-25 22:36:33.000000000 +0800 @@ -22,7 +22,6 @@ #ifndef MPN_EXTRAS_H #define MPN_EXTRAS_H -#include "flint.h" #include "ZmodF_poly.h" #include "longlong_wrapper.h"
Note the newline at the end; removing this solves the problem. I guess this didn't cause trouble on other systems, since these patches are applied universally.
But this fix was still needed, so I've opened #11727 for this.
I'm going to put Mike as an "author" of this because the wiki revision history says he's the one who came up with this.