New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add experimental package csdp #14505
Comments
This comment has been minimized.
This comment has been minimized.
comment:2
HMmmm... So you did modify the sources to get this to work ? Last time I checked the Sage guys did not like that very much Nathann |
comment:3
Replying to @nathanncohen:
How the hell one is supposed to libtoolize the thing otherwise? I hope that my changes will be accepted by upstream, eventually. It is certainly possible to create the cumulative diff of my changes against the original source, I just don't see the point of this, given that all this can be extracted from the public git repo the source lives in. |
comment:4
I added a bit more to SPKG.txt and updated the spkg accordingly (i.e. only SPKG.txt was changed). |
comment:5
Replying to @dimpase:
Because this is the way how Sage development is supposed to happen (especially the review process)... ;-) |
comment:6
So here's a pull request: diff --git a/spkg-install b/spkg-install
--- a/spkg-install
+++ b/spkg-install
@@ -17,7 +17,7 @@
echo "Configuring csdp..."
./configure --prefix="$SAGE_LOCAL"
if [ $? -ne 0 ]; then
- echo "Error configuring csdp."
+ echo >&2 "Error configuring csdp."
exit 1
fi
B) |
comment:7
Replying to @nexttime:
But this is kind of stupid... What actually makes sense to review, my autotools config files, are going to be buried under lots of automatically generated files. |
comment:8
Replying to @nexttime:
Thanks! Fixed and updated the spkg. |
comment:9
Well, probably consider everything in |
comment:10
Replying to @nexttime:
well, I just followed the example of libGAP spkg. |
comment:11
@dimpase You can add the configure.ac and other stuff as a patch file, right? Then the src/ folder will be exactly as upstream. |
comment:13
Replying to @dimpase:
I mean. Generate all the extra files you want to generate and create a single diff file which you can attach to the spkg. Something like this:
And then use the patch file to patch the src/ directory. |
comment:14
Replying to @ppurka:
... making sure that However, if upstream's (almost) dead, simply treating Dima's fork as upstream is probably better. But even in that case, everything outside |
comment:15
Replying to @nexttime:
As I already said, libGAP spkg does not follow the latter "requirement":
I don't see why you'd like to disallow me doing the same here. |
comment:16
LibGAP will eventually also become an independent "upstream" and release tarballs, with a more conventional spkg. The reason for the current state is just that it took years of fiddling and trying different approaches to make the thing work. It was definitely not clear from the outset how it can be made to work, or whether it is appropriate to shoehorn it into a spkg at all. But over time I realize that tracking libgap as a patch on a subset of the GAP distribution with some scripts that munge source code is the right way. |
comment:17
|
Attachment: trac_14505.patch.gz sage-scripts patch |
This comment has been minimized.
This comment has been minimized.
comment:19
Replying to @nexttime:
done. |
Work Issues: ignore |
Changed work issues from ignore to none |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:25
updated spkg with proper hg history All the changes to SPKG.txt, spkg-install, etc (but not in src/) are properly tracked - well there is one more extra commit on top, moving files to the proper place, but I hope this is OK. The history extraction is automatic, done by |
comment:37
Oh sorry. I had sent a couple of emails about that to Dima, that's why I was so vague. I just don't get what is happening. We checked that my version of the spkg had the right md5sum (*cfcba3f), but when I run
nothing at all happens. It just waits forever. And here's the tar I use
But well.. Nathann |
comment:38
Okayyyyyyyyyyyyyy... Turns out there was something wrong with some automounting stuff I failed to properly install a week ago. Now it doesn't hang anymore. Mystery cleared : everything that is automatic and/or is remotely related to windows fs should never be installed Nathann |
comment:39
Is your tar aliased to something? Can you run
yes, with the |
comment:40
Oh ok. It is all fixed for you, then it's good. Yeah, sometimes it is better to avoid mixing windows stuff with linux stuff. Things break down in mysterious ways. |
comment:41
Replying to @nathanncohen:
svn repo has 6.2 (beta); here is this commit imported: dimpase/csdp@7708179
this is the script that does the job (on the full git repo): https://github.com/dimpase/csdp/blob/master/spkg/make-spkg.sh Should I mention this in |
comment:42
Yo !
Ahahah. Cool
Yep, it would be nice ! I just downloaded your git repository and ran this
Annnnd I have no idea if what I do is what I should to build the spkg Nathann |
comment:43
Replying to @nathanncohen:
right, you need to populate the tree with makefiles first, by ./configure
|
comment:44
There is no configure file in at the top level
Nathann |
comment:45
Replying to @nathanncohen:
Oops, sorry. Welcome to the autoHell :-) I've added the detailed instructions on bilding the spkg to the SPKG.txt and updated the spkg file. Hopefully it's clear now. |
comment:46
There is still something missing. I had to add the line
in my
|
comment:47
Replying to @ppurka:
OK, I've updated SPKG.txt mentioning this, as well as git and autotools/libtool requirements for spkg creating.
weird. Do have have an old/super-new hg? Does it create csdp-hg/ in some other place for you? (I presume you do ./make-spkg.sh) |
comment:48
There is no csdp-hg anywhere and I suppose it is using sage's hg when I am running
|
comment:49
Replying to @ppurka:
things in Also, do you have anything unusual in |
comment:50
No. Nothing special in that file:
|
comment:51
Replying to @ppurka: did you try building outside |
comment:52
Replying to @dimpase:
That is indeed very weird. It works outside |
comment:53
How do I test the installation? I think there should be something to test the installation of this package, without having to go through pycsdp or flagmatic. I tried the example.c file in example directory, but the compilation seems to work only if I actually compiled csdp and compiled example.c from within the sources directory. |
comment:54
Well, if the binary is correctly build and runs, I would say that the spkg does its job You can set this ticket to positive review from my behalf too once that you will be satisfied with what it does Nathann |
Changed reviewer from Punarbasu Purkayastha to Punarbasu Purkayastha, Nathann Cohen |
comment:55
The binary does build and run. And I have tested the compiled binay with flagmatic earlier. Since you are ok with it, let's give it a +1. ;-) |
comment:56
spkg is on the server. |
Merged: sage-5.11.rc0 |
comment:58
Possible followup: #17391. |
comment:59
Any interest in moving this to optional? I have user requests for this on SageMathCloud. E.g.,
NOTE: The latter thing about "insufficient permissions" is yet another way that we need to distinguish between system-wide and private sage installs. |
comment:60
I am all for it. |
CSDP is a fast semidefinite programming solver, one of the very best around, written in C, with a callable
shared library
https://projects.coin-or.org/Csdp/
(unfortunately is has a GPL-incompatible licence, which means it cannot be made standard package)
This ticket adds CSDP: a stand-alone executable, a libtool-made shared library, and headers, to Sage. One interesting software component, using Sage and CSDP, is Flagmatic : http://flagmatic.org/
The modifications to CSDP needed for Sage support, basically, libtoolization and the spkg infrastructure,
is hosted here: https://github.com/dimpase/csdp
A Cython interface will be added on a separate ticket.
The spkg is here: http://boxen.math.washington.edu/home/dima/packages/csdp-6.2.spkg
Apply to
$SAGE_LOCAL/bin/
CC: @ppurka @vbraun @sagetrac-mehdi-ghasemi
Component: packages: experimental
Keywords: semidefinite programming
Author: Dmitrii Pasechnik
Reviewer: Punarbasu Purkayastha, Nathann Cohen
Merged: sage-5.11.rc0
Issue created by migration from https://trac.sagemath.org/ticket/14505
The text was updated successfully, but these errors were encountered: