Closed mikldk closed 5 years ago
Hi,
Right, the next release is long overdue. I'm now trying to improve the numeric code, and this should not take too long. But then most of the automatic tests are red, I'll need some time to sort it out. Also, preparing binary builds is a headache and takes lots of time, especially given that I haven't got direct access to neither windows nor mac. Taking into account the day job, I think that july/august is realistic.
Actually, this is building the binary versions and testing them which prevents more frequent releases in principle. Automatic tests do not cover the gui part at all, so in the end I have to build and run yacas somewhere locally to see if it works at all. But buying a mac just for that is too extravagant for me :) Perhaps I should just bite the bullet and do the releases more often using artifacts automatic builds on travis and appveyor, and just wait for bug reports? Hey, if it works for microsoft, perhaps it could work for yacas too :)
Anyway, the current release will take some time, but I should be able to finish by the end of july. Hopefully, this isn't too long for you.
Cheers, Grzesiek
Thanks for the fast reply.
I see the problems. But what about making more frequent source releases that are not manually tried on the platforms (only automatically tested using CI tools). And then the more rare binary releases that are tested as you describe?
Right, that's what seems to be the only viable way forward. Still, before taking such approach a solid base would be good to have. I'll start with dealing with the automatic tests failures (actually I've already started yesterday and now windows version on appveyor looks good), then commit outstanding local changes. Having done that I'll merge develop to master and reconsider whether to try extended testing or just go ahead with the release.
Thanks for the input, I really appreciate it.
Cheers, Grzesiek
That sounds good. I actually just wanted to hear about your plans, I didn't expect you to do anything already! :)
I have access to a Windows computer, so I can help test that. Also, if you need help with anything else, let me know.
Thank you very much.
OK, all autotests on all platforms are passing, so the first step is done. Next I'll get the local changes into better shape, push them and start merging with master. If everything goes well there's a chance of pushing things out late June / early July .
Grzesiek
That sounds terrific. Thank you heaps.
OK, I've pushed all outstanding changes to github, cleared autotests and merged develop into master. From now on I'm going to do release preparation (testing, bugfixing and packaging) on master; once it looks good I'll push the release.
Could you please checkout master and try to build and run yacas on windows? That would be extremely helpful, I have no real chance of trying anything on windows other that the autotests on appveyor.
Thanks, Grzesiek
If the Yacas can be build with mingw64 + qt5 on windows, I can try to do it.
This is a very good question. In the old times I did crosscompile yacas for windows using mingw on linux, but it was quite a hassle and I gave up, switching to visual studio. I got it working on a friends computer and then tried to keep it working on appveyor.
So it's been a while ago, so eg the build system may no longer actually work in your configuration. Still, I think it's worth a try and I'll try to fix any issues which may show up.
Thanks, Grzesiek
Well, I can try it. AFIK mingw64 Qt5 build does not support QtWebEngine so only kernel and CLI can be built. Does it still worth to do it?
Ups, that's a shame. I haven't been aware of it. Given that it's most likely not really worth it - autotests on appveyor test the console app pretty thoroughly, this is mainly the gui part which requires manual testing. So while it'd be an interesting experiment in itself, I'm still on the lookout for someone who has access to visual studio.
Thanks, Grzesiek
It doesn't seem that Chromium starts to support Mingw in near future. Anyway, if there will be something else, how can I help to Yacas project, I like to put my hands on.
cheers Fanda
I'll see if I can find my Window and try to compile it on that. Hopefully in the coming week.
Hi all,
I'll be off for a next couple of days, so anything that happens in the meantime will have to wait. But just before I leave: perhaps it'd be the easiest way to just download the code which appveyor produces? They have from what I can see quite elaborate assets management. I haven't used it because not having windows to run it kind of made the exercise useless. But perhaps it's worth giving a try? If you think so, I can try reconfigure appveyor so the assets are somehow preserved as soon as I'm back in office.
Thanks, Grzesiek
I cannot seem to find anywhere to download the binaries from AppVeyor. Do you happen to know how it's done?
It's not possible yet. From what I understand the binaries would have to be designated as assets and a method would need to be provided for appveyor to upload them somewhere upon successful completion of the build and test phases. AFAIR it could be automatically uploaded to the github large file store. But it requires changes to appveyor.yml, and right now I'm in a bit of hurry, so it'll need to wait until I'm back. Or you could try changing it yourself in the meantime :)
Cheers, Grzesiek
Ups, of course artifacts https://www.appveyor.com/docs/packaging-artifacts/
I have tried getting it to compile on Windows, but I cannot get it working (e.g. now I'm missing a benchmark
library that I cannot get to compile). I'm not used to working with Windows, so I'm not sure how to set-up the entire toolchain. I think it is easier to see if we can get the AppVeyor artifacts instead.
Is the appveyor integration for Yacas working already? I've seen appveyor.yaml but I also cannot find any link to CI page. Do I need special privileges for this?
https://ci.appveyor.com/project/grzegorzmazur/yacas? At the top of README
.
OK, so there's a tiny step forward. The artifact for the last successful build of the master branch can be downloaded from https://ci.appveyor.com/api/projects/grzegorzmazur/yacas/artifacts/yacas.zip?branch=master
This is 64 bit Release build, and, barring any bugs or errors, this is what will become the next release on windows. So please try it out and report any issues.
Cheers, Grzesiek
I can get yacas.exe
working. But yacas-gui.exe
only works after I have made a Qt windeployqt.exe
on it. Maybe due to different versions of something. I don't know.
Thanks! I do not use windeployqt to prepare the set of libraries needed by yacas-gui, instead I try to pick the required ones by hand. And apparently the required set has changed. Obviously this is the wrong approach. I've taken it only because it worked reasonably well for cross-compilation. I think it should be replaced by applying windeployqt. But as a stop-gap, could you please check what's the difference between the libraries originally bundled and the ones installed by windeployqt?
Thanks, Grzesiek
Based on comparing dictories of downloaded and after windeployqt
:
There is at least Qt5SerialPort.dll
and QtWebEngineProcess.exe
. I'm not sure about the other folders.
I agree that it would be better to incorporate windeployqt
, but I have no idea what the means for the build process.
OK, thanks for the information. I've added the missing pieces, hopefully now it works. Would you mind trying it out, please? With respect to integrating cmake with windeployqt there is a detailed writeup, but if the current approach works, I'll put off changing the approach to the next version.
Cheers, Grzesiek
Win artifact contains 145MB of *.pdb files (bin/platforms) I'm not used to use MS tools but AFAIK the PDB files contains debug info, so they can be IMO omitted in release build. I'm not 100% sure but 145MB worth to be saved.
Fanda
Good point, but not that easy to solve offhand, I'm afraid. You're right, this is debug info, and it's actually qt debug info, which makes it useless in our case. Unfortunately, not knowing at all what is in this directory, I just copy it thoroughly. If you could please advise what's in there which is actually required - knowing that I'd be able to skip the PDB files.
Cheers, Grzesiek
Can you just skip all the *.pdb files during copy stage?
OK, actually I can (I've somehow forgotten about it). So I did just it, could you please if it is really smaller and still works?
Grzesiek
For 1.0.375 (silly mistake), I get an error:
"This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem."
After I run windeploytqt
I get again the above error, but with the extra line "Available platform plugins are: windows.".
platforms directory is empty after https://github.com/grzegorzmazur/yacas/commit/de8daa8e6b72499a4fa4eb74a66c23c1bd315475 change. It seems that the EXCLUDE
directive in CMakeList.txt works different way than install whole dir except of *.PDB
yacas-gui.exe is still not working on my win7. Fault in module Qt5WebEngineCore.dll
OK. Things got somewhat messy. so let's slow down for a minute. First of all - could (any of) you please tell me if yacas-gui worked at all in the meantime? What I mean is whether we regressed it never actually worked. If this is a regression, I'd lean toward reverting to the working state, giving up for now with optimizing size. And if this is the opposite case, I'd say that getting windeployqt is the way forward.
comparing to windeployqt version the resources
and styles
directories are still missing in our installation
Wouldn't it be better to roll back to previous, remove manual components and set up windeployqt
like explained here: https://wiki.qt.io/Auto-deploying_your_Qt_Application?
You're definitely right that it's high time to stop fiddling around and switch to windeployqt. With respect to the travis/appveyor suggestion - if possible I'd rather keep the whole thing within cmake to allow (complete) builds on any machine, not just using the CI infrastructure. But if I cannot do that quickly, I'll follow your advice. Anyway, I'm just committing a change which switches things over to windeployqt, hopefully it'll work.
Cheers, Grzesiek
OK, it's been quite a job, but should be working now. Could you please try it out?
Cheers, Grzesiek
I have just tried it out, and both yacas
and yacas-gui
worked out of the box! Well done!
Artifact: https://ci.appveyor.com/api/buildjobs/djfhn9b28xysd7so/artifacts/yacas.zip Commit: https://github.com/grzegorzmazur/yacas/commit/1c29d899144afe37c9cb0b5fbc65c79ca2364f24
Good to know :) Thanks for testing. The issue is closed, and I'll be moving on to testing on MacOS. Hopefully in a few days I'll have it working. Then it'll be the time to decide what else have to be done before the release; hopefully not much.
Cheers, Grzesiek
latest version is not working for me, unfortunately. Maybe, some VS part is necessary to be installed to make Qt5WebEngine working.
Ups 🙁
Seems weird. The fault code says that breakpoint was encountered, which doesn't really make any sense, and shows some general problem. Regarding vs redistributable elements, I believe to have them covered.
Could you please tell me which windows version you use?
Thanks, Grzesiek
Win7, yacas.exe is working well.
I was using Windows 10 where both worked.
I've asked a few colleagues around to download the current artifact and just check if yacas gui starts at all on their windows machines. These are widely different computers, some with windows 7, other with windows 10, with only one common trait: none of them is used to do any c++ development, and on none of them neither visual studio nor qt was ever installed. And yacas gui worked on all of them out of the box. So right now I'm completely clueless :(
Grzesiek
It's OK, I'm not used to use Windows, I just wanted to test the win installation to hep to the Yacas project, so if the problem persists on my box only, then it is not problem at all :)
cheers
Fanda
Hi, A status update: I'm working on the MacOS port, there's still one stopship #266, once this is fixed I'll make an attempt at fixing #265 (significant regression, but perhaps not stopship) and will be pushing the release out.
Grzesiek
I've started writing release notes and should be done with pushing the release by weekend, so I'm closing this issue now. Thanks a lot guys!
That sounds really great! Really appreciate it. Thanks!
Is there any plans on when the next stable version of yacas will be released?