Instructions to build Gnumeric

As Performed by Ryan Pavlik, on Windows XP, checked out on October 4 2004 from cvs.gnome.org

Install MSYS, MingW, GNU MAKE, all the prepackaged installers from mingw.org

Check out files from gnome cvs

gnome-common

gnumeric

libgnomeprint

libgnomeprintui

libgsf

libxml2

Get the latest development package from gladewin32.sf.net and install it, making sure it detects your msys

Bring MSYS up to full utility

Install MSYS-DTK

install updated tools from mingw into msys root dir

libtool

autoconf

automake

Download Intltool 0.27.2 from GNOME CVS and untar in the dir of your cvs checkouts.

You should be able to run export ACLOCAL_FLAGS=$ACLOCAL_FLAGS\ -I\ /local/share/aclocal upon each new instance of MSYS or put it in I belive the .profile, but I didn't test that. Should work the same in theory.

?? (see hold below) Install Expat for perl's XML::Parser ( http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277 )

Build Deps in MSYS.

In gnome-common

./autogen.sh

make

make install

In libxml2 (SKIP DOWN, using precompiled.)

./autogen.sh

make

error!

d:/src/gnomecvs/libxml2/xmllint.c:289: undefined reference to `_imp__xmlFree'

xmllint.o(.text+0x2ac):d:/src/gnomecvs/libxml2/xmllint.c:286: undefined reference to `_imp__xmlFree'

xmllint.o(.text+0x4a6): In function `myStrdupFunc':

d:/src/gnomecvs/libxml2/xmllint.c:358: undefined reference to `_imp__xmlFree'

xmllint.o(.text+0x5fc): In function `xmlHTMLEncodeSend':

d:/src/gnomecvs/libxml2/xmllint.c:510: undefined reference to `_imp__xmlFree'

xmllint.o(.text+0x2067): In function `parseAndPrintFile':

d:/src/gnomecvs/libxml2/xmllint.c:1347: undefined reference to `_imp__xmlFree'

make[2]: *** [xmllint.exe] Error 1

Panic, install from binary from http://www.zlatkovic.com/libxml.en.html so as to be spared the ridicule of mg (extract to mingw root dir)

In libgsf

./autogen.sh

HOLDUP (libgsf ./autogen.sh): needs gtk-doc

(NOT AT THE MOMENT, SEE BELOW) In intltool

perl -MCPAN -e 'shell' (unblock ftp or perl in Windows Firewall if prompted) (during this process, defaults should be ok, so hitting enter is allowable)

install Bundle::CPAN

reload cpan

install Bundle::libnet

install XML::Parser

HOLDUP (perl for intltool): needs expat for XML::Parser for intltool

./autogen.sh

In intltool-0.27.2

./configure

make

make install

In libgnomeprint

ACLOCAL_FLAGS=$ACLOCAL_FLAGS\ -I\ /local/share/aclocal ./autogen.sh

HOLDUP (lgp make): Error

gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../libgnomeprint "-Ic:/PROGRA~1/COMMON~1/GTK/2.0/include/glib-2.0" "-Ic:/PROGRA~1/COMMON~1/GTK/2.0/lib/glib-2.0/include" "-Ic:/PROGRA~1/COMMON~1/GTK/2.0/include/libart-2.0" "-Ic:/PROGRA~1/COMMON~1/GTK/2.0/include/pango-1.0" -Ic:/GTK24/include -I/cygdrive/c/GTK24/include/freetype2 -I/cygdrive/c/GTK24/include "-Ic:/PROGRA~1/COMMON~1/GTK/2.0/include/libxml2" "-Ic:/PROGRA~1/COMMON~1/GTK/2.0/include" "-I/C/PROGRA~1/COMMON~1/GTK/2.0/include/freetype2" "-I/C/PROGRA~1/COMMON~1/GTK/2.0/include" -DBINDIR=\"/usr/local/bin\" -DDATADIR=\"/usr/local/share\" -DGPA_MODULES_DIR=\"/usr/local/lib/libgnomeprint/2.8.1/modules\" -DGPA_DATA_DIR=\"/usr/local/share/libgnomeprint/2.8.1\" -DNO_MAPPERS -DNO_TYPE3 -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -g -O2 -MT ttcr.lo -MD -MP -MF .deps/ttcr.Tpo -c ttcr.c -DDLL_EXPORT -DPIC -o .libs/ttcr.o

ttcr.c:48:21: sys/uio.h: No such file or directory

make[3]: *** [ttcr.lo] Error 1

Build Gnumeric Itself

cd into the directory

NOCONFIGURE=1 ./autogen.sh

./configure --without-gnome --disable-ssconvert

make

Voodoo talk from the mgsta

<mg> whuh?

<mg> uh, sure... just as long as msys binaries are unpacked to msys, and mingw to mingw, and you dont mix them up, and bin to bin, share to share, lib to lib, etc

<rp> ok.

<rp> that's what I thought, but I want to make sure this doesn't result in me having to wipe away my mingw/msys. it was a minor bother to get it all working in the first place.

<mg> nothing's a minor bother on windows

<rp> There, now just the intltool

<rp> mg: why, because billy makes everything so easy to use?

--- mg is now known as mgA

--> jody_lap (~jody@CPE0000e8e169cd-CM400049342024.cpe.net.cable.rogers.com) has joined #gnumeric

--- Burrito gives channel operator status to jody_lap

<rp> Cpan just installed 17 perl modules. XML::Parser won't install because it wants Expat. Does this mean I need both libxml2 (for gnumeric) and Expat (for XML::Parser for intltool)?

<jody_lap> rp: yes

<rp> hmm. That's interesting. OK, off to get that.

<greg> rp: pretty much. Don't you love redundancy?

<rp> greg: lol

<rp> I just wish it could use libxml2 - binaries for that weren't too hard to find.

<rp> Especially when mgA finds them for you

<mgA> rp: yeah, I just use activestate for that.

<rp> mgA: oh man

<rp> I'm trying it with the official win32 expat binaries...

<rp> guessing at location

<mgA> rp: if you can get expat to build though, more power to ya

* mgA couldnt

<mgA> (when I tried to cpan from mingw)

<rp> mgA: where would the "standard library locations" that I could dump expat bins into be?

<-- JHM has quit (Read error: 78 (Connection timed out))

<mgA> eh?

<mgA> wherever perl wants them

<mgA> cpan tried to build it for me

<mgA> but dlls and exes in bin, libs in lib

<rp> what about .h?

<mgA> include

<rp> ok

<mgA> (do realize that I have not done whatever it is you're doing, and my advice like gpled software comes with no warranty or guarantee of fitness for a specific purpose)

<rp> mgA: that's fine.

<rp> I really don't feel like draggin activestate perl into this, but I fear I may have to.

<rp> I have it installed so I can play FrozenBubble, though, so it's here, just dormant.

<rp> mgA: my howto on this in abi is now about 2 pages so far, and I haven't even gotten all the deps built.

<rp> If you have a pointer to a place where I can read how to get activestate perl playing correctly so I can buidl the darn intltool, i'd surely read it and let you get back to your homework.

<mgA> rp: I downloaded and installed mingw and msys, upgraded libtool, downloaded gtk and friends from tor, ran configure and make in lgp, lgpui, lgsf, and configured with ms-bitfields, nognome, nossconvert in gnumeric, and made. It works when it doesnt fail building pixmaps

<rp> wow.

<mgA> rp: I installed activestate and then ran in gnumeric/ 'PATH="/path/to/Perl/bin:$PATH" CFLAGS="..." ./configure --without-gnome --disable-ssconvert --prefix=/path/to/someplace'

<rp> you must just have some crazy voodoo in your setup, i'm ultimately stumbling over intltool to compile lgp

<rp> alrighty. Well, I'm gonna copy and paste this, and see if I can get this crazy thing to go

<mgA> mind you I havent built lgp in a few weeks, it stopped liking my auto* setup.

<rp> that may be the voodoo there.

<mgA> dont copy and paste that, it wont work

<mgA> you'll have to replace things like /path/to with the actual paths

<mgA> and ... with the appropriate values (-:

<rp> I mean into my documentation abi here.

<rp> :)

<mgA> ah

<mgA> (-: