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.-
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.