Windows build successful - Findings

Dirk Hohndel dirk at hohndel.org
Sat Jan 28 13:15:22 PST 2017


> On Jan 28, 2017, at 12:41 PM, Stefan Fuchs <sfuchs at gmx.de> wrote:
> finally managed to run a successful MXE based windows build!!!

Yay/

> I would like to share my experience with you and also propose a few minor changes mainly to comments in mxe-based-build.sh which could maybe make life easier for other inexperienced users like me. Maybe I even submit a pull request with the changes if I learn how to do it... :-)

How about if you create a patch with those changes (even if it is just to comments)? That would be really useful, and it's a great way to get sucked into doing more :-)

> Here are my findings:
> - MXE
> This was the biggest hurdle! Beside this the other items are peanuts.
> MXE current version from git produced an windows executable on my side which immediately crashes. No idea why... Debug build is still s.th <http://s.th/>. I didn't manage to do.
> I then tried the MXE version from git tagged as "build-2016-10-12" which finally worked.

Excellent (as in "great that it works... annoying that it's so hard")

> But with this version I also had difficulties with building MXE itself. gcc from this version crashed building parts of Qt due to the JOBS := 12 setting in settings.mk. 
> Much too high for my poor VM with very limited memory...
> I really went to the safe side and set  JOBS := 1.

Hehe. Oops. Sorry.
Not sure if this is an MXE setting or something from my scripts. I do tend to have rather beefy systems that I build things on :-)

> - File system layout
> This is not a real issue. As I wrote already before I was just confused how to set it up. Maybe one could change only the comments in mxe-based-build.sh in a way to guide the user to really setup such a flat hierarchy like:
> └── src
>   ├── grantlee
>   ├── install-root
>   ├── libdivecomputer
>   ├── libgit2
>   ├── libcurl
>   ├── libssh2
>   ├── marble-source
>   ├── subsurface	<-- source from git
>   ├── mxe
>   └── win32   <-- windows build dir
> 
> - Marble
> Marble build complained something about "C++ 11 support".
> "export CXXFLAGS=-std=c++11" did the trick. Would it be good to put this into mxe-based-build.sh?

As I said above, patches are welcome. I am reasonably certain that with the version of MXE that I posted yesterday the current script does indeed run to completion, but feel free to make modifications that reflect what you had to do...

> - Libcurl
> For libcurl it seems to be also not recommended to use the lastest version from git. This is already in the comments (7.42.1 works also for me). 
> For a beginner like me it would be even great to mention that what one can find on github as "curl" is what we really need ;-)

Even better would be to have the script download known good versions. Our Android script does that, for example.

> Now for the moment I still have one minor issue left:
> - A few standard terms like "Cancel / Abbrechen", "Save / Speichern" on buttons are not translated into German in my build. In the official 4.6 they are translated.
> What's missing here on my side? S.th <http://s.th/>. MXE/Qt related?

This sounds like the Qt translations aren't installed correctly. If you compare the content of the translations directory between your installer and the one I publish... are any files missing or vastly different in size? I vaguely remember that I ran into this issue at some point...

Of course, when I looked on my build server qt_de.qml does seem suspiciously small, so I wonder if the latest Subsurface installer for Windows actually gets the translation of system messages right...

/D

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20170128/431d0b10/attachment-0001.html>


More information about the subsurface mailing list