Re: [igraph] Cygwin -> Windows compilation - I get it.
From:
Mark McClure
Subject:
Re: [igraph] Cygwin -> Windows compilation - I get it.
Date:
Tue, 10 Mar 2009 23:16:03 -0400
I think I get it now and my previous message was overly pessimistic. While my executable does still depend on cygigraph-0.dll, the important thing is that it *doesn't* depend on cygwin1.dll - and, therefore, virtually the whole cygwin installation. Furthermore, cygigraph-0.dll is really quite small and presumably can be distributed with my application.
I'll let you know if I come up with something useful, Mark
----- Original Message ----- From: Mark McClure <address@hidden> Date: Tuesday, March 10, 2009 9:58 pm
> Well, I've been trying quite hard for a couple of days now to > compile an igraph based program in Cygwin that will run on > Windows. My ultimate objective is to create Mathematica > interface to igraph but, if my Windows based colleagues can't > use it, there's really no point. > > Incidentally, I've been doing this in pure Cygwin - I have no > MingGW. Should I? > > At any rate, here's as close as I've got from the top. > First, cd to src/f2c and edit etime_.c and add: > #undef USE_CLOCK > #define USE_CLOCK > just before the #ifndef USE_CLOCK line. According to Tamas, > this fixes a compilation error since the MinGW runtime doesn't > have sys/times.h. Then run the following commands: > ./configure --disable-graphml --disable-gmp CFLAGS=-mno-cygwin > CXXFLAGS=-mno-cygwin > make > make install > > The -mno-cygwin flag should build the library without Cygwin > dependencies. Then, we should be able to compile a program with: > gcc -mno-cygwin name.c -I/usr/local/include/igraph -L/usr/locallib > -ligraph -o name > > Unfortunately, the resulting program still doesn't run. We can > see why by examining the DLL dependencies as follows: > $ objdump -p automorph.exe | grep "DLL Name" > DLL Name: cygigraph-0.dll > DLL Name: KERNEL32.dll > DLL Name: msvcrt.dll > > The cygigraph-0.dll dependency is still there. > > All for now, > Mark > > >