-
Notifications
You must be signed in to change notification settings - Fork 16
Can't delete Carat directory on Windows #55
Comments
No, we need to remove that file from the distribution. |
Ah, I see. Even browser refuses to show Can't delete it in the Windows command prompt either:
I've found the solution here : one should call
as soon as these two files are removed, the rest of the directory can be easily removed. |
Cross-posted in Carat (as GAP package) issue tracker at gap-packages/CaratInterface#5 |
I do not understand how one can run into this problem. The problematic files are hidden in a gzipped tarball with the carat sources. The README clearly states that this package - Interface to Carat - is an interface package to a collecttion of UNIX-only standalone programs. There is absolutely no reason to unpack it on Windows, especially since unpacking requires a lot more disk space. Or does your file manager unpack recursively? I would consider that a bug. |
Thanks for the comment - I now understood what happened. We are now attempting to build as many packages on Windows as possible by running
|
To be concrete, I'm currently applying the following fix to carat, before building it (this isn't distributed in GAP, I am experimenting to see which packages which can be implemented in GAP). This: a) Renames the itoa function to CARAT_itoa, because cygwin's libc has a function called itoa. This clearly isn't acceptable for release, as I am removign Con.exe while not mentioning I'm doing this in the documentation. I could instead move Con.exe to ConCarat.exe, or just mention in the documentation this function is missing. What I want to do, is do whatever will take the least amount of work, because obviously Windows support shouldn't be a major requirement. For packages like Carat, which are GPL v3 and has long-standing code which isn't likely to change, my preference would be to just put these fixes into the Cygwin build script, where package authors won't have to worry about them.
|
While on this matter, would be good to untangle this: 44.6 Matrix Groups in Characteristic 0 says "Most of the functions described in this and the following section have implementations which use functions from the GAP package Carat. If Carat is not installed or not compiled, no suitable methods are available." - these should better be moved to the Carat package. |
The CARAT program Con is a low level auxiliary program, and not really relevant for us here (it has no GAP interface). One could rename it to Conj, though. I am surprised that CARAT compiles on Windows with minor modifications. Still, this is only the first part of the goal of producing prepackaged binaries. Carat uses a database of groups and lattices, which must be located exactly where it was located at build time. In other words, the package Carat must be installed at exactly the same path where it was built. Unfortunately, this is not easy to change. Regarding the declarations in Chapter 44.6: they were put there in the hope that, some day, there would be other implementations not requiring external programs. How likely this is, is a matter of debate. |
@gaehler I am building GAP 4.9.2 for Windows in |
Just had another insight into this. I can delete easily GAP installation made using exe installer. Perhaps because it simply does not contain offending files already - they were ignored when the installer has been made? So users of the exe installer may not experience this problem at all. Good news. |
Good news - there is now a repository at https://github.com/lbfm-rwth/carat/, and @DominikBernhardt is its maintainer. If @ChrisJefferson or @gaehler would like to submit a PR to fix this, that would be very helpful! |
I will prepare a PR with Windows compatibility fixes. |
Thanks @gaehler for lbfm-rwth/carat#14 ! @ChrisJefferson please help to get that PR reviewed. |
The issue was resolved in |
If you (all from Windows explorer):
You'll find you can't delete the directory. The problem is files which are called 'Con', from carat.
The text was updated successfully, but these errors were encountered: