gaim/www

people are dense
WITH_GTK12_ANSWERS
2004-01-19, Luke Schierer
522b8ea7e1b3
people are dense
<?php
require "base.inc.php";
start_html("Windows Development");
start_section("Latest Build");
?>
Grab the latest <a href="http://prdownloads.sourceforge.net/gaim/gaim-<?php print $current_win32_version; ?>.exe">Windows build (v<?php print $current_win32_version; ?>)</a>, or if you already have GTK+ v<?php print $current_win32_gtk_version; ?> rev <?php print $current_win32_gtk_revision; ?> installed grab <a href="http://prdownloads.sourceforge.net/gaim/gaim-<?php print $current_win32_version; ?>-no-gtk.exe">Windows Gaim without GTK+</a>. Read below to see how to get Gaim from CVS and build it yourself.<BR>
<BR>
For those interested, here is the Windows Gaim <a href="ChangeLog.win32">ChangeLog.win32</a>. It includes information on GTK+ fixes affecting Win Gaim.<BR>
<BR>
Windows Gaim users are encouraged to congregate in #wingaim on irc.freenode.net.<BR>
<BR>
<b>Translations</b> for the WinGaim Installer are needed for the following languages:<BR>
Catalan, Finnish, Hebrew, Japanese, Norwegian and Slovak.<BR>
If you would like to help please contact <a href="mailto:hermanator12002@yahoo.com">Herman</a>.
<?php end_section() ?>
<?php start_section("Win Gaim Latest News")?>
I will try to keep this section updated with responses to major bugs or frequently asked Win Gaim questions. (This is an attempt to avoid duplicate bug reports)<br>
<h3>FYI</h3>
<ul>
<li>
<b>What happened to the Gaim systray icon?</b> - As of 0.65 systray functionality has moved into the docklet plugin, labeled "System Tray Icon" in Gaim's plugins section (under Preferences). You will need to load this plugin for the systray features to work.
</li>
<li>
<b>GTK+ Runtime Installer <?php print $current_win32_gtk_version; ?> rev <?php print $current_win32_gtk_revision; ?></b> - This release fixes: The Clipboard bug (finally). My move/size patch is replaced by the official fix (sizing responsiveness is slow). You may download the standalone GTK+ runtime installer: <a href="gtk-runtime-<?php print $current_win32_gtk_version; ?>-rev-<?php print $current_win32_gtk_revision; ?>.exe">gtk-runtime-<?php print $current_win32_gtk_version; ?>-rev-<?php print $current_win32_gtk_revision; ?>.exe</a>.
</li>
<li>
<b>How does Win Gaim determine which language to use?</b> - Win Gaim will use the language selected during installation. This, however, can be overridden by setting the LANG environmental variable (for example LANG=de). If either of these methods fail, Win Gaim will fall back to the default Windows user locale setting.
</li>
<li>
<b>Where are my Gaim settings saved?</b> - As of 0.69, shfolder.dll is used to determine the location for a user's app data. On Windows ME this will be something like "C:\WINDOWS\Profiles\username" and on Win 2k/XP "C:\Documents and Settings\username\Application Data". This can be overridden by setting the HOME environmental variable.
</li>
<li>
<b>GTK+ default font setting</b> - To change your default font and/or size, edit your gtkrc file (located in your GTK\2.0\etc\gtk-2.0 dir), with the font name and size of your choosing. For example:<BR>
gtk-font-name="sans 8"
</li>
<li>
<b>Native Windows look and feel</b> - GTK is themable, which means that you can change colors, fonts and how the actual widgets are drawn. The Gaim installer, gives you the choice of installing one of 3 GTK+ themes. If you choose GTK-Wimp, Gaim will look and feel like a normal Windows application (including on XP). To switch back to no theme or to change the theme just run the Gaim installer again and pick a different theme. You can visit the gtk-wimp site at <a href="http://gtk-wimp.sf.net">http://gtk-wimp.sf.net</a>
</li>
<li>
<b>Win Gaim Smiley Themes</b> - You can drag and drop the <a href="http://gaim.sourceforge.net/themes.php">Smiley Themes</a> into Win Gaim. Simply download a theme to your machine (i.e. to your Desktop), bring up the Smiley theme list in Gaim's Preferences, and then drag and drop the saved theme into the Smiley themes list. You do not need to keep the file you downloaded.
</li>
</ul>
<h3>Major Win Gaim bugs and Workarounds</h3>
<ul>
<li>
<b>DLL Hell and Win Gaim</b> - A very common but very unpleasant Windows SNAFU (known as DLL Hell) has been experienced by many Win Gaim users.<BR><BR>
<b>Symptom:</b> Win Gaim crashes routinely on startup (but not neccessarily just on startup).<BR><BR>
<b>Cause:</b> Dlls with the same name as those that Gaim uses are found in the dll search path and are used instead of those installed by Gaim, likely causing Gaim to malfunction. This can happen when application developers install their dlls to Windows system directories. The most commonly used dll to cause dll hell is zlib.dll.<BR><BR>
<b>Solution</b>: As of 0.72, depending on the windows version Gaim will either change working directory before loading gaim.dll, or will use SetDllDirectory.<BR><BR>
Why did we move to using the GTK installer? More and more GTK apps are being ported to Windows, and rather than having each app install its own copies of the GTK dlls, it is better that GTK is installed in a common location to avoid having many duplicates of the same dll. There is more in-depth info about DLL Hell in <a href="http://www.desaware.com/Articles/DllHellL3.htm">this article</a>.<BR><BR>
Bug report <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=715975&group_id=235&atid=100235">#715975</a> is one instance of the problem just described. There are more..<BR>
</li>
</ul>
<?php end_section() ?>
<?php start_section("Unattended Installations")?>
<h3>Unattended Installations</h3>
As of 0.73, unattended installations are possible. Simply do the following:<BR><BR>
<code>
gaim-<?php print $current_win32_version; ?>.exe /L=1033 /S /D=C:\Gaim<BR><BR>
</code>
Make sure to leave the '/D' flag for last. The '/L' flag sets the language (Windows LCID) used by the uninstaller, as well as Gaim itself. You may ommit both the '/L' and '/D' flags and use the defaults which are 1033 (English) and 'C:\Program Files\Gaim' respectively. The same applies to non-gtk versions. If you need to specify the GTK+ install path (Default is 'C:\Program Files\Common Files\GTK\2.0'), then download the latest GTK installer from above, and do the following:<BR><BR>
<code>
gtk-runtime-<?php print $current_win32_gtk_version; ?>-rev-<?php print $current_win32_gtk_revision; ?>.exe /L=1033 /S /D=C:\GTK+<BR>
gaim-<?php print $current_win32_version; ?>-no-gtk.exe /L=1033 /S /D=C:\Gaim<BR>
</code>
<?php end_section() ?>
<?php start_section("Gaim Spell Checking")?>
<h3>Aspell and Aspell dictionary installers</h3>
I will no longer support the aspell and aspell dict installers that I had previously posted here. From now on, Gaim will use the win32 aspell distribution from <a href="http://aspell.net/win32">aspell.net/win32</a>. To make use of Win Gaim's spell check feature you will need to download and install the aspell installer and at least one language dictionary. If you choose not to install Aspell, Gaim will still work. Gaim will also work with Aspell from previous Gaim installations.
<?php end_section() ?>
<?php start_section("Perl Plugin Support")?>
<h3>Perl Plugins</h3>
To enable Perl Plugins in Win Gaim, you need to download and install <a href="http://www.activestate.com/Products/Language_Distributions/">ActivePerl</a> 5.8, before installing Gaim (v0.69 and higher). If Gaim complains about not finding 'perl58.dll', add the Perl bin dirctory to your PATH.
<?php end_section() ?>
<?php start_section("TCL Plugin Support")?>
<h3>TCL Plugins</h3>
To enable TCL Plugins in Win Gaim, you need to download and install <a href="http://www.activestate.com/Products/Language_Distributions/">ActiveTCL</a> 8.4.5.0. Unlike Perl, you may install TCL after Gaim has been installed.
<?php end_section() ?>
<a name="debug"></a>
<?php start_section("Debugging Windows Gaim")?>
<h3>What to do if Gaim crashes</h3>
First make sure that you are not affected by 'Dll Hell' as described above. Download and install the <a href="http://prdownloads.sourceforge.net/gaim/gaim-<?php print $current_win32_version; ?>-debug.exe">debug version of WinGaim <?php print $current_win32_version; ?></a>. The next time you run Gaim and it crashes, the call stack will be dumped to gaim.RPT in your Gaim install dir. When submitting a bug report, give a detailed description on how to produce your bug and attach the most recent crash dump from your gaim.RPT file.
<?php end_section() ?>
<?php start_section("Build Instructions") ?>
<h3>Set up your build environment</h3>
<ul>
<li>Install <a href="http://cygwin.com">Cygwin</a> Bash shell. Make sure to select Unix file mode during setup.</li>
<li>Install <a href="http://www.mingw.org">MinGw v3.0 or higher</a>.<br>
You will need to set MinGw's bin directory before Cygwin's in your PATH.<br>
For Example (You can add the following to ~/.bash_login):<br><br>
<code>
export PATH=/cygdrive/c/MinGW/bin:$PATH<br><br>
</code>
You do not want to use any of Cygwin's build tools, with one exception, you need to use Cygwin's make utility. If typing 'which make' produces MinGW's make utility, then just rename the make.exe in the MinGW bin directory to something else, so that cygwin's make utility will be used instead.
</li>
<li>
The following instructions were written under the assumption that you checkout Gaim from the cvs repository to ~/gaim and that you install all of Gaim's build dependencies under ~/win32-dev (the point being that the gaim and win32-dev directories should be on the same level).
</li>
</ul>
<h3>Install Gaim's build dependencies</h3>
<h3>GTK+</h3>
Gaim depends on GTK+ <?php print $current_win32_gtk_version; ?>. For your convenience I have included all of GTK's dependencies in one tarball. Extract <a href="gtk-dev-<?php print $current_win32_gtk_version; ?>.tar.gz">gtk-dev-<?php print $current_win32_gtk_version; ?>.tar.gz</a> from within ~/win32-dev. If once built you wish to run Gaim from the win32-install-dir dir, you will need to make sure that you have installed the GTK+ runtime, and make sure that its bin dir is in your PATH. Visit the <a href="http://www.gtk.org">GTK+ website</a> for official binary and source releases.
<h3>Perl 5.8</h3>
Install Perl 5.8 for Windows (I use <a href="http://www.activestate.com/Products/Language_Distributions/">ActivePerl</a>), to C:\Perl. If you install Perl anywhere else, you will need to change the PERL variable in gaim/plugins/perl/common/Makefile.mingw. You will also need to install <a href="perl58.tar.gz">perl58.tar.gz</a> under ~/win32-dev (Containing altered headers and import lib).
<h3>Tcl 8.4.5</h3>
Download and extract <a href="tcl-8.4.5.tar.gz">tcl-8.4.5.tar.gz</a> to win32-dev.
<h3>GtkSpell / Aspell</h3>
Download the following development packages for GtkSpell and Aspell, and extract them under win32-dev:<br/>
<ul>
<li><a href="http://aspell.net/win32/files/aspell-dev-0-50-3-3.zip">aspell-dev-0-50-3-3.zip</a></li>
<li><a href="gtkspell-2.0.4.tar.gz">gtkspell-2.0.4.tar.gz</a></li>
</ul>
If you wish to build gtkspell for windows (not neccessary for building Gaim), download and extract the following file from within your gtkspell-2.0.4 source directory:
<ul>
<li><a href="gtkspell-2.0.4_win32_dev.tar.gz">gtkspell-2.0.4_win32_dev.tar.gz</a></li>
</ul>
<h3>Mozilla NSS</h3>
Download and unzip the following under ~/win32-dev (make sure you 'chmod 755' all the unziped binaries):
<ul>
<li>
<a href="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_9_RTM/WIN954.0_OPT.OBJ/nss-3.9.zip">Network Security Services (NSS)</a>
</li>
<li>
<a href="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.4.1/WIN954.0_OPT.OBJ/nspr-4.4.1.zip">Netscape Portable Runtime (NSPR)</a>
</li>
</ul>
<h3>Get the Gaim source code</h3>
<ul>
<li>Sources are in <a href="http://gaim.sourceforge.net/cvs.php">CVS</a></li>
<li><a href="http://prdownloads.sourceforge.net/gaim/gaim-<?php print $current_win32_version; ?>.tar.gz">Windows Gaim v<?php print $current_win32_version; ?> sources</a></li>
</ul>
<h3>Build Gaim</h3>
<code>
$ cd ~/gaim<br/>
$ make -f Makefile.mingw install</code><br/><br/>
Now just wait and let your compiler do its thing. When finished, Gaim will be in ~/gaim/win32-install-dir<br/><br/>
<h3>Build Gaim Installer</h3>
If you want to build the Gaim installer, do the following:
<ul>
<li>
Grab and install <a href="http://prdownloads.sourceforge.net/nsis/nsis20b4.exe?download">NSIS v2.0 b4 final release</a>. Include NSIS to your PATH.<BR>
For info on the NSIS installer, visit the <a href="http://nsis.sourceforge.net">NSIS website</a>.
</li>
<li>
Make sure to download and install the <a href="http://nsis.sourceforge.net/archive/nsisweb.php?page=248&instances=0,32">AccessControl plugin</a>.
</li>
<li>
Grab <a href="gtk-<?php print $current_win32_gtk_version; ?>-rev-<?php print $current_win32_gtk_revision; ?>-installer.tar.gz">gtk-<?php print $current_win32_gtk_version; ?>-rev-<?php print $current_win32_gtk_revision; ?>-installer.tar.gz</a> and extract it to ~/ (or whichever directory you have the gaim dir in). From within the new gtk_installer directory, type ". build.sh" (this builds the GTK+ runtime installer, which the Gaim installer will include).
</li>
<li>
Grab <a href="gaim-inst-deps.tar.gz">gaim-inst-deps.tar.gz</a> and extract under ~/win32-dev.
</li>
</ul>
Now do the following:<BR><BR>
<code>
$ cd ~/gaim<br/>
$ make -f Makefile.mingw installer<br/>
</code>
<?php end_section() ?>
<?php start_section("Debugging")?>
There is a quite good <b>Just In Time</b> debugger for MinGw: <a href="http://mefriss1.swan.ac.uk/~jfonseca/gnu-win32/software/drmingw/">drmingw</a>
<?php end_section() ?>
<?php
end_html();
?>