Re: Update Windows binaries



As far as a remember the DLL list that is hard-coded into setup_win32.py is specific to gtk 
version/distribution
since in fact it lists not only DLLs that meld loads via pygobject interface but all their dependencies too.
For example list content changed (both additions and deletions) with last switch of gtk version - and chances 
are that for mingw64 version it'll change again.

So from the msys's pacman point of view - if gtk, gtksourceview and pygobject packages are installed - all 
really needed DLLs are already inplace.
And if meld starts locally with libzzz.dll and libxmlxpat.dll absent - it looks that they are not 
dependencies of this gtk version and can be just dropped from list.

Instead some other Dlls may become needed.

I'm working on getting this running locally in MSYS2 now. It looks like the DLLs are in /mingw32/bin/ 
instead of Python's sites-packages directory. There's 2 DLLs I'm missing thoughlibzzz.dll
libxmlxpat.dll

Do you know what these are? I'm having trouble finding the package that will install them.

On Sat, Apr 28, 2018 at 11:21 PM, Keegan Witt <keeganwitt gmail com> wrote:

Installing mingw-w64-i686-python3-cx_Freeze instead of installing through pip gets around the compilation 
problem, but then I again hit the

error: invalid command 'bdist_msi'

problem. I'm also wondering about the glib2-devel package. There's a msys2 package, but not a mingw32 or 
mingw64 packages.

On Sat, Apr 28, 2018 at 10:43 PM, Keegan Witt <keeganwitt gmail com> wrote:

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-18
skip_non_tags: true
clone_depth: 1

environment:
MSYSTEM: MINGW32
PATH: 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/*.msi
name: Meld installer

The problem now is, I can't build cx_freeze

C:\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 status

error: command 'C:\\msys64\\mingw32\\bin/i686-w64-mingw32-gcc.exe' failed with exit status 1

----------------------------------------

Command "C:/msys64/mingw32/bin/python3.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/

Command exited with code 1

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.dll

*** 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-appveyour-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'


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]