How do I actually implement & test UTF8 functionality?
Take a look at http://www.fidelityinfoservices.com/user_documentation/GTM-Unicode/GTM_Unicode_Support.html
If you want to use utf-8 support GT.M requires that both the libicu36 and locales packages are installed *before* you install GT.M.
Also, when configuring locales you need to ensure that the en_US.UTF-8 locale is generated as this appears to be required.
If your system doesn't have these packages installed the configure script will not create a UTF-8 capable installation. If your $gtm_dist directory does not have a utf8 sub-directory then one of the above conditions was not satisfied (look at the ./configure script to find out more about what it is exactly checking for).
Two other settings to attend to after installation are the LC_CTYPE and gtm_chset environment variables.
BTW on Debian, at least, you can install the above packages using the following commands:
$sudo apt-get install libicu36
$sudo apt-get install locales
Hope that helps.
Not sure what I missed here, but I'm getting an error:
GTM-I-TEXT, Object compiled with CHSET=UTF-8 which is different from $ZCHSET
# from icu setup
# tar -xf icu4c-3_6-src.tgz
# cd icu/source
# chmod +x runConfigureICU configure install-sh
# ./runConfigureICU Linux --disable-64bit-libs --disable-threads
# gmake check
# gmake install
# from .bash_profile
if [ "$gtm_chset" = "UTF-8" ] ; then
if [ -e $gtm_dist/utf8 ] ; then
gde="$gtm_dist/mumps -r ^GDE"
# all done before install
# mumps -direct
%GTM-E-INVOBJ, Cannot ZLINK object file due to unexpected format
%GTM-I-TEXT, Object compiled with CHSET=UTF-8 which is different from $ZCHSET
Any suggestions sincerely appreciated!
The binaries built for M code by M and UTF-8 mode differ. This is why there is a utf8 subdirectory from the base gtm_dist that you choose. Was ICU installed before you installed GTM? If not, then the UTF8 install was not done. Try reinstalling GTM and verify there is a populated utf8 directory..
I apologize. It has been pointed out that I misread your post and answered the wrong issue.
You evidently did get a good UTF8 build or the UTF8 binaries would not exist. But something set/reset gtm_chset prior to you invoking GTM so it started in M mode. The gtm_chset environment variable is THE trigger for what mode the mumps binary starts in so must be set every time. So both pieces have to be set correctly: gtm_dist has to point to the utf8 subdirectory *and* gtm_chset must be set to "UTF-8". If only one is set (one way or the other), you will get the invalid object mismatch error..
Ah, just noticed in your script above you are exporting "gtmchset" instead of "gtm_chset" .. that would do it.. Hope all works out well for you..
It was an exhausting day yesterday. It was the gtm_chset export typo that was killing me. It works great now!
Yes, that helped.
Installing libicu-dev is the only package that is needed now on Debian, however you may still need to configure the en_US.UTF-8 locale if your default locale is not en_US.
To do this you need to run:
$ sudo dpkg-reconfigure locales
and include en_US.UTF-8 in the list of selected locales.
If you don't do this then you get the following message:
WARNING: UTF8 locale not found. Not installing Unicode support.
when running . ./configure to install GT.M
Log in to post a comment.