-
Notifications
You must be signed in to change notification settings - Fork 44
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
build errors for JLD, HDF5, Cairo, SQLite #134
Comments
So the real mystery here is not why it's not working on 0.7, but how it ever worked on 0.6. Both versions are shelling out as
and
where the name of the cpio file is not correct, but somehow this works on 0.6? Edit: also calling that exact command from 0.6 fails: run(`'C:\Users\Alex\AppData\Local\Julia-0.6.0\bin\7z.exe' x -y 'C:\Users\Alex\.julia\v0.6\WinRPM\cache\2\noarch%2Fmingw64-libwinpthread1-5.0.3-1.2.noarch.cpio' '-oC:\Users\Alex\.julia\v0.6\WinRPM\deps'`) |
There's also a broader issue related to the downloaded rpm file names having url-escaped characters, while their contents don't. For example, correcting the issue above (with |
I ran across this in some testing I was doing. I am half way to verifying my theory but this is not an issue with the filename of the extracted file. The code has a reference to that so it does not need the name. The issue is how .7 returns open(cmd) I believe in .6 it would be a tuple of (stream, success_code) in .7 it is just (stream). I hope to finish the testing tomorrow and maybe get a pull request in to fix the issue. |
Ok, I was wrong with this one. So it looks like 7z.exe behaves differently in .7 than it did in .6. In .6 7z seems to extract files with the same name provided as the source. In .7 it seems as though it is processing it based on what is in the file. The later is most likely correct but breaks WinRPM becuase it assumes the file out is the file in just with a different extension. I am going to do some research and see if there is a different command line that will get the old and new 7z to behave the same way. If not ... i'm not sure.
|
Hate to double comment, but something even stranger. Just listing the same archive with the different versions results in different outputs.
|
Looks like the handling of |
I think it is more than Overall this seems bad for WinRPM as the code makes the assumption that filename(in) -> filename(out). And even for a rewrite of this section of the code for .7 I don't think that assuming that every archive contains a .cpio with the same name as the .rpm is a safe route to to take.
|
OK, but what happens when you rename the file inside the archive to remove
I think that's an essential and safe assumption for RPM files. Else, how would you find out what's the name of the file you need? |
Ah, OK. Then I guess the bug is actually on the 0.6 7zip: it erroneously adds |
Correct. I'll make that change and fence it off for .7 and submit a PR for it. ... under the assumption it works. |
See also #137. |
I am unable to build these packages on v0.7 and Windows10.
Some file is always missing.
Pkg.add fails, Pkg.build fails too.
Notably
Pkg.build("WinRPM")
works fine though.Does anyone know why said file is missing?
I note that I originally opened this in Cairo.jl
It was suggested that this may be a winrpm issue.
The text was updated successfully, but these errors were encountered: