help compilation qemu

2020-05-23 Thread Juan carlos Rebate via Cygwin
Good morning, in a previous post I was debating with some nice users (for
technical reasons I can't retrieve that thread)The point is that although
the qemu wiki says it can't compile with cygwin for 64-bit it actually can,
and for technical reasons I haven't been able to communicate it before,The
case is that making a couple of adjustments when looking for all the mingw
packages if they can be found, but there is a problem,Well, really two
problems.1 the compiler is extremely slow, gcc on Linux is about 10 times
faster, How could I speed up the compilation process?.
2 the executables produced are too fat, for example qemu-system-i386 is 65
MB, but it should be 10.5 MB, if I use the -s option in configure returns
an unknown error message, how could I fix it? Thank you
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: Cygwin doesn't support IO_REPARSE_TAG_APPEXECLINK

2020-05-23 Thread Brian Inglis
On 2020-05-23 09:50, Marco Atzeri via Cygwin wrote:
> On 23.05.2020 17:09, Kagami Rosylight via Cygwin wrote:

>> I found that Cygwin can’t run UWP based CLI tools, as they expose their
>> executables as reparse points with the tag IO_REPARSE_TAG_APPEXECLINK which
>> Cygwin does not support.
>>
>> Way to reproduce this issue on Cygwin:
>>
>> 1. Install Python from Microsoft Store:
>> https://www.microsoft.com/en-us/p/python-38/9mssztt1n39l (assuming you don’t
>> already have python3.8 on your PATH.)
>> 2. Try running `python3.8` on Cygwin. It will say
>> “/cygdrive/c/Users/Kagami/AppData/Local/Microsoft/WindowsApps/python3.8:
>> Permission denied”
>> 3. Check it’s real path by `get-childitem -path
>> C:/Users/Kagami/AppData/Local/Microsoft/WindowsApps/python3.8.exe` on
>> PowerShell. It’s `C:\Program
>> Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\python3.8.exe`.
>>
>> 4. Try running python again with that path. This succeeds.
>>
>> I posted this issue on MSYS2 GitHub repo
>> (https://github.com/msys2/MSYS2-packages/issues/1943) but I think Cygwin is
>> the right place to file this.
>>
>> Relevant prior works:
>>
>> * Python
>> https://github.com/python/cpython/commit/df2d4a6f3d5da2839c4fc11d31511c8e028daf2c
>> * libuv
>> https://github.com/libuv/libuv/commit/e7ebae26247d2fee0a04547eb7f9aa8f78d4a642
>> * PowerShell https://github.com/PowerShell/PowerShell/pull/10331

> Not clear why you expect that a Windows specific tag as
> IO_REPARSE_TAG_APPEXECLINK should be supported on a Posix platform ?
> 
> Moreover all the documentation from MS seems
> 
> https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/c8e77b37-3909-4fe6-a4ea-2b9d423b1ee4
> 
> that seems a bit short to help third party in properly using it.

I think the general point being made is that /some/ Windows tools can not be run
from Cygwin.
I wonder what happens if the OP runs "cygstart python3.8"?

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]
--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: Updating glib2.0

2020-05-23 Thread Ken Brown via Cygwin-apps

On 5/22/2020 7:18 PM, Ken Brown via Cygwin-apps wrote:
I've been planning to adopt gimp and some related build dependencies.  My reason 
is that I use gimp and would like to see it kept up to date.


I thought I had all the prerequisites I needed.  But when I built gimp, I 
discovered that it used two functions, g_set_weak_pointer and 
g_date_time_new_from_iso8601, that were introduced in glib-2.56.


[gimp's configure.ac says that it only requires glib 2.54.2, but this seems to 
be wrong.  Cygwin's glib is at 2.54.3.  Fedora's is at 2.64.3, which is the 
latest upstream release.]


I'd appreciate some advice about how to proceed.  I'm not interested in adopting 
all of GNOME, and it probably doesn't make sense for different components of 
GNOME to be adopted by different people.


A short-term solution (from my personal POV) would be for me to do a 
non-maintainer update of glib to 2.56, assuming that's doable without messing up 
other GNOME components.


A better solution (again from my personal POV) would be for someone to adopt 
GNOME and update it to its latest release.


To focus the discussion a little better, I've built and installed 
glib2.0-2.56.4.  My cygport file and patches are attached.  I can now build 
gimp-2.10.18, and it seems to run fine in limited testing.


Ken
Fix for -Werror=nested-externs

--- origsrc/glib-2.34.3/m4macros/glib-gettext.m42012-11-20 
08:27:12.0 -0600
+++ src/glib-2.34.3/m4macros/glib-gettext.m42013-04-15 02:04:25.707401500 
-0500
@@ -222,8 +222,8 @@ msgstr ""
  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
  GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
- AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
-return _nl_msg_cat_cntr],
+ AC_TRY_LINK([extern int _nl_msg_cat_cntr;],
+ [return _nl_msg_cat_cntr],
[CATOBJEXT=.gmo 
  DATADIRNAME=share],
[case $host in
--- origsrc/glib-2.36.3/configure.ac2013-08-04 20:21:20.808722600 -0500
+++ src/glib-2.36.3/configure.ac2013-08-04 18:30:21.852852200 -0500
@@ -1880,7 +1880,7 @@ dnl 
 
 AC_MSG_CHECKING(for platform-dependent source)
 case "$host" in
-  *-*-cygwin*|*-*-mingw*)
+  *-*-mingw*)
 PLATFORMDEP=gwin32.lo
 ;;
   *)
@@ -2594,9 +2594,6 @@ dnl *** Win32 API libs ***
 dnl **
 
 case $host in
-  *-*-cygwin*)
-   G_LIBS_EXTRA="-luser32 -lkernel32"
-;;
   *-*-mingw*)
G_LIBS_EXTRA="-lws2_32 -lole32 -lwinmm -lshlwapi"
 ;;
--- origsrc/glib-2.36.3/docs/reference/gio/Makefile.am  2013-08-04 
20:21:20.849725000 -0500
+++ src/glib-2.36.3/docs/reference/gio/Makefile.am  2013-08-04 
18:11:14.0 -0500
@@ -77,6 +77,8 @@ IGNORE_HFILES = \
gunixvolume.h   \
gunixvolumemonitor.h\
gwin32appinfo.h \
+   gwin32inputstream.h \
+   gwin32outputstream.h\
gwin32mount.h   \
gwin32resolver.h\
gwin32volumemonitor.h
--- origsrc/glib-2.36.3/gio/giomodule-priv.h2013-08-04 20:21:20.877726600 
-0500
+++ src/glib-2.36.3/gio/giomodule-priv.h2013-08-04 18:11:14.0 
-0500
@@ -39,7 +39,7 @@ GType_g_io_module_get_default_type (
 const gchar *envvar,
 guintis_supported_offset);
 
-#ifdef G_PLATFORM_WIN32
+#ifdef G_OS_WIN32
 void *_g_io_win32_get_module (void);
 #endif
 
--- origsrc/glib-2.36.3/gio/giomodule.c 2013-08-04 20:21:20.886727100 -0500
+++ src/glib-2.36.3/gio/giomodule.c 2013-08-04 18:11:14.0 -0500
@@ -894,7 +894,7 @@ extern GType g_network_monitor_base_get_
 extern GType _g_network_monitor_netlink_get_type (void);
 #endif
 
-#ifdef G_PLATFORM_WIN32
+#ifdef G_OS_WIN32
 
 #include 
 
--- origsrc/glib-2.36.3/gio/tests/live-g-file.c 2013-08-04 20:21:20.898727800 
-0500
+++ src/glib-2.36.3/gio/tests/live-g-file.c 2013-08-04 18:11:14.0 
-0500
@@ -1282,7 +1282,7 @@ main (int argc, char *argv[])
  write_test = TRUE;
  only_create_struct = FALSE;
  target_path = DEFAULT_TEST_DIR;
-#ifdef G_PLATFORM_WIN32
+#ifdef G_OS_WIN32
  posix_compat = FALSE;
 #else
  posix_compat = TRUE;
--- origsrc/glib-2.36.3/glib/gatomic.c  2013-08-04 20:21:20.907728300 -0500
+++ src/glib-2.36.3/glib/gatomic.c  2013-08-04 18:11:14.0 -0500
@@ -464,7 +464,7 @@ gsize
   return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
 }
 
-#elif defined (G_PLATFORM_WIN32)
+#elif defined (G_OS_WIN32)
 
 #include 
 #if !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64) && !(defined 
_MSC_VER && _MSC_VER <= 1200)
--- origsrc/glib-2.36.3/glib/gcharset.c 2013-08-04 20:21:20.925729300 -0500
+++ src/glib-2.36.3/glib/gcharset.c 2013-08-04 18:11:14.0 

Re: Cygwin doesn't support IO_REPARSE_TAG_APPEXECLINK

2020-05-23 Thread Marco Atzeri via Cygwin

On 23.05.2020 17:09, Kagami Rosylight via Cygwin wrote:

Hi Cygwin community,

I found that Cygwin can’t run UWP based CLI tools, as they expose their 
executables as reparse points with the tag IO_REPARSE_TAG_APPEXECLINK which 
Cygwin does not support.

Way to reproduce this issue on Cygwin:

1. Install Python from Microsoft Store: 
https://www.microsoft.com/en-us/p/python-38/9mssztt1n39l (assuming you don’t 
already have python3.8 on your PATH.)
2. Try running `python3.8` on Cygwin. It will say 
“/cygdrive/c/Users/Kagami/AppData/Local/Microsoft/WindowsApps/python3.8: 
Permission denied”
3. Check it’s real path by `get-childitem -path 
C:/Users/Kagami/AppData/Local/Microsoft/WindowsApps/python3.8.exe` on 
PowerShell. It’s `C:\Program 
Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\python3.8.exe`.
4. Try running python again with that path. This succeeds.

I posted this issue on MSYS2 GitHub repo 
(https://github.com/msys2/MSYS2-packages/issues/1943) but I think Cygwin is the 
right place to file this.

Relevant prior works:

* Python 
https://github.com/python/cpython/commit/df2d4a6f3d5da2839c4fc11d31511c8e028daf2c
* libuv 
https://github.com/libuv/libuv/commit/e7ebae26247d2fee0a04547eb7f9aa8f78d4a642
* PowerShell https://github.com/PowerShell/PowerShell/pull/10331

Thanks,

-Kagami



Not clear why you expect that a Windows specific tag as
IO_REPARSE_TAG_APPEXECLINK should be supported on a Posix platform ?

Moreover all the documentation from MS seems

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/c8e77b37-3909-4fe6-a4ea-2b9d423b1ee4

that seems a bit short to help third party in properly using it.

Regards
Marco


PS: Python 3.8 is available as Cygwin binary

--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: update on python refreshing

2020-05-23 Thread Marco Atzeri via Cygwin-apps

On 23.05.2020 10:48, Marco Atzeri wrote:

As I am blocked on the python update,
I would like to inform you about the issue

On i686 arch and only on that, in all versions
3.8.3 and 2.7.18 the sh.exe segfaults during configure

The logs on 3.8.3 and also rebuilding 3.8.2
---
checking for use_env... yes
configure: checking for device files
checking for /dev/ptmx... yes
make: *** No targets specified and no makefile found.  Stop.
*** ERROR: make failed
---

on 2.7.18:
---
checking for /dev/ptmx... yes
checking for /dev/ptc... no
checking for %lld and %llu printf() format support... make: *** No 
targets specified and no makefile found.  Stop.

ESC[1;31m*** ERROR:ESC[0;0m make failed
  15 [main] sh 6354 D:\cygwin32\bin\sh.exe: *** fatal error in 
forked process - WFSO timed out after longjmp
   80937 [main] sh 6354 cygwin_exception::open_stackdumpfile: Dumping 
stack trace to sh.exe.stackdump

---
In one of the 3 cases no stack dump is produced, while for the other
two I have:

$ cat sh.exe.stackdump
Stack trace:
Frame Function  Args
006DC078  61084F28 (, 77BE6DD2, 00777E68, 0077)

  $ cat sh.exe.stackdump
Stack trace:
Frame Function  Args
006DC438  61084F28 (0148, , , 0018)
End of stack trace

$ addr2line.exe -a 61084F28 -e /usr/bin/cygwin1.dll
0x61084f28
/usr/src/debug/cygwin-3.1.4-1/winsup/cygwin/fork.cc:650


As 3.8.2 was built before, it seems a recent change in Cygwin
is impacting the 32bit platform.


It seems I forgot the announce, but last build was 10th of April
https://cygwin.com/packages/x86/python38/python38-3.8.2-1

so I will try to bisect Cygwin to see when this problem arose.

Crossing finger
Marco



It seems I was lucky, current git does not have the problem
so I was able to build both 3.8.3 and 2.7.18
without any need for a bisect.

Give me some time for the packaging and I will update both

Regards
Marco






update on python refreshing

2020-05-23 Thread Marco Atzeri via Cygwin-apps

As I am blocked on the python update,
I would like to inform you about the issue

On i686 arch and only on that, in all versions
3.8.3 and 2.7.18 the sh.exe segfaults during configure

The logs on 3.8.3 and also rebuilding 3.8.2
---
checking for use_env... yes
configure: checking for device files
checking for /dev/ptmx... yes
make: *** No targets specified and no makefile found.  Stop.
*** ERROR: make failed
---

on 2.7.18:
---
checking for /dev/ptmx... yes
checking for /dev/ptc... no
checking for %lld and %llu printf() format support... make: *** No 
targets specified and no makefile found.  Stop.

ESC[1;31m*** ERROR:ESC[0;0m make failed
 15 [main] sh 6354 D:\cygwin32\bin\sh.exe: *** fatal error in 
forked process - WFSO timed out after longjmp
  80937 [main] sh 6354 cygwin_exception::open_stackdumpfile: Dumping 
stack trace to sh.exe.stackdump

---
In one of the 3 cases no stack dump is produced, while for the other
two I have:

$ cat sh.exe.stackdump
Stack trace:
Frame Function  Args
006DC078  61084F28 (, 77BE6DD2, 00777E68, 0077)

 $ cat sh.exe.stackdump
Stack trace:
Frame Function  Args
006DC438  61084F28 (0148, , , 0018)
End of stack trace

$ addr2line.exe -a 61084F28 -e /usr/bin/cygwin1.dll
0x61084f28
/usr/src/debug/cygwin-3.1.4-1/winsup/cygwin/fork.cc:650


As 3.8.2 was built before, it seems a recent change in Cygwin
is impacting the 32bit platform.


It seems I forgot the announce, but last build was 10th of April
https://cygwin.com/packages/x86/python38/python38-3.8.2-1

so I will try to bisect Cygwin to see when this problem arose.

Crossing finger
Marco