Merge lp:~widelands-dev/widelands/appveyor-fix into lp:widelands

Proposed by hessenfarmer
Status: Merged
Merged at revision: 8986
Proposed branch: lp:~widelands-dev/widelands/appveyor-fix
Merge into: lp:widelands
Diff against target: 91 lines (+21/-9)
3 files modified
appveyor.yml (+8/-8)
utils/appveyor/libintl.patch (+11/-0)
utils/win32/innosetup/Widelands.iss (+2/-1)
To merge this branch: bzr merge lp:~widelands-dev/widelands/appveyor-fix
Reviewer Review Type Date Requested Status
GunChleoc Approve
kaputtnik (community) Needs Resubmitting
Review via email: mp+363152@code.launchpad.net

Commit message

Attempt to fix appveyor problems with boost 1.69 and x86 builds by providing a modified libintl.h file

Description of the change

added a copy of modified libintl.h in an appveyor folder in utils
modified appveyor.yml to copy this file to the relevant include folder.

To post a comment you must log in.
Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 4470. State: passed. Details: https://travis-ci.org/widelands/widelands/builds/492937714.
Appveyor build 4258. State: failed. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_appveyor_fix-4258.

Revision history for this message
GunChleoc (gunchleoc) wrote :

If you can get this working, it would be cleaner to create a patch file and apply the patch.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

it works for x64.
Currently x86 is still failing, but I suspect GLbinding being the issue as it was some time ago for x64.
I will try to confirm this tonight.
However I do not know how to create a patch file.

Revision history for this message
Toni Förster (stonerl) wrote :

Creating the patch:

diff -u libintl.h your_libintl.h > libintl.patch

applying the patch:

patch libintl.h libintl.patch

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 4474. State: errored. Details: https://travis-ci.org/widelands/widelands/builds/493525261.
Appveyor build 4262. State: failed. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_appveyor_fix-4262.

Revision history for this message
kaputtnik (franku) wrote :

Maybe you can use a yaml syntax checker? E.g. http://ben-kiki.org/ypaste/ (link from yaml.org), or https://yamlchecker.com

Didn't tested those though.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

Good idea.
Now I know what is wrong

line 25 must read
- cmd: "IF \"%PLATFORM%\" == \"x86\" (bash --login -c \"pacman --noconfirm -S mingw-w64-%MINGWSUFFIX%-glew\") ELSE (bash --login -c \"pacman --noconfirm -S mingw-w64-%MINGWSUFFIX%-glbinding\")"

there were some superfluous quotation marks.

so if anybody want to change this and upload it during the day he is very welcome.
Otherwise I'll do it tonight

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

just checked appveyor and x86 is still failing due to that I forgot to make the cmake command dependent from architecture as well.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

Line 40 needs to be

"IF \"%PLATFORM%\" == \"x86\" (cmake -G \"Ninja\" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DOPTION_USE_GLBINDING=OFF -DOPTION_BUILD_WEBSITE_TOOLS=OFF -DOPTION_ASAN=OFF -DCMAKE_JOB_POOLS=\"linking=1\" -DCMAKE_JOB_POOL_LINK=linking %APPVEYOR_BUILD_FOLDER%) ELSE (cmake -G \"Ninja\" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DOPTION_USE_GLBINDING=ON -DOPTION_BUILD_WEBSITE_TOOLS=OFF -DOPTION_ASAN=OFF -DCMAKE_JOB_POOLS=\"linking=1\" -DCMAKE_JOB_POOL_LINK=linking %APPVEYOR_BUILD_FOLDER%)"

Revision history for this message
Tino (tino79) wrote :

If you are using GLEW instead of GLBindings you'll have to set OPTION_GLEW_STATIC=1 and/or adapt the innosetup script to include the glew dll (and you can omit the libglbinding.dll)

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

I have updated the innosetup script as well to include the glew ddll or the glbinding dll in regard of the system.
Mainly I wanted to proof that the x86 issue is within glbinding. If the branch works in principle I could optimize it with different options (Glew static, Patchfile etc.)

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 4477. State: passed. Details: https://travis-ci.org/widelands/widelands/builds/493702657.
Appveyor build 4265. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_appveyor_fix-4265.

Revision history for this message
GunChleoc (gunchleoc) wrote :

And the builds are green again :)

Let's wait for the current artifacts and test them a bit before merging.

Revision history for this message
kaputtnik (franku) wrote :

Great work, hessenfarmer. A big step towards releasing build 20 :-)

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

thanks the current job on appveyor looks promising. we still need to find out what is causing the issue with glbinding. Probably just rebuilding them could help like it has been last time for x64.

Revision history for this message
GunChleoc (gunchleoc) wrote :

We use Glew in the non-Windows builds as well, so if it works that will be good enough for me.

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

for the moment I am fine with this branch
so if anyone could test the artifacts we could merge this.

Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

Us tesing with OSX a) requireed
n) if yes where can I downlaod the artifacts from
https://travis-ci.org/widelands/widelands/builds/493702657 or such?

Revision history for this message
GunChleoc (gunchleoc) wrote :

No, testing with OSX is not required - this branch only affects the Windows builds downloadable from AppVeyor

Revision history for this message
kaputtnik (franku) :
review: Needs Resubmitting
Revision history for this message
hessenfarmer (stephan-lutz) wrote :

@kaputtnik: What is the reason for resubmitting this merge request?

It hasn't been disapproved or marked needs fixing yet.

Revision history for this message
kaputtnik (franku) wrote :

Just a try to get bunnybot work on this. No idea if this helps...

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

I think bunnybot will fetch the results as soon as a merge request is issued.

The latest artifacts are available anyhow.

https://ci.appveyor.com/project/widelands-dev/widelands/builds/22410225

Revision history for this message
kaputtnik (franku) wrote :

> The latest artifacts are available anyhow.

Didn't know this.

Revision history for this message
GunChleoc (gunchleoc) wrote :

Bunnybot will only posts on status changes, because it was too spammy if it posted on every build.

In order to trigger new builds, you'll need to push a change to the branch, e.g. by merging master.

Resubmit will trigger a new mail to the mailing list with a diff attached.

I have now done some testing as well and it's working for me. Thanks a lot for the fix!

@bunnybot merge

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'appveyor.yml'
2--- appveyor.yml 2018-12-21 21:00:14 +0000
3+++ appveyor.yml 2019-02-15 20:05:00 +0000
4@@ -7,7 +7,7 @@
5 environment:
6 appveyor_build_worker_cloud: gce
7 init:
8- - cmd: "IF \"%PLATFORM%\" == \"x86\" (set MINGWPATH=C:\\msys64\\mingw32\\bin& set MINGWSUFFIX=i686) ELSE (set MINGWPATH=C:\\msys64\\mingw64\\bin& set MINGWSUFFIX=x86_64)"
9+ - cmd: "IF \"%PLATFORM%\" == \"x86\" (set MINGWPATH=C:\\msys64\\mingw32\\bin& set MINGWSUFFIX=i686& set MINGWINCLUDE=C:\\msys64\\mingw32\\include) ELSE (set MINGWPATH=C:\\msys64\\mingw64\\bin& set MINGWSUFFIX=x86_64& set MINGWINCLUDE=C:\\msys64\\mingw64\\include)"
10
11 install:
12 # Installing various utilities
13@@ -21,10 +21,9 @@
14 - cmd: "bash --login -c \"pacman -Suuyy --noconfirm\""
15 - cmd: "bash --login -c \"pacman -Suuyy --noconfirm\""
16 # Installed required libs
17- - cmd: "bash --login -c \"pacman --noconfirm -S mingw-w64-%MINGWSUFFIX%-ninja mingw-w64-%MINGWSUFFIX%-wget mingw-w64-%MINGWSUFFIX%-SDL2_ttf mingw-w64-%MINGWSUFFIX%-SDL2_mixer mingw-w64-%MINGWSUFFIX%-SDL2_image mingw-w64-%MINGWSUFFIX%-glbinding\""
18- # Download and install Boost 1.68 --since 1.69 breaks compiling
19- # https://bugs.launchpad.net/widelands/+bug/1808481
20- - cmd: "bash --login -c \"wget http://repo.msys2.org/mingw/%MINGWSUFFIX%/mingw-w64-%MINGWSUFFIX%-boost-1.68.0-2-any.pkg.tar.xz && pacman --noconfirm -U mingw-w64-%MINGWSUFFIX%-boost-1.68.0-2-any.pkg.tar.xz\""
21+ - cmd: "bash --login -c \"pacman --noconfirm -S mingw-w64-%MINGWSUFFIX%-ninja mingw-w64-%MINGWSUFFIX%-boost mingw-w64-%MINGWSUFFIX%-SDL2_ttf mingw-w64-%MINGWSUFFIX%-SDL2_mixer mingw-w64-%MINGWSUFFIX%-SDL2_image\""
22+ - cmd: "IF \"%PLATFORM%\" == \"x86\" (bash --login -c \"pacman --noconfirm -S mingw-w64-%MINGWSUFFIX%-glew\") ELSE (bash --login -c \"pacman --noconfirm -S mingw-w64-%MINGWSUFFIX%-glbinding\")"
23+
24 shallow_clone: true
25
26 branches:
27@@ -32,11 +31,13 @@
28 - _widelands_dev_widelands_trunk
29
30 build_script:
31+ # copy modified libintl.h to solve an issue with boost 1.69
32+ - cmd: patch %MINGWINCLUDE%\libintl.h %APPVEYOR_BUILD_FOLDER%\utils\appveyor\libintl.patch
33 - cmd: cd %APPVEYOR_BUILD_FOLDER%
34 - cmd: md build
35 - cmd: cd build
36 - cmd: echo %APPVEYOR_BUILD_VERSION%_%CONFIGURATION%_%PLATFORM% > %APPVEYOR_BUILD_FOLDER%\WL_RELEASE
37- - cmd: "cmake -G \"Ninja\" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DOPTION_USE_GLBINDING=ON -DOPTION_BUILD_WEBSITE_TOOLS=OFF -DOPTION_ASAN=OFF -DCMAKE_JOB_POOLS=\"linking=1\" -DCMAKE_JOB_POOL_LINK=linking %APPVEYOR_BUILD_FOLDER%"
38+ - cmd: "IF \"%PLATFORM%\" == \"x86\" (cmake -G \"Ninja\" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DOPTION_USE_GLBINDING=OFF -DOPTION_BUILD_WEBSITE_TOOLS=OFF -DOPTION_ASAN=OFF -DCMAKE_JOB_POOLS=\"linking=1\" -DCMAKE_JOB_POOL_LINK=linking %APPVEYOR_BUILD_FOLDER%) ELSE (cmake -G \"Ninja\" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DOPTION_USE_GLBINDING=ON -DOPTION_BUILD_WEBSITE_TOOLS=OFF -DOPTION_ASAN=OFF -DCMAKE_JOB_POOLS=\"linking=1\" -DCMAKE_JOB_POOL_LINK=linking %APPVEYOR_BUILD_FOLDER%)"
39 - cmd: "cmake --build ."
40 on_success:
41 - cmd: strip -sv %APPVEYOR_BUILD_FOLDER%\build\src\widelands.exe
42@@ -49,8 +50,7 @@
43
44 platform:
45 - x64
46-# Temporarly, disable x86 builds since they are failing.
47-# - x86
48+ - x86
49
50 configuration:
51 - Release
52
53=== added directory 'utils/appveyor'
54=== added file 'utils/appveyor/libintl.patch'
55--- utils/appveyor/libintl.patch 1970-01-01 00:00:00 +0000
56+++ utils/appveyor/libintl.patch 2019-02-15 20:05:00 +0000
57@@ -0,0 +1,11 @@
58+--- libintl_old.h 2019-02-15 19:55:07.174212400 +0100
59++++ libintl.h 2019-01-28 20:24:23.387172100 +0100
60+@@ -366,7 +366,7 @@
61+ extern int vsprintf (char *, const char *, va_list);
62+ #endif
63+
64+-#if 1
65++#if 0
66+
67+ #if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */
68+ #undef snprintf
69
70=== modified file 'utils/win32/innosetup/Widelands.iss'
71--- utils/win32/innosetup/Widelands.iss 2018-12-04 12:40:11 +0000
72+++ utils/win32/innosetup/Widelands.iss 2019-02-15 20:05:00 +0000
73@@ -101,7 +101,6 @@
74 Source: {#BuildFolder}\data\scripting\*; DestDir: {app}\data\scripting\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: "Widelands"
75 Source: {#BuildFolder}\data\shaders\*; DestDir: {app}\data\shaders\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: "Widelands"
76 Source: {#BuildFolder}\data\ai\*; DestDir: {app}\data\ai\; Flags: recursesubdirs ignoreversion; Tasks: ; Languages: ; Attribs: hidden; Components: "Widelands"
77-Source: {#DLLFolder}\libglbinding.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
78 Source: {#DLLFolder}\libopusfile-0.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
79 Source: {#DLLFolder}\libopus-0.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
80 Source: {#DLLFolder}\libtermcap-0.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
81@@ -112,8 +111,10 @@
82 Source: {#DLLFolder}\libfreetype-6.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
83 #if GetEnv("PLATFORM") == "x64"
84 Source: {#DLLFolder}\libgcc_s_seh-1.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
85+Source: {#DLLFolder}\libglbinding.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
86 #else
87 Source: {#DLLFolder}\libgcc_s_dw2-1.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
88+Source: {#DLLFolder}\glew32.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
89 #endif
90 Source: {#DLLFolder}\libglib-2.0-0.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"
91 Source: {#DLLFolder}\libharfbuzz-0.dll; DestDir: {app}; Flags: ignoreversion; Components: "Widelands"

Subscribers

People subscribed via source and target branches

to status/vote changes: