Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
devel_glfw3.1: MinGW version incompatabilities #91
I think there is a bug in Go somewhere causing incompatibilities with different MinGW versions (at least for MinGW-W64). Building a project using this package with certain MinGW versions causes the link process on windows to spout a bunch of errors.
I did test a bunch of different MinGW prebuilt binaries -- and I came up with these results:
MinGW binaries that do not work:
MinGW binaries that do work:
So it seems only GCC 4.8.1 works from my naive perspective. But I'll try to dig further and create an minimalistic example later on.
For an example today, try building
(Note: the issue started out here but everything important I have written here -- as that is just a mirror.)
@phase5 Thanks for letting me know. At this time I believe only (MinGW) GCC 4.8.1 works. I'll have to see if I can create a tiny reproducible case and submit this as an issue to Go itself.
Please star http://golang.org/issue/4069 if you care about this. There is a good chance that if that issue is solved it will solve this issue (among many other linker problems on Windows).
Sorry for the late response. I've spent the morning debugging the issue further. It can be reproduced with a very simple program like so:
From what I have found so far, it seems somehow directly related to lines like:
I've just filed Go issue 8811 with a minimal (5 files, 47 lines in total) example case. At this point I don't think that we can do anything more. I am not familiar with the internals of the Go linker which is where I believe this issue is happening.
I hope the issue will be resolved before Go 1.4 or that someone else will find a workaround for it, but at this point I don't know what else I can do to resolve it.
I did verify that the bug is fixed (not with
Lets close this once we modify the README:
I don't think there is a Go 1.3.4? Anyway I think the README should state: