libiconv-1.9.2-1 package
libiconv.lib produce linking by ordinals with DLL, but ordinals are "shifted" in release. In short, instead call of iconv_open - i have call iconv_close !!
libiconv2.def say me:
EXPORTS
DllGetVersion @ 1 ;
_libiconv_version @ 2 DATA ;
aliases2_lookup @ 3 ;
aliases_lookup @ 4 ;
libiconv @ 5 ;
libiconv_close @ 6 ;
libiconv_open @ 7 ;
libiconv_relocate @ 8 ;
libiconv_set_relocation_prefix @ 9 ;
libiconvctl @ 10 ;
libiconvlist @ 11 ;
locale_charset @ 12 ;
But, dumpbin say me another:
Dump of file c:\Program Files\GnuWin32\bin\libiconv2.dll
File Type: DLL
Section contains the following exports for libiconv2.dll
00000000 characteristics
47DAFA6A time date stamp Sat Mar 15 01:21:30 2008
0.00 version
1 ordinal base
13 number of functions
13 number of names
ordinal hint RVA name
1 0 00016C40 DllGetVersion
2 1 00018000 _libiconv_version
3 2 00015BD8 aliases2_lookup
4 3 00015AC4 aliases_lookup
5 4 0001648C iconv_canonicalize
6 5 0001619C libiconv
7 6 000161EC libiconv_close
8 7 00015C18 libiconv_open
9 8 00016914 libiconv_relocate
10 9 000167B0 libiconv_set_relocation_prefix
11 A 00016200 libiconvctl
12 B 00016380 libiconvlist
13 C 000166E0 locale_charset
(IMHO: linking by ordinals is sucks....)
This is not caused by linking by ordinals. The libiconv.dll.a is for libiconv-1.9.2, but the libiconv2.dll is for libiconv-1.12. The port of 1.12 has not yet been released, but apparently it is already installed as a dependency of some other package. But still, it is a bug. In the meantime, use the libiconv2.dll from 1.9.2-1.