From mboxrd@z Thu Jan 1 00:00:00 1970 From: n0ano@indstorage.com Date: Wed, 20 Mar 2002 19:34:22 +0000 Subject: Re: [Linux-ia64] Problem with iconv_open() in 32-bit App. Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org Eric- It has always been the case that when running IA32 programs on an IA64 machine the appropriate IA32 shared libraries have to be installed. I'm not familiar with the `iconv' package but, from your description, it looks like it requires some special `.so's that have IA64 versions installed in standard directories but your RedHat 7.2 IA64 distro doesn't supply IA32 versions. The simple solution is to copy the necessary IA32 `.so's to some directory, add the fully qualified path name for that directory to the file `/etc/ld.so.conf' and then execute the program `ldconfig'. After you do those steps your IA32 program should work fine. PS: I'm a little surprised that your program actually executed and printed out an error message, I would have expected that it wouldn't even load but that's a side issue unrelated to your real problem. On Wed, Mar 20, 2002 at 02:08:04PM -0500, Eric Agar wrote: > > > I have some code that has been compiled for x86 that is not working on IA64 > -- > specifically on Redhat 7.2 running on an IA64 machine. > > Are there known problems with 32-bit applications using the iconv() > routines > on IA64? > > All the details of what I'm seeing follow. > > > THE PROBLEM > =====> > A 32-bit binary that calls the iconv_open() routine does not appear to work > on > an IA64 system. When such a program is run on the IA64 system, iconv_open > () > returns an errno value of 22 (EINVAL). The iconv_open() routine sets that > errno value when the codeset conversion being requested is not supported by > the system. > > If the program is re-compiled on the IA64 system, it will run correctly. > That > is, the iconv_open() routine will return an indication of success. > > If the codeset conversion modules from /usr/lib/gconv are ftp'ed from an > i686 > system onto the IA64 system and the GCONV_PATH environment variable is set > to point to the directory holding the ftp'ed conversion modules, the 32-bit > binary will run. > > So the root of the problem appears to be that iconv_open() causes some > shared > objects in /usr/lib/gconv to be loaded into the address space of the > program. > If the program is a 32-bit binary, the loading fails because the shared > objects in /usr/lib/gconv are 64-bit objects. > > The following section illustrates the program. The section after that > contains commentary. > > > PROBLEM ILLUSTRATION > ========== > > [01] /tmp/agar # ls -l > total 8 > drwxr-xr-x 3 root root 4096 Mar 19 17:11 ftped32 > drwxr-xr-x 2 root root 4096 Mar 19 17:03 native64 > > [02] /tmp/agar # cd native64 > /tmp/agar/native64 # ls -l > total 20 > -rwxr-xr-x 1 root root 14865 Mar 19 17:03 iconvopen > -rw-r--r-- 1 root root 318 Mar 19 17:02 iconvopen.c > > [03] /tmp/agar/native64 # cat iconvopen.c > #include > #include > #include > #include > > > int main(int argc, char **argv) > { > iconv_t cd; > > > cd = iconv_open("UTF-8", "ISO8859-1"); > > if (cd = (iconv_t)-1) { > printf("iconv_open() failed with errno %d.\n", errno); > } else { > printf("iconv_open() worked.\n"); > } > > return 0; > } > > [04] /tmp/agar/native64 # objdump -T iconvopen > > iconvopen: file format elf64-ia64-little > > DYNAMIC SYMBOL TABLE: > 0000000000000000 DF *UND* 00000000000000a0 GLIBC_2.2 > printf > 0000000000000000 DF *UND* 0000000000000020 GLIBC_2.2 > __errno_location > 0000000000000000 DF *UND* 00000000000005e0 GLIBC_2.2 > iconv_open > 0000000000000000 DF *UND* 0000000000000250 GLIBC_2.2 > __libc_start_main > > [05] /tmp/agar/native64 # ./iconvopen > iconv_open() worked. > > [06] /tmp/agar/native64 # cd ../ftped32 > > [07] /tmp/agar/ftped32 # ls -l > total 28 > drwxr-xr-x 2 root root 4096 Mar 19 17:14 gconv32 > -rwxr-xr-x 1 root root 14066 Mar 19 17:06 iconvopen > -rw-r--r-- 1 root root 318 Mar 19 17:06 iconvopen.c > -rwxr-xr-x 1 root root 54 Mar 19 17:11 iconvopen.sh > > [08] /tmp/agar/ftped32 # objdump -T iconvopen > > iconvopen: file format elf32-little > > DYNAMIC SYMBOL TABLE: > 000000000804837c w DF *UND* 0000000000000081 GLIBC_2.0 > __register_frame_info > 000000000804838c DF *UND* 0000000000000216 GLIBC_2.1 > iconv_open > 000000000804839c DF *UND* 0000000000000018 GLIBC_2.0 > __errno_location > 00000000080483ac w DF *UND* 00000000000000ac GLIBC_2.0 > __deregister_frame_info > 00000000080483bc DF *UND* 00000000000000ca GLIBC_2.0 > __libc_start_main > 00000000080483cc DF *UND* 0000000000000032 GLIBC_2.0 > printf > 00000000080483dc w DF *UND* 000000000000009d GLIBC_2.1.3 > __cxa_finalize > 00000000080485c4 g DO .rodata 0000000000000004 Base > _IO_stdin_used > 0000000000000000 w D *UND* 0000000000000000 > __gmon_start__ > > [09] /tmp/agar/ftped32 # ./iconvopen > iconv_open() failed with errno 22. > > [10] /tmp/agar/ftped32 # cat iconvopen.sh > #!/bin/ksh > > export GCONV_PATH=./gconv32 > ./iconvopen > > [11] /tmp/agar/ftped32 # ls -l ./gconv32 > total 4128 > -rwxr-xr-x 1 root root 18360 Mar 19 17:14 ANSI_X3.110.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 ASMO_449.so > -rwxr-xr-x 1 root root 124660 Mar 19 17:14 BIG5HKSCS.so > -rwxr-xr-x 1 root root 83992 Mar 19 17:14 BIG5.so > -rwxr-xr-x 1 root root 8216 Mar 19 17:14 CP1250.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 CP1251.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 CP1252.so > -rwxr-xr-x 1 root root 8088 Mar 19 17:14 CP1253.so > -rwxr-xr-x 1 root root 8152 Mar 19 17:14 CP1254.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 CP1255.so > -rwxr-xr-x 1 root root 8248 Mar 19 17:14 CP1256.so > -rwxr-xr-x 1 root root 8216 Mar 19 17:14 CP1257.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 CP1258.so > -rwxr-xr-x 1 root root 8208 Mar 19 17:14 CP737.so > -rwxr-xr-x 1 root root 8296 Mar 19 17:14 CP775.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 CSN_369103.so > -rwxr-xr-x 1 root root 8280 Mar 19 17:14 CWI.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 DEC-MCS.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-AT-DE-A.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-AT-DE.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-CA-FR.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-DK-NO-A.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-DK-NO.so > -rwxr-xr-x 1 root root 16024 Mar 19 17:14 EBCDIC-ES-A.so > -rwxr-xr-x 1 root root 16024 Mar 19 17:14 EBCDIC-ES.so > -rwxr-xr-x 1 root root 7896 Mar 19 17:14 EBCDIC-ES-S.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-FI-SE-A.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-FI-SE.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-FR.so > -rwxr-xr-x 1 root root 15896 Mar 19 17:14 EBCDIC-IS-FRISS.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-IT.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 EBCDIC-PT.so > -rwxr-xr-x 1 root root 15928 Mar 19 17:14 EBCDIC-UK.so > -rwxr-xr-x 1 root root 7832 Mar 19 17:14 EBCDIC-US.so > -rwxr-xr-x 1 root root 7992 Mar 19 17:14 ECMA-CYRILLIC.so > -rwxr-xr-x 1 root root 13512 Mar 19 17:14 EUC-CN.so > -rwxr-xr-x 1 root root 12404 Mar 19 17:14 EUC-JP.so > -rwxr-xr-x 1 root root 10880 Mar 19 17:14 EUC-KR.so > -rwxr-xr-x 1 root root 17892 Mar 19 17:14 EUC-TW.so > -rwxr-xr-x 1 root root 187960 Mar 19 17:14 GB18030.so > -rwxr-xr-x 1 root root 52668 Mar 19 17:14 GBBIG5.so > -rwxr-xr-x 1 root root 7944 Mar 19 17:14 GBGBK.so > -rwxr-xr-x 1 root root 109572 Mar 19 17:14 GBK.so > -rwxr-xr-x 1 root root 38489 Mar 19 17:14 gconv-modules > -rwxr-xr-x 1 root root 8024 Mar 19 17:14 GOST_19768-74.so > -rwxr-xr-x 1 root root 7992 Mar 19 17:14 GREEK7-OLD.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 GREEK7.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 GREEK-CCITT.so > -rwxr-xr-x 1 root root 17304 Mar 19 17:14 HP-ROMAN8.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 IBM037.so > -rwxr-xr-x 1 root root 7832 Mar 19 17:14 IBM038.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 IBM1004.so > -rwxr-xr-x 1 root root 8088 Mar 19 17:14 IBM1026.so > -rwxr-xr-x 1 root root 8440 Mar 19 17:14 IBM1046.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 IBM1047.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 IBM1124.so > -rwxr-xr-x 1 root root 8152 Mar 19 17:14 IBM1129.so > -rwxr-xr-x 1 root root 8088 Mar 19 17:14 IBM256.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM273.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 IBM274.so > -rwxr-xr-x 1 root root 7896 Mar 19 17:14 IBM275.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM277.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM278.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM280.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 IBM281.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM284.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM285.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM290.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM297.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 IBM420.so > -rwxr-xr-x 1 root root 8632 Mar 19 17:14 IBM423.so > -rwxr-xr-x 1 root root 8024 Mar 19 17:14 IBM424.so > -rwxr-xr-x 1 root root 8312 Mar 19 17:14 IBM437.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 IBM500.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 IBM850.so > -rwxr-xr-x 1 root root 8248 Mar 19 17:14 IBM851.so > -rwxr-xr-x 1 root root 8280 Mar 19 17:14 IBM852.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 IBM855.so > -rwxr-xr-x 1 root root 8600 Mar 19 17:14 IBM856.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 IBM857.so > -rwxr-xr-x 1 root root 8280 Mar 19 17:14 IBM860.so > -rwxr-xr-x 1 root root 8312 Mar 19 17:14 IBM861.so > -rwxr-xr-x 1 root root 8312 Mar 19 17:14 IBM862.so > -rwxr-xr-x 1 root root 8312 Mar 19 17:14 IBM863.so > -rwxr-xr-x 1 root root 8280 Mar 19 17:14 IBM864.so > -rwxr-xr-x 1 root root 8312 Mar 19 17:14 IBM865.so > -rwxr-xr-x 1 root root 8152 Mar 19 17:14 IBM866.so > -rwxr-xr-x 1 root root 8280 Mar 19 17:14 IBM868.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 IBM869.so > -rwxr-xr-x 1 root root 8408 Mar 19 17:14 IBM870.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 IBM871.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM874.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM875.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 IBM880.so > -rwxr-xr-x 1 root root 7800 Mar 19 17:14 IBM891.so > -rwxr-xr-x 1 root root 7800 Mar 19 17:14 IBM903.so > -rwxr-xr-x 1 root root 7832 Mar 19 17:14 IBM904.so > -rwxr-xr-x 1 root root 8408 Mar 19 17:14 IBM905.so > -rwxr-xr-x 1 root root 8152 Mar 19 17:14 IBM918.so > -rwxr-xr-x 1 root root 8408 Mar 19 17:14 IBM922.so > -rwxr-xr-x 1 root root 247604 Mar 19 17:14 IBM930.so > -rwxr-xr-x 1 root root 66496 Mar 19 17:14 IBM932.so > -rwxr-xr-x 1 root root 255584 Mar 19 17:14 IBM933.so > -rwxr-xr-x 1 root root 202432 Mar 19 17:14 IBM935.so > -rwxr-xr-x 1 root root 256196 Mar 19 17:14 IBM937.so > -rwxr-xr-x 1 root root 247572 Mar 19 17:14 IBM939.so > -rwxr-xr-x 1 root root 67496 Mar 19 17:14 IBM943.so > -rwxr-xr-x 1 root root 8216 Mar 19 17:14 IEC_P27-1.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 INIS-8.so > -rwxr-xr-x 1 root root 7992 Mar 19 17:14 INIS-CYRILLIC.so > -rwxr-xr-x 1 root root 7896 Mar 19 17:14 INIS.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 ISIRI-3342.so > -rwxr-xr-x 1 root root 8088 Mar 19 17:14 ISO_10367-BOX.so > -rwxr-xr-x 1 root root 38360 Mar 19 17:14 ISO-2022-CN-EXT.so > -rwxr-xr-x 1 root root 28876 Mar 19 17:14 ISO-2022-CN.so > -rwxr-xr-x 1 root root 36528 Mar 19 17:14 ISO-2022-JP.so > -rwxr-xr-x 1 root root 11844 Mar 19 17:14 ISO-2022-KR.so > -rwxr-xr-x 1 root root 7864 Mar 19 17:14 ISO_2033.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 ISO_5427-EXT.so > -rwxr-xr-x 1 root root 7928 Mar 19 17:14 ISO_5427.so > -rwxr-xr-x 1 root root 7992 Mar 19 17:14 ISO_5428.so > -rwxr-xr-x 1 root root 18048 Mar 19 17:14 ISO646.so > -rwxr-xr-x 1 root root 17752 Mar 19 17:14 ISO_6937-2.so > -rwxr-xr-x 1 root root 17496 Mar 19 17:14 ISO_6937.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 ISO8859-10.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 ISO8859-11.so > -rwxr-xr-x 1 root root 8120 Mar 19 17:14 ISO8859-13.so > -rwxr-xr-x 1 root root 8088 Mar 19 17:14 ISO8859-14.so > -rwxr-xr-x 1 root root 8024 Mar 19 17:14 ISO8859-15.so > -rwxr-xr-x 1 root root 15960 Mar 19 17:14 ISO8859-16.so > -rwxr-xr-x 1 root root 6416 Mar 19 17:14 ISO8859-1.so > -rwxr-xr-x 1 root root 8344 Mar 19 17:14 ISO8859-2.so > -rwxr-xr-x 1 root root 8408 Mar 19 17:14 ISO8859-3.so > -rwxr-xr-x 1 root root 8344 Mar 19 17:14 ISO8859-4.so > -rwxr-xr-x 1 root root 7992 Mar 19 17:14 ISO8859-5.so > -rwxr-xr-x 1 root root 9272 Mar 19 17:14 ISO8859-6.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 ISO8859-7.so > -rwxr-xr-x 1 root root 8056 Mar 19 17:14 ISO8859-8.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 ISO8859-9.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 ISO-IR-197.so > -rwxr-xr-x 1 root root 14680 Mar 19 17:14 JOHAB.so > -rwxr-xr-x 1 root root 8216 Mar 19 17:14 KOI8-R.so > -rwxr-xr-x 1 root root 8760 Mar 19 17:14 KOI-8.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 KOI8-U.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 LATIN-GREEK-1.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 LATIN-GREEK.so > -rwxr-xr-x 1 root root 157488 Mar 19 17:14 libCNS.so > -rwxr-xr-x 1 root root 65240 Mar 19 17:14 libGB.so > -rwxr-xr-x 1 root root 56220 Mar 19 17:14 libISOIR165.so > -rwxr-xr-x 1 root root 98632 Mar 19 17:14 libJIS.so > -rwxr-xr-x 1 root root 44860 Mar 19 17:14 libKSC.so > -rwxr-xr-x 1 root root 8248 Mar 19 17:14 MACINTOSH.so > -rwxr-xr-x 1 root root 8248 Mar 19 17:14 MAC-IS.so > -rwxr-xr-x 1 root root 8088 Mar 19 17:14 MAC-UK.so > -rwxr-xr-x 1 root root 7992 Mar 19 17:14 NATS-DANO.so > -rwxr-xr-x 1 root root 7960 Mar 19 17:14 NATS-SEFI.so > -rwxr-xr-x 1 root root 8184 Mar 19 17:14 SAMI-WS2.so > -rwxr-xr-x 1 root root 91064 Mar 19 17:14 SJIS.so > -rwxr-xr-x 1 root root 16536 Mar 19 17:14 T.61.so > -rwxr-xr-x 1 root root 7992 Mar 19 17:14 TIS-620.so > -rwxr-xr-x 1 root root 69852 Mar 19 17:14 UHC.so > -rwxr-xr-x 1 root root 7492 Mar 19 17:14 UNICODE.so > -rwxr-xr-x 1 root root 10032 Mar 19 17:14 UTF-16.so > -rwxr-xr-x 1 root root 22400 Mar 19 17:14 UTF-7.so > -rwxr-xr-x 1 root root 15544 Mar 19 17:14 VISCII.so > > [12] /tmp/agar/ftped32 # objdump -T ./gconv32/ISO8859-1.so > > ./gconv32/ISO8859-1.so: file format elf32-little > > DYNAMIC SYMBOL TABLE: > 00000000000000b4 l d .note.ABI-tag 0000000000000000 > > 00000000000000d4 l d .hash 0000000000000000 > 0000000000000234 l d .dynsym 0000000000000000 > 0000000000000544 l d .dynstr 0000000000000000 > 0000000000000682 l d .gnu.version 0000000000000000 > > 00000000000006e4 l d .gnu.version_r 0000000000000000 > > 0000000000000734 l d .rel.data 0000000000000000 > 0000000000000744 l d .rel.got 0000000000000000 > 000000000000076c l d .rel.plt 0000000000000000 > 00000000000007cc l d .init 0000000000000000 > 00000000000007e4 l d .plt 0000000000000000 > 00000000000008c0 l d .text 0000000000000000 > 000000000000134c l d .fini 0000000000000000 > 000000000000136a l d .rodata 0000000000000000 > 0000000000002378 l d .data 0000000000000000 > 0000000000002384 l d .eh_frame 0000000000000000 > 0000000000002388 l d .ctors 0000000000000000 > 0000000000002390 l d .dtors 0000000000000000 > 0000000000002398 l d .got 0000000000000000 > 00000000000023e8 l d .dynamic 0000000000000000 > 0000000000002480 l d .sbss 0000000000000000 > 0000000000002480 l d .bss 0000000000000000 > 0000000000000000 l d *ABS* 0000000000000000 > 0000000000000000 l d *ABS* 0000000000000000 > 0000000000000000 l d *ABS* 0000000000000000 > 0000000000000000 l d *ABS* 0000000000000000 > 00000000000023e8 g DO *ABS* 0000000000000000 Base > _DYNAMIC > 0000000000000000 w DF *UND* 0000000000000081 GLIBC_2.0 > __register_frame_info > 0000000000000000 DF *UND* 0000000000000038 GLIBC_2.1 > _dl_mcount_wrapper_check > 0000000000000000 DF *UND* 0000000000000040 GLIBC_2.1.3 > __cxa_atexit > 00000000000007cc g DF .init 0000000000000000 Base > _init > 0000000000000000 w DF *UND* 00000000000000ac GLIBC_2.0 > __deregister_frame_info > 0000000000000000 DF *UND* 000000000000032f GLIBC_2.0 > __xstat > 0000000000000000 DF *UND* 000000000000032f GLIBC_2.0 > __fxstat > 0000000000000000 DF *UND* 000000000000032f GLIBC_2.0 > __lxstat > 0000000000000000 DF *UND* 0000000000000197 GLIBC_2.2 > __xstat64 > 0000000000002480 g DO *ABS* 0000000000000000 Base > __bss_start > 000000000000134c g DF .fini 0000000000000000 Base > _fini > 0000000000000000 w DF *UND* 000000000000009d GLIBC_2.1.3 > __cxa_finalize > 00000000000009f4 g DF .text 00000000000000d3 Base > gconv_init > 0000000000000000 DF *UND* 0000000000000197 GLIBC_2.2 > __lxstat64 > 0000000000000ad0 g DF .text 000000000000068b Base > gconv > 0000000000002480 g DO *ABS* 0000000000000000 Base > _edata > 0000000000002398 g DO *ABS* 0000000000000000 Base > _GLOBAL_OFFSET_TABLE_ > 00000000000024a0 g DO *ABS* 0000000000000000 Base > _end > 0000000000000000 DF *UND* 000000000000007c GLIBC_2.0 > __xmknod > 0000000000000000 DF *UND* 0000000000000197 GLIBC_2.2 > __fxstat64 > 0000000000000000 w D *UND* 0000000000000000 > __gmon_start__ > > > [13] /tmp/agar/ftped32 # ./iconvopen.sh > iconv_open() worked. > > > ILLUSTRATION COMMENTARY > ===========> > [02]: The directory /tmp/agar/native64 holds the source code and 64-bit > binary > of the test program. > > [03]: The test program simply tries to call iconv_open() specifying some > common codesets. > > [04]: objdump shows the binary is a 64-bit binary. > > [05]: The 64-bit binary works. > > [07]: The directory /tmp/agar/ftped32 holds the source code and 32-bit > binary > of the test program that had been ftp'ed from another machine. > > [08]: objdump shows the binary is a 32-bit binary. > > [09]: The 32-bit binary fails. > > [10]: The shell script sets GCONV_PATH and runs the 32-bit binary. > > [11]: The directory the shell script references in its setting of > GCONV_PATH > contains the gconv modules I ftp'ed from an i686 system. > > [12]: objdump shows one of the gconv binaries is a 32-bit binary. > > [13]: When the 32-bit binary test program is run with the 32-bit binary > gconv > shared objects, it works. > > > > Eric M. Agar > agar@us.ibm.com > > > _______________________________________________ > Linux-IA64 mailing list > Linux-IA64@linuxia64.org > http://lists.linuxia64.org/lists/listinfo/linux-ia64 -- Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale n0ano@indstorage.com Ph: 303/652-0870x117