Re: cygwin: how to mount linux FS from cygwin

2018-10-28 Thread Brian Inglis
On 2018-10-27 19:32, hauck.adrian451 wrote:
> I was review the urls indicated and install the command pkg-config:
> - Created the file fuse.pc indicated the location the dll:
> user@cliente~/winfsp-master/opt/cygfuse/fuse
> $ more fuse.pc
> arch=x64
> prefix=${pcfiledir}/..
> incdir=C:\Program Files (x86)\WinFsp
> implib=C:\Program Files (x86)\WinFsp\winfsp-${arch}.dll
> Name: fuse
> Description: WinFsp FUSE compatible API
> Version: 2.8
> URL: http://www.secfs.net/winfsp/
> Libs: "${implib}"
> Cflags: -I"${incdir}"
> user@cliente~/winfsp-master/opt/cygfuse/fuse
> $ pwd
> /home/user/winfsp-master/opt/cygfuse/fuse
> Escuse me, but I don´t understad what  make the command pkg-config, I
> executed "pkg-config fuse.pc" and "pkg-config cgfuse" but don´t result,
> continues without found the dll.

If you read the referenced

http://www.secfs.net/winfsp/download/
http://www.secfs.net/winfsp/develop/sshfs/

sections starting from: Integrating with Cygwin, you would see that fuse.pc is
created by the winfsp install script, and that file has to be used by pkg-config
from a subshell in your app build command line.

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

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



Re: cygwin: how to mount linux FS from cygwin

2018-10-28 Thread René Berber
On 10/27/2018 8:32 PM, hauck.adrian451 wrote:

> - Created the file fuse.pc indicated the location the dll:
> 
> user@cliente~/winfsp-master/opt/cygfuse/fuse
> $ more fuse.pc
> arch=x64
> prefix=${pcfiledir}/..
> incdir=C:\Program Files (x86)\WinFsp
> implib=C:\Program Files (x86)\WinFsp\winfsp-${arch}.dll
> 
> Name: fuse
> Description: WinFsp FUSE compatible API
> Version: 2.8
> URL: http://www.secfs.net/winfsp/
> Libs: "${implib}"
> Cflags: -I"${incdir}"

This is wrong, in several ways.

1st: fuse.pc, and pkg-config, are only used for building purposes (i.e.
compiling, creating the Makefile, usually as part of the configure
script, or in Qt projects, could be part of the qmake step).

2nd: The path used (C:\Program Files (x86)\) is written wrong, in
Windows mode, and its the location of 32-bit installations, which
contradicts the "arch=x64".  For Cygwin's version of pkg-config it is
just wrong (I would suggest to take a look at 'man pkg-config').

I don't know, or use winfsp, but... do they really put headers in there?
 That's what that .pc file says in Cflags.  Same goes for libraries, but
that could be the case, weird, but not entirely invalid.

3rd: The location of fuse.pc is not a standard location.  So unless you
also specify PKG_CONFIG_LIBDIR, its not going to be used.
-- 
R. Berber


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



Re: cygwin: how to mount linux FS from cygwin

2018-10-28 Thread Marco Atzeri

Am 28.10.2018 um 02:32 schrieb hauck.adrian451:

Hi,

Thank you for the help.

I was review the urls indicated


Have you in the PATH the directory where
winfsp-x64.dll is located ?

If it is located in
"C:\Program Files(x86)\WinFsp\bin"

you should have a something like the output of cygpath

$ cygpath -u "C:\Program Files(x86)\WinFsp\bin"
  /cygdrive/c/Program Files(x86)/WinFsp/bin

with the additional needed escape "\"

  /cygdrive/c/Program\ Files\(x86\)/WinFsp/bin

---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus


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



[PATCH 1/1] Cygwin: Fix cygheap corruption caused by cloned atomic buffer

2018-10-28 Thread David McFarland
The fhandler_base_overlapped::copyto clears atomic_write_buf on the
clone, but none of the derived classes were doing this.  This allowed
the destructor to double-free the buffer and corrupt cygheap.
Clear atomic_write_buf in copyto of all derived classes.
---
 winsup/cygwin/fhandler.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 2cc99d713..9e63867ab 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -1216,6 +1216,7 @@ public:
   {
 x->pc.free_strings ();
 *reinterpret_cast (x) = *this;
+reinterpret_cast (x)->atomic_write_buf = NULL;
 x->reset (this);
   }
 
@@ -1256,6 +1257,7 @@ public:
   {
 x->pc.free_strings ();
 *reinterpret_cast (x) = *this;
+reinterpret_cast (x)->atomic_write_buf = NULL;
 x->reset (this);
   }
 
-- 
2.19.1



[PATCH 0/1] Fix deadlocks related to child processes

2018-10-28 Thread David McFarland
For a long time I've been struggling with intermittent deadlocks and
segfaults in emacs, seemingly related to invoking child processes.  I
recently found a reliable way to reproduce one such deadlock:

- install clean cygwin with: emacs-w32, clang
- install flycheck from elpa
- grab some non trivial C header e.g.:
  $ cp /usr/include/stdio.h test.h
- $ emacs -q test.h
- start flycheck:
  (progn (package-initialize)
 (require 'flycheck)
 (flycheck-mode))
- add a character to the start of the first line
- wait for flygheck to complete
- repeat the last two steps until a deadlock occurs

Breaking in gdb showed the main thread in `cygheap_protect.acquire ()`,
from either _cfree or _cmalloc.  The thread holding the mutex was always
"flasio", and it would either be continually segfaulting or looping in
_cfree.

I added some debug prints to cygheap and determined that it flasio was
double-freeing an atomic_write_buf.  I added some more prints and found
that it was two different fhandler objects freeing the same buffer.

I then found that `fhandler_base_overlapped::copyto` would clear the
buffer pointer after the copy, but none of the derived classes (pipe,
fifo) did.

Attached is a patch which clears the buffer pointers when copying pipes
and fifos.

It would probably be safer to move the buffer clear to a `operator=`,
but I wanted to keep the patch as simple as possible and avoid
refactoring.


David McFarland (1):
  Cygwin: Fix cygheap corruption caused by cloned atomic buffer

 winsup/cygwin/fhandler.h | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.19.1



Supplying a patched package

2018-10-28 Thread Rob Arthan
I have an application that is available for the main UN*X implementations
and uses the OpenMotif library. It currently works fine on Cygwin using
the motif-2.3.6-1 package. I am working on enhancing it to use Unicode
and UTF-8 to display mathematical symbols and this has exposed a bug
in OpenMotif. I have a patch for the bug and have successfully built
the OpenMotif library as a DLL and tested it on Cygwin.

The bug has been reported but the turn-round time for a fix to OpenMotif
is likely to be 6 or 12 months and I don’t how long it will take for it to
get picked up on Cygwin (2.3.6 is 2 versions and 18 months behind the
latest version). So my question is what is the best way to supply my fix to
users on Cygwin in the interim.

Building the DLL seems a bit tricky, so I’d prefer users not to have to
do that. If I supply the DLL, then the simplest thing seems to be just
to include the DLL in a bin folder alongside the executable for my app.
Is that a robust and portable solution? Will I need to build different DLLs
for different architectures or can I safely assume that people running
on a reasonably recent MS Windows installation will only want the x86_64 DLL?

Apologies if the answer should be obvious: I am a reasonably proficient
UN*X programmer, but just a naive end-user feeling my way on MS
Windows. Am I right in inferring from experiments that Cygwin and/or
MS Windows looks for DLLs on the list of folders given $PATH and/or
%PATH% list but has a look in the folder containing the executable that
wants the DLL first?

Cheers,

Rob.


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



[ANNOUNCEMENT] liblbfgs 1.10

2018-10-28 Thread Masamichi Hosoda
The following packages have been uploaded to the Cygwin distribution:

* liblbfgs1-1.10-1
* liblbfgs-devel-1.10-1

This library is a C port of the implementation of
Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) method.
The L-BFGS method solves the unconstrainted minimization problems.

http://www.chokkan.org/software/liblbfgs/

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



[ANNOUNCEMENT] Updated: engauge-digitizer-10.11

2018-10-28 Thread mark mitchell
Version 10.11 of "engauge-digitizer" has been uploaded.

Interactively converts a bitmap graph or map into numbers.

Changes:

* Highlight multi-valued sections of functions where curves are too close
* Ensure there is always at least one curve
* Handle large dynamic range in log coordinates in 4-axis point documents

  *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com  cygwin.com

If you need more information on unsubscribing, start reading here:

https://sourceware.org/lists.html#unsubscribe-simple

Please read *all* of the information on unsubscribing that is
available starting at this URL.

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



liblbfgs 1.10

2018-10-28 Thread Masamichi Hosoda
The following packages have been uploaded to the Cygwin distribution:

* liblbfgs1-1.10-1
* liblbfgs-devel-1.10-1

This library is a C port of the implementation of
Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) method.
The L-BFGS method solves the unconstrainted minimization problems.

http://www.chokkan.org/software/liblbfgs/


Updated: engauge-digitizer-10.11

2018-10-28 Thread mark mitchell
Version 10.11 of "engauge-digitizer" has been uploaded.

Interactively converts a bitmap graph or map into numbers.

Changes:

* Highlight multi-valued sections of functions where curves are too close
* Ensure there is always at least one curve
* Handle large dynamic range in log coordinates in 4-axis point documents

  *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com  cygwin.com

If you need more information on unsubscribing, start reading here:

https://sourceware.org/lists.html#unsubscribe-simple

Please read *all* of the information on unsubscribing that is
available starting at this URL.


Re: [ITP] liblbfgs 1.10

2018-10-28 Thread Marco Atzeri

Am 28.10.2018 um 03:45 schrieb Masamichi Hosoda:

Thank you for your reviewing.

Setting a value in the PKG_SUMMARY array has no effect.
So I use `eval` for setting the subpackage summaries.

My updated cygport file is attached.


My updated cygport file is attached.



GTG.

the "eval" is a very elegant solution

Regards
Marco



---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus