Compiling dia for win32 using MSVC6 (on Win2k)


This belongs in the thread `dia 0.91 for win32 cant read settings'.
Unfortunately I've just joined the list, so I can't reply to one of
those messges.

This is probably of interest to Ben Hetland, who was having trouble
compiling dia for win32 using MSVC6 (on Win2k), and to Steffen Macke,
whose instructions I used (with some modifications) to do this.


The following are the steps I took to compile dia for windows using
Visual Studio 6 (SP5) on a Windows 2000 machine:

Instructions used successfully on  Mon Mar 31 16:21:41 EST 2003  with
the current CVS sources and packages on the `dia win32 sources' page.

 o  Set the environmental variables as per Steffen's instructions.
    Mine are:
        MSVC="C:\Program Files\Microsoft Visual Studio\VC98"

 o  Grab the cvs sources. (Do `cvs co dia' in %TOP% directory.)
    ( CVSROOT=":pserver:anonymous anoncvs gnome org:/cvs/gnome" )

 o  Download all the required developer packages from:

 o  Unzip all the developer packages to the %TOP% directory.
    (Make sure `' is unzipped last.)

 o  At the prompt in Windows, type the following to set the other
    required enivronment variables:
        set LIB=%LIB%;%TOP%\lib
        set INCLUDE=%INCLUDE%;%TOP%\include
        set PATH=%PATH%;%TOP%\bin

 o  There is a problem with `configure_dia_msvc.bat';
    The line `move glib-2.2.1 glib' ends up moving the entire
    glib-2.2.1 directory into the glib directory. 
    What should really happen is the two files in the `glib'
    tree (`make.msc' and `modules.def') should be copied over
    the ones in the `glib-2.2.1' tree and that tree then 
    renamed to `glib'.
    To fix this I replace the line:
            move glib-2.2.1 glib
    with the lines:
            move /Y glib\build\win32\* glib-2.2.1\build\win32
            rmdir /S /Q glib
            rename glib-2.2.1 glib

 o  Run modified `configure_dia_msvc.bat' in %TOP%

 o  Run the compilations commands under ``6. Compilation'' in
    Steffen's instructions.

 o  Finally, run `nmake makefile.msc' in the %TOP%\dia directory.
    It bombs out because it can't find `libiconv.dll' and
    `libcharset.dll' in the %TOP%\bin directory.
    To fix this I copy the `iconv.dll' and `localcharset.dll' files
    from the %TOP%\libiconv-1.8-w32-1.bin to the %TOP%\bin directory
    and rename them to `libiconv.dll' and `libcharset.dll'
    I then run `nmake makefile.msc' in the %TOP%\dia directory and it
    runs fine.

 o  We should now be able to run dia from %TOP%\dia\build\win32\bin,
    unfortunately there are still some issues.  When we execute it we
    find the following DLLs are missing:
    (On the right is the place I copied each from to fix the problem.)
        libintl.dll               %TOP%/bin
        libintl-1.dll             the binary distribution of dia
        iconv.dll                 %TOP%/libiconv-1.8-w32-1.bin

 o  This done, dia runs but the console shows the following error:
    (dia.exe:1916): Gtk-CRITICAL **: file gtkmenuitem.c: line 403
    (gtk_menu_item_activate): assertion `GTK_IS_MENU_ITEM (menu_item)'

    Then, if you click `File -> Sheets and Objects...' it tries to
    dereference a NULL pointer and crashes.  The solution to this is 
    to copy the `shapes' and `sheets' directories from the win32 binary
    distribution of dia to the %TOP%\dia\build\win32 directory.
 o  It works!

I'm not sure my little hacks are the correct solutions to some of these
problems.  Steffan, I'd be interested for you to comment on this.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]