Re: Dillo on Cygwin/X
Jorge Arellano Cid <[email protected]>
| Newsgroups | gmane.comp.web.dillo.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Stephan,
Sorry for the delayed answer. I've been quite busy these days...
On Fri, Oct 14, 2011 at 12:54:56PM +0200, Stephan Götter wrote:
> Hello,
>
> I just gave Dillo another try on Cygwin/X11 and got it working at
> least partially with cygwin 1.7.9.
Ack.
Disclaimer: I haven't used cygwin, nor developed in a Win* platform,
but have read about the socket portability problems between Win* and
POSIX before.
> You need to compile FLTK using Cygwin libraries and X11:
> ./configure --enable-cygwin --enable-x11 && make install
>
> Because the dpis are installed with ".exe" extension (eg
> hello.dpi.exe) they aren't found by dpid. The extension is added by
> automake: http://www.gnu.org/s/hello/manual/automake/EXEEXT.html
> The Makefiles look like this: bookmarks_PROGRAMS = bookmarks.dpi$(EXEEXT)
>
> I don't know how to break automake of doing this for the dpis only, so
> I modified dpid to use .exe-extension on cygwin (see attached patch).
> After starting the XServer (/usr/bin/XWin -multiwindow) you can run
> Dillo. Plain browsing with http using proxy and the bookmark & cookie
> dpis does work. The other dpi currently fail.
>
> - hello-dpi shows the dialog and without pressing any button the
> resultpage (Answer received: Window was closed). After pressing Yes
> dpid logs "ERROR: [a_Capi_dpi_send_data] No open connection found"
> - vsource just crashes
> - file, ftp and https can't connect:
> Dpi_get_server_port: can't read server port from dpid.
> ** ERROR **: dpi.c: can't start dpi daemon
At first sight it looks like dpi "servers" work and dpi "filters" not.
Except for the file dpi which is a dpi "server". Does the download dpi
work for you?
> Looks like the socket implementation of cygwin still has some quirks
> which can maybe tracked down.
Could be. This is a very complex area (e.g. fork [1]).
On POSIX I've implemented dpis at least like:
* filter
* servers
* select based
* threaded
* forked
and it's very tricky to get them to work reliably across different
platforms/OSes.
If we were to find a way to make it work (for instance with dpi servers)
it may be worth to switch dpi filters to servers.
> Is there any interest to support this target on a source code basis?
I'd like to have a way to run dillo on Win*, but not sacrificing
current portability [2], nor having to write a completely different
code path for Win*.
An API that works in both would be a good solution. For instance,
we know that some dpi servers already work in Win* (with cygwin).
There may even be a way to achieve it natively, and I seem to
recall the FLTK3 team had this in mind. It would be more than
worth to ask them about their plans on the subject.
Again, as I'm not a Win* developer, I don't qualify
to lead this effort on the Win* side.
HTH.
[1] http://cygwin.com/faq/faq-nochunks.html#faq.api.fork
[2] http://www.dillo.org/Compatibility.html
--
Cheers
Jorge.-