{9} Solve problems from dll hell
Congratualations, you have just experienced what is commonly referred to as "dll hell" on windows.
Unfortunately windows suffers from dll version conflicts if you have have installed software that provides their own version of iconv.dll. I ran into this problem myself with GtkD... unfortunately, I've lost track of the forum post where I discussed it.
This is not really gtkd's fault. What is happening is that the iconv.dll in your Gtk+ install directory is not being loaded because some older version is already in memory, having been loaded by some other piece of software running on your system. The result is that the Gtk+ dll's try to use the already loaded iconv.dll and find it lacking. Examples of other software that use iconv.dll are dsss (which actually uses libiconv2.dll, so that shouldn't be the problem), svn, cvs (NT), git, and many others.
So what you've got to do is find out which of these pieces of software is loading their own iconv.dll first when your system starts up. Usually one these programs is put in your environment path first...so there search directory is the first to be searched for dll or exe dependencies (by the system). You can prevent that particular iconv.dll from being the first to load if you rearrange your PATH environment variable such that the GTK runtime directory (the "lib" directory for most recent versions: it has all the dll's in it) is moved before all other instances in the PATH. This will cause the system to look at iconv.dll in the GTK path first and thus the most up to date version will be accessed first by the other GTK dll's
If this sounds like a royal pain, you'd be right. It's not GtkD's fault, it's the pathetic name/version handicap of the Win32 dynamic library system. I'm not quite sure of a solution for this one. GtkD could possibly help diagnose the problem by doing some tricky investigation in the dll, but I'm really not sure how reliable that will be.
Incidentally, if you're curious to know how many different versions of iconv.dll you have on your system, try doing a windows search with that file name. You might be surprised.
I hope that helps a bit. There's a bunch of us here that are really hoping to make GtkD a good, solid package. We are intent on making things work well and cleanly... but it's an uphill battle and we're just starting to roll.
-JJR
