wingtk / gvsbuild Goto Github PK
View Code? Open in Web Editor NEWGTK stack for Windows
License: GNU General Public License v2.0
GTK stack for Windows
License: GNU General Public License v2.0
Since now we use Python 3 we could perfectly use the tarfile module to decompress the tarballs.
I've built my program with GTK3 stack, it seems to be running OK.
The issue here is that the default GTK stock icons seem to be missing, and that "hicolor-icon-theme" package is empty, shipping only gtk3-demo.png icon.
I get GTK warnings as in this example:
"Error loading theme icon 'edit-cut' for stock: Icon 'edit-cut' not present in theme Adwaita"
Are stock icons deprecated? Can we ship some standard set of icons within this package?
I tried to install "gnome-icon-theme" (to have something at least) but it is not supported here...
Any advice?
Best regards,
Miroslav
This is required by harfbuzz to use the python bindings.
The same @fanc999 who wrote the harfbuzz nmake Makefile seems to have contributed similar ones for gobject-introspection.
I wish I could help but I have no experience with powershell nor with Windows build environment.
Thanks in advance!
Cosimo
Currently if you try to build libepoxy and you do not have python in the path the build will fail. I had to do somethign like: set PATH=%PATH%;\python32
I think we should always add python to the path as part of the build steps, and most probably also perl.
Some projects like libepoxy and graphene depend or will depend on meson. We should add support for this build system. For this we need to automatically download ninja and meson, see #107 and then use meson to build those modules.
Something is very wrong here: d79696d#diff-2955d5257f635de1df53f55a171ca5c7R1113.
args sometimes is an array (with wget) and sometimes is an str (with cmake), and using "shell=True" check_call will not accept arrays, and vice-versa.
If possible, please don't use shell=True. It'll make the program vulnerable to shell injection.
We should update libpng
@guruDanny67 we should probably fix this problem otherwise the header files that are in the root dir will not be found.
I'm not sure why, but if I change the build.ps1 script to run tar command simply as tar
instead of using the full path to the C:\msys64\usr\bin\tar.exe
(as it's defined in the $tar
variable) then it works.
Otherwise, I always get this error when the script attempts to extract .tar.bz2 files:
C:\msys64\usr\bin\tar.exe ixf /c/gtk-build/src/freetype-2.6.tar.bz2 -C /c/gtk-build/build/Win32
/usr/bin/tar: This does not look like a tar archive
/usr/bin/tar: Skipping to next header
bzip2: Data integrity error when decompressing.
Input file = (stdin), output file = (stdout)
It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to *attempt* to recover
data from undamaged sections of corrupted files.
/usr/bin/tar: Child returned status 2
/usr/bin/tar: Error is not recoverable: exiting now
diff --git a/build.ps1 b/build.ps1
index 8dacd4a..bac4d6f 100644
--- a/build.ps1
+++ b/build.ps1
@@ -1312,7 +1312,7 @@ $items.GetEnumerator() | %{
$env:PATH += ";$Msys2Directory\usr\bin"
if ($item.Name -ne 'gettext-runtime') {
- Exec $tar ixf $(ConvertTo-Msys2Path $item.ArchiveFile) -C $(ConvertTo-Msys2Path $workingDirectory)
+ Exec tar ixf $(ConvertTo-Msys2Path $item.ArchiveFile) -C $(ConvertTo-Msys2Path $workingDirectory)
$outputDirectoryName = [System.IO.Path]::GetFilenameWithoutExtension($item.ArchiveFile.BaseName)
@@ -1329,7 +1329,7 @@ $items.GetEnumerator() | %{
else {
# gettext-runtime is a tarbomb
[void] (New-Item -Type Directory $item.BuildDirectory)
- Exec $tar ixf $(ConvertTo-Msys2Path $item.ArchiveFile) -C $(ConvertTo-Msys2Path $item.BuildDirectory)
+ Exec tar ixf $(ConvertTo-Msys2Path $item.ArchiveFile) -C $(ConvertTo-Msys2Path $item.BuildDirectory)
}
"Extracted $($item.ArchiveFile.Name)"
so I started the update to glib 2.44 in the wip/hrebase and I get the next errors:
glib : "C:\gtk-build\build\Win32\glib\build\win32\vs12\glib.sln" (default target) (1) ->
glib : "C:\gtk-build\build\Win32\glib\build\win32\vs12\gio.vcxproj" (default target) (9) ->
glib : (ClCompile target) ->
glib : c1 : fatal error C1083: Cannot open source file: '......\gio\gcontextspecificgroup.c': No such file or
directory [C:\gtk-build\build\Win32\glib\build\win32\vs12\gio.vcxproj]
glib : c1 : fatal error C1083: Cannot open source file: '......\gio\ghttpproxy.c': No such file or directory
[C:\gtk-build\build\Win32\glib\build\win32\vs12\gio.vcxproj]
glib : c1 : fatal error C1083: Cannot open source file: '......\gio\glistmodel.c': No such file or directory
[C:\gtk-build\build\Win32\glib\build\win32\vs12\gio.vcxproj]
glib : c1 : fatal error C1083: Cannot open source file: '......\gio\gliststore.c': No such file or directory
[C:\gtk-build\build\Win32\glib\build\win32\vs12\gio.vcxproj]
glib : c1 : fatal error C1083: Cannot open source file: '......\gio\gsimpleiostream.c': No such file or direc
tory [C:\gtk-build\build\Win32\glib\build\win32\vs12\gio.vcxproj]
ssia
if you run the build with --no-deps flag the tools paths (meson, ninja or nuget) are not loaded and you get an exception, something like:
Attribute error: 'Builder' object has no attribute 'meson' (or 'ninja' or 'nuget').
When attempting to compile from scratch, following the instructions on README.md
, the build.py
script asks for the files to patch.
Building project gettext-runtime
(Stripping trailing CRs from patch; use --binary to disable.)
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ruN --strip-trailing-cr gettext-runtime-0.18.orig/gettext-runtime/intl/intl.def gettext-runtime-0.18/gettext-runtime/intl/intl.def
|--- gettext-runtime-0.18.orig/gettext-runtime/intl/intl.def 2012-09-28 21:56:54 +0200
|+++ gettext-runtime-0.18/gettext-runtime/intl/intl.def 2012-09-28 21:56:44 +0200
--------------------------
File to patch: intl/intl.def
patching file intl/intl.def
(Stripping trailing CRs from patch; use --binary to disable.)
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Naur gettext-orig/gettext-runtime/intl/CMakeLists.txt gettext-mod/gettext-runtime/intl/CMakeLists.txt
|--- gettext-orig/gettext-runtime/intl/CMakeLists.txt 2012-01-21 21:10:25.000000000 -0700
|+++ gettext-mod/gettext-runtime/intl/CMakeLists.txt 2015-12-02 16:23:51.903960200 -0700
--------------------------
File to patch: intl/CMakeLists.txt
patching file intl/CMakeLists.txt
When providing the files and their path manually (As in the above text), the build script continues to run, but fails soon after:
[ 93%] Building RC object intl/CMakeFiles/intl.dir/libintl.rc.res
Microsoft (R) Windows (R) Resource Compiler Version 6.3.9600.17336
Copyright (C) Microsoft Corporation. All rights reserved.
C:\gtk-build\build\x64\gettext-runtime\intl\libintl.rc(6) : error RC2104 : undefined keyword or key name: PACKAGE_VERSION_MAJOR
NMAKE : fatal error U1077: 'C:\PROGRA~2\WI3CF2~1\8.1\bin\x64\rc.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'
Stop.
Traceback (most recent call last):
File ".\build.py", line 1129, in build
self.__build_one(p)
File ".\build.py", line 1169, in __build_one
proj.build()
File ".\build.py", line 404, in build
self.exec_vs(r'nmake /nologo', add_path=self.builder.opts.cmake_path)
File ".\build.py", line 118, in exec_vs
self.builder.exec_vs(cmd, working_dir=self._get_working_dir(), add_path=add_path)
File ".\build.py", line 1240, in exec_vs
self.__execute(self.__sub_vars(cmd), working_dir=working_dir, add_path=add_path, env=self.vs_env)
File ".\build.py", line 1272, in __execute
subprocess.check_call(args, cwd=working_dir, env=env, shell=True)
File "c:\Python27\lib\subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command 'nmake /nologo' returned non-zero exit status 2
Error: gettext-runtime build failed
C:\gtk-build\github\gtk-win32>
This was happening with VS2015, so I downloaded VS2013 Update 5 Community Edition to try, but the same problem happens.
The command line I'm using is: c:\Python27\python.exe .\build.py build -p x64 gtk3
This release contains some fixes that we require, like the installation of the pdb files.
We are blocked by anholt/libepoxy#35
I already reported this to fan and it is fixed upstream, we should either wait for a new release or cherry pick the patch
Error build the 'glib' solution for Visual Studio 2015
LINK : fatal error LNK1181: cannot open input file '\lib\intl.lib' [C:\gtk-build\build\x64\release\glib\build\win32\vs14\gmodule.vcxproj]
LINK : fatal error LNK1181: cannot open input file '\lib\intl.lib' [C:\gtk-build\build\x64\release\glib\build\win32\vs14\gthread.vcxproj]
LINK : fatal error LNK1181: cannot open input file '\lib\intl.lib' [C:\gtk-build\build\x64\release\glib\build\win32\vs14\glib-genmarshal.vcxproj]
c:\gtk-build\build\x64\release\glib\glib\glibintl.h(16): fatal error C1083: Cannot open include file: 'libintl.h': No such file or directory [C:\gtk-build\build\x64\release\glib\build\win32\vs14\gspawn-win32-helper.vcxproj]
c:\gtk-build\build\x64\release\glib\glib\glibintl.h(16): fatal error C1083: Cannot open include file: 'libintl.h': No such file or directory [C:\gtk-build\build\x64\release\glib\build\win32\vs14\gspawn-win32-helper-console.vcxproj]
We should update libxml2
Fan already started to add support for it upstream. We should check it out and add support for it.
Now that json-glib supports meson I think we can port it to it.
Trying to build with
C:\gtk-build\github\gtk-win32>python .\build.py build --perl-dir "C:\strawberry\perl\bin\perl.exe" --msys-dir "C:\msys2" --nuget-path "C:\ProgramData\chocolatey\bin\NuGet.exe" --patches-root-dir "C:\gtk-build\github\gtk-win32" --clean --vs-ver 14 -p x64 gtk3
results in
Building project glib
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targe
ts(1189,5): warning MSB8012: TargetPath(C:\gtk-build\build\x64\release\glib\bui
ld\win32\vs14\Release\x64\bin\glib.dll) does not match the Linker's OutputFile
property value (C:\gtk-build\build\x64\release\glib\build\win32\vs14\Release\x6
4\bin\glib-2.0.dll). This may cause your project to build incorrectly. To corre
ct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) proper
ty values match the value specified in %(Link.OutputFile). [C:\gtk-build\build\
x64\release\glib\build\win32\vs14\glib.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targe
ts(1191,5): warning MSB8012: TargetName(glib) does not match the Linker's Outpu
tFile property value (glib-2.0). This may cause your project to build incorrect
ly. To correct this, please make sure that $(OutDir), $(TargetName) and $(Targe
tExt) property values match the value specified in %(Link.OutputFile). [C:\gtk-
build\build\x64\release\glib\build\win32\vs14\glib.vcxproj]
glib.vcxproj -> C:\gtk-build\build\x64\release\glib\build\win32\vs14\Release\
x64\bin\glib.dll
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targe
ts(1189,5): warning MSB8012: TargetPath(C:\gtk-build\build\x64\release\glib\bui
ld\win32\vs14\Release\x64\bin\gmodule.dll) does not match the Linker's OutputFi
le property value (C:\gtk-build\build\x64\release\glib\build\win32\vs14\Release
\x64\bin\gmodule-2.0.dll). This may cause your project to build incorrectly. To
correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt)
property values match the value specified in %(Link.OutputFile). [C:\gtk-build\
build\x64\release\glib\build\win32\vs14\gmodule.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targe
ts(1191,5): warning MSB8012: TargetName(gmodule) does not match the Linker's Ou
tputFile property value (gmodule-2.0). This may cause your project to build inc
orrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $
(TargetExt) property values match the value specified in %(Link.OutputFile). [C
:\gtk-build\build\x64\release\glib\build\win32\vs14\gmodule.vcxproj]
LINK : fatal error LNK1181: Eingabedatei "intl.lib" kann nicht ge÷ffnet werden.
[C:\gtk-build\build\x64\release\glib\build\win32\vs14\gmodule.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targe
ts(1189,5): warning MSB8012: TargetPath(C:\gtk-build\build\x64\release\glib\bui
ld\win32\vs14\Release\x64\bin\gthread.dll) does not match the Linker's OutputFi
le property value (C:\gtk-build\build\x64\release\glib\build\win32\vs14\Release
\x64\bin\gthread-2.0.dll). This may cause your project to build incorrectly. To
correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt)
property values match the value specified in %(Link.OutputFile). [C:\gtk-build\
build\x64\release\glib\build\win32\vs14\gthread.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targe
ts(1191,5): warning MSB8012: TargetName(gthread) does not match the Linker's Ou
tputFile property value (gthread-2.0). This may cause your project to build inc
orrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $
(TargetExt) property values match the value specified in %(Link.OutputFile). [C
:\gtk-build\build\x64\release\glib\build\win32\vs14\gthread.vcxproj]
LINK : fatal error LNK1181: Eingabedatei "intl.lib" kann nicht ge÷ffnet werden.
[C:\gtk-build\build\x64\release\glib\build\win32\vs14\gthread.vcxproj]
LINK : fatal error LNK1181: Eingabedatei "intl.lib" kann nicht ge÷ffnet werden.
[C:\gtk-build\build\x64\release\glib\build\win32\vs14\glib-genmarshal.vcxproj]
gspawn-win32-helper.c
c:\gtk-build\build\x64\release\glib\glib\glibintl.h(16): fatal error C1083: Dat
ei (Include) kann nicht geöffnet werden: "libintl.h": No such file or directory
[C:\gtk-build\build\x64\release\glib\build\win32\vs14\gspawn-win32-helper.vcxp
roj]
gspawn-win32-helper-console.c
c:\gtk-build\build\x64\release\glib\glib\glibintl.h(16): fatal error C1083: Dat
ei (Include) kann nicht geöffnet werden: "libintl.h": No such file or directory
[C:\gtk-build\build\x64\release\glib\build\win32\vs14\gspawn-win32-helper-cons
ole.vcxproj]
Traceback (most recent call last):
File ".\build.py", line 1235, in build
self.__build_one(p)
File ".\build.py", line 1275, in __build_one
proj.build()
File ".\build.py", line 460, in build
self.exec_msbuild(r'build\win32\vs%(vs_ver)s\glib.sln /p:PythonPath=%(python
_dir)s', configuration=configuration)
File ".\build.py", line 126, in exec_msbuild
self.exec_vs('msbuild ' + cmd + ' /p:Configuration=' + configuration + ' %(m
sbuild_opts)s', add_path=add_path)
File ".\build.py", line 121, in exec_vs
self.builder.exec_vs(cmd, working_dir=self._get_working_dir(), add_path=add_
path)
File ".\build.py", line 1348, in exec_vs
self.__execute(self.__sub_vars(cmd), working_dir=working_dir, add_path=add_p
ath, env=self.vs_env)
File ".\build.py", line 1380, in __execute
subprocess.check_call(args, cwd=working_dir, env=env, shell=True)
File "C:\Python27\lib\subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command 'msbuild build\win32\vs14\glib.sln /p:PythonPath=c:\
Python27 /p:Configuration=Release_BundledPCRE /nologo /p:Platform=x64 /v:minim
al' returned non-zero exit status 1
Error: glib build failed
I installed every possible libintl package in MSYS2, no success.
Any pointers where
Now that we have meson support, it makes usage of the pc files to find the deps. We should add the cairo pc files. At least we need the cairo.pc, cairo-gobject.pc and cairo-win32.pc
Error build the 'gtk' solution for Visual Studio 2015
..\..\..\gtk\updateiconcache.c : fatal error C1083: Cannot open include file: 'msvc_recommended_pragmas.h': No such file or directory [C:\gtk-build\build\x64\release\gtk\build\win32\vs14\gtk-update-icon-cache.vcxproj]
Both versions (x86, x64) are vulnerable. Compiled with Visual Studio Professional 2013.
Call stack:
glib-2.0.dll!g_str_hash(const void * v) Line 1876 C
glib-2.0.dll!g_hash_table_lookup_node(_GHashTable * hash_table, const void * key, unsigned int * hash_return) Line 375 C
glib-2.0.dll!g_hash_table_replace(_GHashTable * hash_table, void * key, void * value) Line 1278 C
gtk-3-3.0.dll!gtk_icon_theme_list_contexts(_GtkIconTheme * icon_theme) Line 2676 C
gtk3-demo.exe!load_icon_items(_GtkToolPalette * palette) Line 647 C
gtk3-demo.exe!do_toolpalette(_GtkWidget * do_widget) Line 525 C
gtk3-demo.exe!run_example_for_row(_GtkWidget * window, _GtkTreeModel * model, _GtkTreeIter * iter) Line 128 C
gtk3-demo.exe!row_activated_cb(_GtkWidget * tree_view, _GtkTreePath * path, _GtkTreeViewColumn * column) Line 945 C
gtk-3-3.0.dll!_gtk_marshal_VOID__BOXED_OBJECT(_GClosure * closure, _GValue * return_value, unsigned int n_param_values, const _GValue * param_values, void * invocation_hint, void * marshal_data) Line 3170 C
gobject-2.0.dll!g_closure_invoke(_GClosure * closure, _GValue * return_value, unsigned int n_param_values, const _GValue * param_values, void * invocation_hint) Line 808 C
gobject-2.0.dll!signal_emit_unlocked_R(_SignalNode * node, unsigned int detail, void * instance, _GValue * emission_return, const _GValue * instance_and_params) Line 3635 C
gobject-2.0.dll!g_signal_emit_valist(void * instance, unsigned int signal_id, unsigned int detail, char * var_args) Line 3385 C
gobject-2.0.dll!g_signal_emit(void * instance, unsigned int signal_id, unsigned int detail, ...) Line 3441 C
gtk-3-3.0.dll!gtk_tree_view_row_activated(_GtkTreeView * tree_view, _GtkTreePath * path, _GtkTreeViewColumn * column) Line 12623 C
gtk-3-3.0.dll!gtk_tree_view_multipress_gesture_pressed(_GtkGestureMultiPress * gesture, int n_press, double x, double y, _GtkTreeView * tree_view) Line 3370 C
gobject-2.0.dll!ffi_call_win32(unsigned long * ffi_prep_args, unsigned long * ecif, unsigned long cif_abi, unsigned long cif_bytes, unsigned long cif_flags, unsigned long * rvalue, unsigned long * fn) Line 965 Unknown
gobject-2.0.dll!ffi_call(ffi_cif * cif, void (void) * fn, void * rvalue, void * * avalue) Line 404 C
gobject-2.0.dll!g_cclosure_marshal_generic_va(_GClosure * closure, _GValue * return_value, void * instance, char * args_list, void * marshal_data, int n_params, unsigned int * param_types) Line 1607 C
gobject-2.0.dll!_g_closure_invoke_va(_GClosure * closure, _GValue * return_value, void * instance, char * args, int n_params, unsigned int * param_types) Line 871 C
gobject-2.0.dll!g_signal_emit_valist(void * instance, unsigned int signal_id, unsigned int detail, char * var_args) Line 3300 C
gobject-2.0.dll!g_signal_emit(void * instance, unsigned int signal_id, unsigned int detail, ...) Line 3441 C
gtk-3-3.0.dll!gtk_gesture_multi_press_begin(_GtkGesture * gesture, _GdkEventSequence * sequence) Line 243 C
gobject-2.0.dll!g_cclosure_marshal_VOID__BOXEDv(_GClosure * closure, _GValue * return_value, void * instance, char * args, void * marshal_data, int n_params, unsigned int * param_types) Line 1953 C
gobject-2.0.dll!_g_closure_invoke_va(_GClosure * closure, _GValue * return_value, void * instance, char * args, int n_params, unsigned int * param_types) Line 871 C
gobject-2.0.dll!g_signal_emit_valist(void * instance, unsigned int signal_id, unsigned int detail, char * var_args) Line 3300 C
gobject-2.0.dll!g_signal_emit(void * instance, unsigned int signal_id, unsigned int detail, ...) Line 3441 C
gtk-3-3.0.dll!_gtk_gesture_check_recognized(_GtkGesture * gesture, _GdkEventSequence * sequence) Line 389 C
gtk-3-3.0.dll!gtk_gesture_handle_event(_GtkEventController * controller, const _GdkEvent * event) Line 747 C
gtk-3-3.0.dll!gtk_gesture_single_handle_event(_GtkEventController * controller, const _GdkEvent * event) Line 221 C
gtk-3-3.0.dll!gtk_event_controller_handle_event(_GtkEventController * controller, const _GdkEvent * event) Line 231 C
gtk-3-3.0.dll!_gtk_widget_run_controllers(_GtkWidget * widget, const _GdkEvent * event, GtkPropagationPhase phase) Line 7328 C
gtk-3-3.0.dll!gtk_widget_real_motion_event(_GtkWidget * widget, _GdkEventMotion * event) Line 7104 C
gtk-3-3.0.dll!_gtk_marshal_BOOLEAN__BOXEDv(_GClosure * closure, _GValue * return_value, void * instance, char * args, void * marshal_data, int n_params, unsigned int * param_types) Line 133 C
gobject-2.0.dll!_g_closure_invoke_va(_GClosure * closure, _GValue * return_value, void * instance, char * args, int n_params, unsigned int * param_types) Line 871 C
gobject-2.0.dll!g_signal_emit_valist(void * instance, unsigned int signal_id, unsigned int detail, char * var_args) Line 3300 C
gobject-2.0.dll!g_signal_emit(void * instance, unsigned int signal_id, unsigned int detail, ...) Line 3441 C
gtk-3-3.0.dll!gtk_widget_event_internal(_GtkWidget * widget, _GdkEvent * event) Line 7704 C
gtk-3-3.0.dll!gtk_widget_event(_GtkWidget * widget, _GdkEvent * event) Line 7263 C
gtk-3-3.0.dll!propagate_event_up(_GtkWidget * widget, _GdkEvent * event, _GtkWidget * topmost) Line 2545 C
gtk-3-3.0.dll!propagate_event(_GtkWidget * widget, _GdkEvent * event, int captured, _GtkWidget * topmost) Line 2648 C
gtk-3-3.0.dll!gtk_propagate_event(_GtkWidget * widget, _GdkEvent * event) Line 2682 C
gtk-3-3.0.dll!gtk_main_do_event(_GdkEvent * event) Line 1878 C
gdk-3-3.0.dll!gdk_event_dispatch(_GSource * source, int (void *) * callback, void * user_data) Line 3664 C
glib-2.0.dll!g_main_dispatch(_GMainContext * context) Line 3154 C
glib-2.0.dll!g_main_context_iterate(_GMainContext * context, int block, int dispatch, _GThread *) Line 3840 C
glib-2.0.dll!g_main_context_iteration(_GMainContext * context, int may_block) Line 3901 C
gio-2.0.dll!g_application_run(_GApplication * application, int argc, char * * argv) Line 2381 C
gtk3-demo.exe!main(int argc, char * * argv) Line 1180 C
[External Code]
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
It would be nice to add gtksourceview 2.x library in the bundle.
That would solve all my needs for a good GTK 2.x build.
To work with upstream Python, the stack needs to be build with VS2010 for 2.7 > Python <= 3.4.
Inital work in this direction is seen here https://github.com/nice-software/gtk-win32/tree/wip/upstream-msvc
For all of the G* stack we should use Fan's (upstream) solutions. The main changes the hexchat folks made are
IMO the output directory should be left as is and the packaging step of build.ps should be updated to reflect Fan's conventions.
This is related to #2 as they will both likely be solved at the same time.
Hi,
Compilation error:
I tried to run the command python .\build.py build gtk3
in the directory C:\gtk-build\github\gtk-win32.
However, it sends out an error saying
` File ".\build.py", line 1455
print("Error:", msg, file-sys.stderr
SyntaxError: invalid syntax`
I'm a beginner in using MSYS, gtk.. could you help me on what I might have done wrong?
...
Generating GTK+ DBUS Sources...
'\python' is not recognized as an internal or external command,
operable program or batch file.
...
We need to define PythonPathX64 variable in "gtk3/build/win32/ * /gtk3-version-paths.props".
It used to generate "gtk\gtkdbusgenerated.*" files during build.
build environment:
Windows 10+Visual Studio 2015
Expect:
After follow https://github.com/wingtk/gtk-win32 I should build gtk3 succ!
Actual:
Failed at cairo build step.
What I Do:
I try to dig the problem and found a one thing I don't understand .
As line:[email protected] self.exec_vs(r'make -f Makefile.win32 pixman CFG=%(configuration)s ' + optimizations, add_path=add_path)
is this right? or should be nmake based?
The fontconfig url in build.ps1 no longer works:
http://fontconfig.org/release/fontconfig-2.11.1.tar.gz
It should be replaced by something like this:
https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.1.tar.gz
In order to build it we need to first have libcroco, librsvg, hicolor-icon-theme and icon-naming-utils. @fanc999 have you had any luck on building this and creating the proper projects etc?
Building project libepoxy
[1/12] Compiling c object src/epoxy@sha/src_wgl_generated_dispatch.c.obj
FAILED: src/epoxy@sha/src_wgl_generated_dispatch.c.obj
cl @src/epoxy@sha/src_wgl_generated_dispatch.c.obj.rsp
C:\Program Files (x86)\Windows Kits\8.1\include\shared\minwindef.h(130) : warning C4005: APIENTRY: изменение макроопределения
..\include\epoxy/gl.h(59): см. предыдущее определение "APIENTRY"
src/wgl_generated_dispatch.c(162) : error C2054: требуется "(" после "inline"
src/wgl_generated_dispatch.c(163) : error C2085: get_dispatch_table: отсутствует в списке формальных параметров
src/wgl_generated_dispatch.c(168) : error C2057: требуется константное выражение
...
This issue is fixed in upstream anholt/libepoxy@3f932ae, but i don't know how to fix this in gtk-win32.
Hello,
I've added ~20 pull requests to the project. As I could understand from #29, this was required to aid in merging.
Most of the work was done by @intity on his pull request, I just fixed some problems that I found and submitted a pull request for each project separately.
From what I could gather, everything should work, except GTK3, where I'm getting the error C1001.
I'm using Visual Studio 2015 Update 2.
Gist for the output of the command line.
I hope this helps to speed up the merging process and add support to VS2015 😄
I'm anxious to use GTK on Windows 😀
We should update lmdb. This means rebasing the current fork and making our own tarball with it.
Compilation error, can not download the file: https://www.sqlite.org/2016/sqlite-autoconf-3120000.tar.gz
ERROR 404: Not Found.
anyone can provide the patch?
There are some tools that could be automatically downloaded like nuget. I think we should add support for this in some way.
Currently, gtk-sharp is not included in the build script.
Hi,
It seems for MSVC 14 compilation is not supported.
During the execution of the gtk3-demo.exe
application warning appears:
Gtk-WARNING **: Could not find the icon 'window-minimize-symbolic-ltr'. The 'hicolor' theme was not found either, perhaps you need to install it.
You can get a copy from:
http://icon-theme.freedesktop.org/releases
We can use urllib from python instead
I just pushed an initial version of the meson support for meson, if needed we will need to make some fixes upstream.
The wing project cannot be build with the new meson version that complains about trying to form an absolute path to a source dir, a new check in this version (using the same command with meson 0.38.1 work and create the library correctly).
In the long run the solution is to fix the meson.build file but if needed we can use, only for this project, the old version (should be a matter of 10 lines of code, so we can test multiple versions of the same tool).
As with the urls we should also include the hashes of the tarballs and check them before building so we ensure the tarball was properly downloaded and that we are using the right one and not something hacked.
I try to implement the hash check on the tarballs and I'm learning git so I have a lot of dirs under c:\gtk-build\github.
If you don't pass the --patches-root-dir parameter the script use (build-dir)\github\gtk-win32 while the option helps says 'The directory where you checked out ...' and this generate an error when I removed the gtk-win32 dir to have only mine.
If I have the correct one if I launch the build in an other checkout of the stack the system gets the parameters always from the gtk-win32 dir and this can lead to error or mistakes if someone wants to get different versions of the script.
The solution is really simple (just add '--patches-root-dir .' on the command line) but is not more correct use, as a default, the same directory of the build.py script ?
Thank in advance
Daniele Forghieri
Now that graphene is in we should be able to add gtk 4.
Really thank you for clear build instructions so I'm able to build it successfully.
however I got the problem when using it. I guess it's due to my project is set to build "use unicode character set", so it's mixing char/wchar ...
Here is the crash stack,
do you have a solution? thank you.
Error: lmdb build failed for vs14
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, please install v120 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\gtk-build\build\x64\release\lmdb\libraries\liblmdb\lmdb.vcxproj]
I think you need to add the 'build/win32' of root directory to share the (vs12, vs14) solutions inclusive.
I can prepare a pull request.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.