Re: [Ecls-list] ECL/iOS updated to ECL-11.1.1, Xcode4, SDK 4.3

2011-05-28 Thread Juan Jose Garcia-Ripoll
On Sat, May 28, 2011 at 3:56 AM, Ram Krishnan kriyat...@gmail.com wrote:

 I've committed an update to the ECL for iOS project,


Thanks a lot for the great work!

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
--
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1___
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list


[Ecls-list] Cygwin problems -- serious ones

2011-05-28 Thread Juan Jose Garcia-Ripoll
Hi everyone,

I have been tracking the cygwin issues along different fronts. My
conclusions are not good, but I might be wrong.

What happens is that cygwin is faking fork(). Windows does not have it, so
what Cygwin does is to reload the whole executable file and all shared
libraries and copy the memory content to fake a duplicate of the original
executable image. The problem is that when loading the executable file and
the shared libraries, they have to end up at the same positions, but cygwin
fails to do it properly and thus the copy that is produced cannot function.

This is solely a cygwin problem and we run into it because of the use of
fork(). We need it for ext:run-program, and all the functionality it
provides -- redirection of child's input/output/error channels, waiting for
processes, etc.

An alternative is to reuse the Windows code instead of fork+execve. I have
tried this today but there are other problems
- Almost all cygwin executables are symlinked in a way that is not open to
Windows, thus gcc is actually found through two symlinks that are internal
to cygwin, not expose to the operating system libraries.
- This would force us to code a function that searches the PATH for the
program we want to run.
- But things do not stop there, because when cygwin invokes a program it
does some massaging of the environment (PATH from posix to Windows syntax,
remapping other environment variables, mapping arguments to execve to the
right pathname convention...)

Overall the result needs quite some effort and looks more like a hack than
like a real solution, which is why I do not feel very motivated to implement
it...

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
--
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1___
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list


Re: [Ecls-list] Cygwin problems -- serious ones

2011-05-28 Thread Anton Vodonosov
I think you are right.If fork() in cygwing produces non-working ECL - it's serious bug of cygwin.It makes sense to file a bug report to cygwin. And create an ECL issue tracker ticket "ext:run-program not working on cygwin because of broken form() system call" which explains the reason. The ticket will be closed after cygwin fixes it's bug.Best regards,- Anton29.05.2011, 00:34, "Juan Jose Garcia-Ripoll" juanjose.garciarip...@googlemail.com;:Hi everyone,I have been tracking the cygwin issues along different fronts. My conclusions are not good, but I might be wrong.What happens is that cygwin is faking "fork()". Windows does not have it, so what Cygwin does is to reload the whole executable file and all shared libraries and copy the memory content to fake a "duplicate" of the original executable image. The problem is that when loading the executable file and the shared libraries, they have to end up at the same positions, but cygwin fails to do it properly and thus the copy that is produced cannot function. This is solely a cygwin problem and we run into it because of the use of fork(). We need it for ext:run-program, and all the functionality it provides -- redirection of child's input/output/error channels, waiting for processes, etc. An alternative is to reuse the Windows code instead of fork+execve. I have tried this today but there are other problems- Almost all cygwin executables are symlinked in a way that is not open to Windows, thus "gcc" is actually found through two symlinks that are internal to cygwin, not expose to the operating system libraries. - This would force us to code a function that searches the "PATH" for the program we want to run.- But things do not stop there, because when cygwin invokes a program it does some massaging of the environment (PATH from posix to Windows syntax, remapping other environment variables, mapping arguments to execve to the right pathname convention...) Overall the result needs quite some effort and looks more like a hack than like a real solution, which is why I do not feel very motivated to implement it...Juanjo-- Instituto de Fsica Fundamental, CSIC c/ Serrano, 113b, Madrid 28006 (Spain) http://juanjose.garciaripoll.googlepages.com --vRanger cuts backup time in half-while increasing security.With the market-leading solution for virtual backup and recovery, you get blazing-fast, flexible, and affordable data protection.Download your free trial now. http://p.sf.net/sfu/quest-d2dcopy1___Ecls-list mailing listEcls-list@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/ecls-list--
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1___
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list


Re: [Ecls-list] Cygwin problems -- serious ones

2011-05-28 Thread Juan Jose Garcia-Ripoll
On Sat, May 28, 2011 at 10:47 PM, Anton Vodonosov avodono...@yandex.ruwrote:

 If fork() in cygwing produces non-working ECL - it's serious bug of cygwin.
 It makes sense to file a bug report to cygwin.


This seems to be known by the cygwin community, but not because of ECL but
because of other software that loads DLLs. Last message is from April

http://sourceware.org/ml/cygwin/2011-04/msg00185.html


 And create an ECL issue tracker ticket ext:run-program not working on
 cygwin because of broken form() system call which explains the reason. The
 ticket will be closed after cygwin fixes it's bug.


Will do.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
--
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1___
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list


Re: [Ecls-list] Cygwin problems -- serious ones

2011-05-28 Thread Matthew Mondor
On Sat, 28 May 2011 22:34:34 +0200
Juan Jose Garcia-Ripoll juanjose.garciarip...@googlemail.com wrote:

 What happens is that cygwin is faking fork(). Windows does not have it, so
 what Cygwin does is to reload the whole executable file and all shared
 libraries and copy the memory content to fake a duplicate of the original
 executable image. The problem is that when loading the executable file and
 the shared libraries, they have to end up at the same positions, but cygwin
 fails to do it properly and thus the copy that is produced cannot function.

When reading this I was wondering: would a mingw port be easier, using
winapi (it is simpler, more efficient with less wrapping)?  Or does the
cygwin port already make use of the cygwin-mingw cross-compiler?  Also,
is fork() in this case only used to execute the compiler?

Thanks,
-- 
Matt

--
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
___
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list