Re: [igraph] Cygwin -> Windows compilation - Current summary.
From:
Mark McClure
Subject:
Re: [igraph] Cygwin -> Windows compilation - Current summary.
Date:
Tue, 10 Mar 2009 21:57:53 -0400
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