[Unison-hackers] Problem building unison under cygwin

Andrew Schulman andrex at alumni.utexas.net
Wed Jun 2 10:20:33 EDT 2010


> On Wed, Jun 02, 2010 at 07:44:51AM -0500, Gene Horodecki wrote:
> > On 06/02/2010 3:14 AM, Jerome Vouillon wrote:
> > > On Tue, Jun 01, 2010 at 11:12:48PM -0500, Gene Horodecki wrote:
> [...]
> > >> Cannot load required shared library dllstr.
> > >> Reason: dynamic loading not supported on this platform.
> > >
> > > Could you try the attached patch?  It should fix your problem.
> >
> > I didn't seem to get an attachment?
> 
> Sorry, I forgot about it...

I've also just been trying to build unison 2.40 for Cygwin, with
UISTYLE=text.  Jerome, your patch gets past the first problem, but the
build fails later with

ocamlopt: system/system_win_stubs.c ---> system/system_win_stubs.o
ocamlopt -I lwt -I ubase -I system -I system/win -I lwt/win -ccopt "-o
"./system/system_win_stubs.o -c ./system/system_win_stubs.c
./system/system_win_stubs.c:19: error: expected specifier-qualifier-list
before 'SOCKET'
./system/system_win_stubs.c: In function 'copy_wstring':
./system/system_win_stubs.c:31: warning: implicit declaration of function
'wcslen'
./system/system_win_stubs.c: In function 'w_create_process_native':
./system/system_win_stubs.c:453: warning: unused variable 'h'
make[1]: *** [system/system_win_stubs.o] Error 2

I've tried removing system_win_stubs.c from Makefile.OCaml, by the patch
below.  But the linking step fails with:

No implementations provided for the following modules:
  System_win referenced from system/win/system_impl.cmx

Any ideas?

One thing to know is that in Cygwin we're still stuck with ocaml 3.08.1
ATM.  Several people have tried to build a later version for Cygwin, but
it's a bear and no one has managed it yet.  Could the build failure be
because of anything missing in ocaml 3.08.1?

Andrew.

diff -urN unison-2.40.16.orig/Makefile.OCaml unison-2.40.16/Makefile.OCaml
--- unison-2.40.16.orig/Makefile.OCaml  2010-04-15 13:29:31.000000000 -0400
+++ unison-2.40.16/Makefile.OCaml       2010-06-01 12:07:24.493984400 -0400
@@ -120,8 +120,8 @@
   ifeq ($(OSARCH),win32gnuc)
     CWD=.
     EXEC_EXT=.exe
-    COBJS+=system/system_win_stubs$(OBJ_EXT) lwt/lwt_unix_stubs$(OBJ_EXT)
-    WINOBJS=system/system_win.cmo
+    COBJS+=lwt/lwt_unix_stubs$(OBJ_EXT)
+    WINOBJS=
     SYSTEM=win
     CLIBS+=-cclib win32rc/unison.res.lib
     STATIC=false                      # Cygwin is not MinGW :-(



More information about the Unison-hackers mailing list