[freetds] Failure in iconv.c

ZIGLIO, Frediano, VF-IT Frediano.Ziglio at vodafone.com
Mon Oct 11 05:55:49 EDT 2004


> 
> I'm running the iodbctest.c test program sucessfully on one 
> host machine with freetds' odbc driver.  The host is a Sun 
> Solaris platform.
> 
> I tried to copy the test program and all relevent libraries 
> to another Sun Solaris based host, i.e., without doing a 
> build of the iodbc or freetds packages.  (The two machines 
> are not totally identical, but run the same OS version). The 
> program starts up, seems to find all the relevent libraries, 
> driver, and config files, but it dies in freetds' iconv.c 
> routine.  Here's the error:
> 
> iconv.c:343: failed assertion `ret == 0'
> Abort(coredump)
> 
> I looked at that module's source code and didn't really 
> understand what it was doing.   
> 
> Is it possible to do what I'm trying to do, i.e., copy an 
> application without building the packages on the target 
> machine?  Perhaps with some other configuration parameter, 
> variable, or file?
> 
> Thanks in advance for any help you can give,
> Gary

Probably "source" machine have more iconv packages (like in HP-UX in
Solaris to enable some coding you need additional  packages). FreeTDS
require these charset:
- iso-8859-1
- ucs-2
- utf-8
names can changes system by system but FreeTDS does a nice job to
discover the real name. You can also compile using a partial but
sufficient iconv implementation using --disable-libiconv. This option
it's used by Bill Thompson (FreeTDS developer using Solaris) so it
should work for you. Keep in mind however that this stripped iconv
support only utf-8, ucs-2 and iso-8859-1 so if you want to use
no-english/west european (french, italian, spanish and similar)
languages (for istance cause you are russian) it's not a good choice.

freddy77


More information about the FreeTDS mailing list