Re: ia32 emulation and locale problems
Alexander Karl Hudek <email@example.com> writes:
> I have an amd64 system on which I'm trying to run an application
> using ia32 emulation. First I installed the ia32-libs package and
> tried to run the program, but recieved this:
> Function 'iconv_open' failed for UTF-8 to ANSI conversion. The
> function may be unable to determine the current locale. Verify
> appropriate values in environment variables LC_MESSAGES, LC_ALL and
> I've checked and verified that all the locale information is set up
> correctly. The next thing I tried is to setup a 32-bit chroot
> environment and run it from there. I setup the locale inside the
> chroot identically to the locale of the main system (using localeconf
> for both). The program works here without problem.
> Sadly the program in question is a backup daemon that I'd really much
> rather run outside a chroot so that it can get access to all files on
> the system. Also, running outside the chroot provides easier startup/
> shutdown managment.
> Sadly I'm not familiar enough with the inner workings of the locale
> system to know why it doesn't work outside the chroot environment.
> Can anyone give any suggestions on how to fix this problem?
> Thanks in advance,
Locales invole loading a dynamic library from a fixed path
(/usr/lib/gconv/) and that place is already taken up by the 64bit
modules on amd64. I'm not sure if there is some environment variable
you can set to change the path but short of that only a recompiled
glibc will help. The glibc in sid is currently getting changed to
build 64bit and 32bit packages with disjunct paths that will properly
solve this problem but it will take a while longer to fix some other
issues with this change.