It appears there's actually 3 different installations of Python 3 in MSYS2: mingw32 (/mingw32/bin/python3), mingw64 (/mingw64/bin/python3), and msys2 (/usr/bin/python3). To make sure we use the right version of Python, I set a MSYSTEM environment variable (I also tried with fully-qualified path to python3). I also tried with the 64 bit version instead of 32.version: 3.18.2.{build}branches:only:- meld-3-18skip_non_tags: trueclone_depth: 1environment:MSYSTEM: MINGW32PATH: C:\msys64\mingw32\bin;C:\msys64\usr\bin;$(PATH) install:- cmd: >-bash -lc 'pacman --sync --refresh'REM bash -lc 'pacman --noconfirm --sync --sysupgrade'bash -lc 'pacman --noconfirm --sync mingw-w64-i686-python3 mingw-w64-i686-python3-pip mingw-w64-i686-gtk3 mingw-w64-i686-gtksourceview3'bash -lc 'pacman --noconfirm --sync glib2-devel'bash -lc 'python3 -m pip install --upgrade pip'bash -lc 'python3 -m pip install cx_Freeze'build_script:- cmd: >-bash -lc 'cd "%APPVEYOR_BUILD_FOLDER%" && sed --in-place --regexp-extended "s/site.getsitepackages\(\)\[1\]/site.getsitepackages()[-1] /" setup_win32.py' bash -lc 'cd "%APPVEYOR_BUILD_FOLDER%" && glib-compile-schemas data && python3 setup_win32.py bdist_msi'artifacts:- path: dist/*.msiname: Meld installerThe problem now is, I can't build cx_freezeC:\msys64\mingw32\bin/i686-w64-mingw32-gcc.exe -s build/temp.mingw-3.6/source/ bases/Console.o build/temp.mingw-3.6/source/ bases/manifest.rc.o -LC:/msys64/mingw32/lib/ python3.6/config-3.6m -LC:/msys64/mingw32/lib -limagehlp -lShlwapi -lpython3.6m -lversion -o build/lib.mingw-3.6/cx_Freeze/ bases/Console.exe C:/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/7.3.0/../ ../../../i686-w64-mingw32/lib/ ../lib/libmingw32.a(lib32_ libmingw32_a-crt0_c.o): In function `main': C:/repo/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/ crt0_c.c:18: undefined reference to `WinMain@16' collect2.exe: error: ld returned 1 exit statuserror: command 'C:\\msys64\\mingw32\\bin/i686-w64-mingw32-gcc.exe' failed with exit status 1 ---------------------------------------- Command "C:/msys64/mingw32/bin/Command exited with code 1python3.exe -u -c "import setuptools, tokenize;__file__='C:/Users/ appveyor/AppData/Local/Temp/1/ pip-install-wytire78/cx- Freeze/setup.py';f=getattr( tokenize, 'open', open)(__file__);code=f.read(). replace('\r\n', '\n');f.close();exec(compile( code, __file__, 'exec'))" install --record C:/Users/appveyor/AppData/ Local/Temp/1/pip-record- 0y2u7oho/install-record.txt --single-version-externally- managed --compile" failed with error code 1 in C:/Users/appveyor/AppData/ Local/Temp/1/pip-install- wytire78/cx-Freeze/ I think the gtk packages I was installing before weren't affecting the version of Python I was invoking because it defaults to the msys2 installation, but the packages I was installing were for mingw (actually a mix of both mingw32 and mingw64 the way I originally had it).On Sat, Apr 28, 2018 at 9:01 PM, Vasily Galkin <galkin-vv yandex ru> wrote:I tried again building without pywin32 and its definitely not required while building with msvc-built python on appveyour.
There is only warning
>running build_exe
>creating directory build\exe.win32-3.4
>copying C:\Python34\lib\site-packages\cx_Freeze\bases\Win32GUI.exe -> build\exe.win32-3.4\Meld.exe
>copying C:\windows\SYSTEM32\python34.dll -> build\exe.win32-3.4\python34.d ll
>*** WARNING *** unable to create version resource
>install pywin32 extensions first
>writing zip file build\exe.win32-3.4\python34.zip
The full log is available at (note, it's huge!) https://ci.appveyor.com/project/galkinvv/meld-ljlj2?fullLog= true
(see below for yml file link).
By the way, about direct building from gitlab - preclone red errors in the log above are caused by using "direct branch building" from Gnome gitlab
that was done by setting the "Custom configuration .yml file name" to direct link
https://gitlab.gnome.org/galkinvv/meld/raw/meld-3-18-appveyo ur-experiments/appveyor.yml
So there is at least two minor issues with direct building from Gnome gitlab with current appveyor:
-build versioning issue (Preclone red error)
-and explicit branch setting in path to appveyour.yml
I didn't test automated building on commit.
> Are you sure
>
> pywin32 isn't required? When I edited the site-packages list, it wouldn't let me run the bdist_msi command
>
> bash -lc 'cd "%APPVEYOR_BUILD_FOLDER%" && sed --in-place --regexp-extended "s/site.getsitepackages\(\)\[1\]/site.getsitepackages()[-1]/ " setup_win32.py'
>
> bash -lc 'cd "%APPVEYOR_BUILD_FOLDER%" && glib-compile-schemas data && python3 setup_win32.py bdist_msi'
>
> usage: setup_win32.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
>
> or: setup_win32.py --help [cmd1 cmd2 ...]
>
> or: setup_win32.py --help-commands
>
> or: setup_win32.py cmd --help
>
> error: invalid command 'bdist_msi'
>
> On Sat, Apr 28, 2018 at 4:06 PM, Vasily Galkin <galkin-vv yandex ru> wrote:
>
>>> Once I take out pypiwin32, then I run into the same issue as reported in the "Building MSI package under MSYS" thread
>>
>>> bash -lc 'cd "%APPVEYOR_BUILD_FOLDER%" && glib-compile-schemas data && python3 setup_win32.py bdist_msi'