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 libhomfly as optional package #18047
Comments
This comment has been minimized.
This comment has been minimized.
Branch: u/mmarco/libhomfly |
Commit: |
New commits:
|
comment:5
Nice. Pretty sure that doesn't work on OSX. Basically there is no way to build a shared libray without libtool in a portable manner. Also, I would be very opposed to make a library standard that doesn't do the standard autotools + libtool process. |
Replying to @miguelmarco:
You can use it in #17030 even if it's an optional package. Just make sure you provide a good error message in case the package is needed but not installed. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:8
Attachment: libhomfly-1.0.tar.2.gz I moved the package to libtools. Also uploaded the new tarball (please ignore libhomflt-1.0.tar.2.gz) |
comment:9
Looks good. Newer autoconf gives one warning, can you add
Also, I take it you have a testcase (a minimal C program to link to your library to see if it works?) That would be nice to add, can save you quite a bit of debugging headache later. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:11
Made the change and added a little test |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:13
The library uses Bohm GC, but the test program does not. Hence you shoudl link the library to libgc, and not the test program. In other words, programmers using your library shouldn't have to know what your private library dependencies are:
Apart from that it looks good. There are some global variables and all symbols are exported, so there is a reasonable chance that you'll run into global state or symbol name colissions when you link it into Sage. It would probably be better to hide all symbols that you are not going to use. Possibly later when you have a better idea of what you actually want to call from Sage. |
comment:14
The cython interface is being done in #18057 |
comment:15
Uploaded new tarball |
Changed keywords from none to days74 |
comment:18
The new tarball should expose only the homfly symbol, which is the one used by the cython interface. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:47
You have forgotten the |
comment:48
Replying to @tscrim:
Actually, this is my fault for not having the autotools including it. |
comment:49
Ok, I will handle it. Give me a few minutes. |
comment:50
I've already done it, see PR #4 on github. |
comment:51
Attachment: libhomfly-1.0.tar.gz Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:52
It should be included now. New commits:
|
comment:53
Thank you. |
comment:54
Does github automate the "autoreconf-configure-make dist" cycle? |
comment:55
IDK. From what I understand, the release tab on github looks for a (annotated?) tag of the form |
comment:56
See perhaps: https://help.github.com/articles/creating-releases/ but IDK about autocreation of tarballs. |
comment:57
I created one tag and release, but it just gives a tarball with the content of the repo. So the actual tarball for distribution should be created by the full autotools cycle from there |
comment:58
Okay, so the created tarball will be just of the source code on github (but it will do that automatically). So we could either just do the hosting ourselves or have a Thank you for your work on this. |
Changed branch from u/mmarco/libhomfly to |
comment:60
When I do |
Changed commit from |
comment:61
The functionality requires to have the optional package installed. Since these tickets are already closed, could you please open a new ticket for improving the error message? |
comment:62
That's exactly what I figured, but wanted to confirm. See #20838. |
comment:63
@vbraun: the tarball on the mirrors in not the one from this ticket (attachment: libhomfly-1.0.tar.gz). Can you please fix this? |
I modified the homfly[1] program to be run as a library[2]. It computes the homfly polynomial of knots and links.
I would like to add it as standard package so we can use it in #17030 i understand that it has to become optonal before moving to standard, but i would like to speed up the process. Of course, i volunteer to maintain it.
[1] http://burtleburtle.net/bob/knot/homfly.html
[2] https://github.com/miguelmarco/libhomfly
Tarball: attachment: libhomfly-1.0.tar.gz
CC: @vbraun @kcrisman @amitjamadagni @sagetrac-fugelde @tscrim
Component: packages: optional
Keywords: days74
Author: Miguel Marco
Branch:
cc13df1
Reviewer: Jeroen Demeyer, Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/18047
The text was updated successfully, but these errors were encountered: