-
Notifications
You must be signed in to change notification settings - Fork 256
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
GCC 7.1.0 - problems #55
Comments
This is interesting! I currently run only the basic tests regularly and they didn't show any failures: https://github.com/oneclick/rubyinstaller2-packages/blob/master/mingw-w64-ruby25/PKGBUILD#L72 . I also inspected the gcc release notes for 7.1 before the latest RubyInstaller release. Can you upload your test output please? |
Sorry for the delay, I'm -0500. Attached are results from console for test ruby and mspec. As you probably recall, test result I've had for gcc 6x are here. I used a recent RI2 snapshot build. I've reverted my MSYS2 to 6.3, so I can't test one of my builds, but as mentioned, when I noticed the issue, the test ruby results were identical to your build. Background info for readers unfamiliar with Ruby testing --Ruby CI tests on travis, on appveyor. More Ruby test results are at rubyci.org. Both Ruby appveyor and rubyci.org use VS2013 / 120 builds. So, even though most of the world uses MinGW builds on Windows, the Ruby team tests against VS builds. Back to testing.
|
You probably already know this, but Appveyor seems to be on gcc 6.3 |
A little confusing because I am not expert. I look at this file Appveyor and look like it use VS/nmake. from rubyinstaller2 I am currently using "rubyinstaller-2.5.0-snapshot-x64" from Appveyor for my daily script and got no issues (I not running the check). |
I believe I just saw your post at ruby-lang.org. I've got builds at BinTray, along with the three packages I use to build. 64 bit only. Whatever the last z_logs file is matches the DATE/SVN of the ruby_trunk.7z file. All are signed. I set it up so it could be used with appveyor. Due to unresolved issues with gcc 7.1.0, I'm still building wiht 6.3.0. Using trunk with gem extensions may require editing files or manually configuring for |
@MSP-Greg : Thank you for your information, I will try to use your build. But can we download the build output from the ruby ci servers? They do not allow? |
* ext/zlib/zlib.c (rb_gzfile_total_out): cast to long not to result in an unsigned long to normalized to Fixnum on LLP64 platforms. [ruby-core:81488] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
I opened a bug report with a patch for this issue: https://bugs.ruby-lang.org/issues/13748 |
Wonderful & thanks. That was what I hoped to look at this weekend, but I doubt I would've figured that one out. As an aside, do you think going down the rabbit hole of using a newer version of msvcr would be something to consider? From ruby-lang.org
After doing the above:
|
I just tried building the ruby_2_4 stable branch with everything identical to my normal trunk build.
Install crashed & burned on on an issue that may match one reported in trunk (bundled gem install), probably not backported. So, results are good. I'll try running 2.4.1 later. Thanks again for the patch... |
Thank you for your nice summary to ruby-testing above! Regarding the tests, I believe we need proper appveyor-tests bounded directly to the ruby repository or at least an integration into http://rubyci.org . This way ruby core developers will have an eye on MINGW specific issues, rather then depending on us to report these. Is this something you're working on?
I'll not use MS Visual C. This is against my hacker ethics and I doubt, that it will make anything better 😏
I doubt that they will accept this, but it is not even necessary - that's one reason why I created https://github.com/oneclick/rubyinstaller2-packages . We can place all required MINGW packages there and use our own repository on bintray. It can easily integrated into MSYS2 as described in the readme. Maybe the bintray repository can be moved to the oneclick account in the future, but I don't have access to it currently. |
First of all, I started a 2.4.1 build before retiring last night. Six failures, same as 2.4.2/ruby_2_4, except with the addition of the third test that fails in trunk.
Well, you're being nice referring to it as a 'summary'. With the whole MinGW thing, I'm at times frustrated, and that may cloud some of my posts, especially for someone who isn't a native english speaker (I've been told my cynicism is often subtle.) My apologies to anyone affected. The test explanation was for those who may not realize what is going on with RI2/etc:
But, because it is new, and many of us don't have the time/resources/desire to set up a VM or separate 'fresh' system, issues with extension gems are difficult, especially when we've not had issues with our own installation.
I don't keep track of it, but it was my impression that VS 2015 (or starting with) had a much better license in terms of OSS use. OpenSSL / OpenSSL tests against it. Maybe consider a long term future goal.
Nothing would make me happier than to have everything building/testing on Appveyor. Back to immediate work to be doneGeneral
Testing
Packages
A task I've been avoiding is creating env's for ruby_2_3, ruby_2_4, and trunk, setting it up so I can apply/reverse shared patches easily, rebuild easily, and run subsets of tests on all three, both in a make env and a straight windows env. I'll get started on that... Thanks again for your work. What would you like me to start with? |
I already added a ruby-2.3 package in the past, but removed it, because the appveyor run took longer and 2.3-tests failed sometimes. Now, that it is separated into rubyinstaller2-packages this is no longer an issue. We could add a post on https://rubyinstaller.org which tells about ruby 2.3 and ruby-snapshot?
The code is derived from https://github.com/Alexpux/MINGW-packages but adds packages signing and daily builds. It is based on bash scripts, git and pacman and doesn't use any ruby code. In contrast rubyinstaller2 is a pure packaging project now, with lots of ruby code but no compile or patch tasks.
This is already solved: Only packages changed by the last commit are rebuilt.
I understand the reason for gdbm, but why a different version of libyaml? |
ci.ri2 - Cool. I'll have a look at my package code, and see if the three still build with gcc 7.1.0. libyaml - Well, I built that package in February. So, I checked a recent mswin build and the code building it, no reference to libyaml. Then checked ruby, found ext/psych/yaml/config.h showing 0.1.7. Also, compare ruby code with libyaml code. It looks like libyaml 0.1.7 is embedded in ruby, they don't use a library/package. We may not even need a libyaml package to build. As to why I built static, I don't recall... Edit- checked tagged versions - 2.4.1 has 0.1.7, 2.3.4 has 0.1.6, but ruby_2_3 stable has 0.1.7. 2.3 - the last build I did was 'supercharged', as I loaded all new versions of default extension gems before building; it was being used in an embedded application.
Maybe get 2.3 and 2.4 on Appveyor? The more people testing with it, the better. I suppose the issue of what Appveyor should name 2.3, since they'll then have both RI and RI2 versions... I'll try a normal 2.3 build in my system; I'll post the test results. And, from prev, what would you like me to start with? |
I've build many times with trunk and your patch at ruby-lang.org issue 13748, also built v2.3.4, v2.4.1, ruby_2_3, and ruby_2_4 with gcc 7.1.0. All good. |
Thank you @MSP-Greg for all your testing!
|
Is the ci.r2 repo needed for normal use or is it just for testing rubyinstaller builds? It is on my desktop install (and a few other of our developers) and we found it when I was trying to update msys2 (we're behind a corporate firewall). I am trying to figure out if I need it or not. If I need to keep it I have to add a path in our proxy for it. |
@cyclump Most of the packages are used from the standard MSYS2 repositories. But for building RubyInstaller2 we need some special versions of certain packages which are delivered through the ci.ri2 repository. This is added automatically when building RubyInstaller2. It is not required when using the binary RubyInstaller distribution. The ci.ri2 repository is filled through these receipts: https://github.com/oneclick/rubyinstaller2-packages |
I just updated to GCC 7.1.0. Others may have noticed, but things are not good.
Running tests using
Results -
Last GCC 6.3 build I have:
RI2 snapshot (7.1.0):
My build today (7.1.0):
The three 6.3.0 failures are expected outside of the normal
make test-all
env. I'll try to investigate later today. Many of the failures seem sprintf related.Edit: if you prefer to revert to 6.3, below are two scripts that should remove and add. Place in the usr/bin folder and run (remove 1st). I had to add the txt extension to attach them...
pkg_add_6.3.0.txt
pkg_remove_7.1.0.txt
The text was updated successfully, but these errors were encountered: