Menu

#1918 UTF-16LE is not supported on libmtp-1.1.17 version.

1.1.17
pending
None
1
2023-04-16
2022-05-09
FengChen
No

It seems that libmtp 1.1.16 supports UTF-16LE, but 1.1.17 is still wrong?
glibc use 2.31 version.

ARM linux:
libmtp version: 1.1.17
Listing raw device(s)
Device 0 (VID=18d1 and PID=4ee2) is a Google Inc Nexus/Pixel (MTP+ADB).
Found 1 device(s):
Google Inc: Nexus/Pixel (MTP+ADB) (18d1:4ee2) @ bus 4, dev 3
Attempting to connect device(s)
LIBMTP PANIC: Cannot open iconv() converters to/from UCS-2!
Too old stdlibc, glibc and libiconv?
Unable to open raw device 0
OK.

*#if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H)
current_params->cd_locale_to_ucs2 = iconv_open("UTF-16LE", "UTF-8");
current_params->cd_ucs2_to_locale = iconv_open("UTF-8", "UTF-16LE");

if(current_params->cd_locale_to_ucs2 == (iconv_t) -1 ||
current_params->cd_ucs2_to_locale == (iconv_t) -1) {
LIBMTP_ERROR("LIBMTP PANIC: Cannot open iconv() converters to/from UCS-2!\n"
"Too old stdlibc, glibc and libiconv?\n");
free(current_params);
free(mtp_device);
return NULL;
}
*#endif

Discussion

  • Marcus Meissner

    Marcus Meissner - 2022-05-09

    This is probably not a libmtp bug.

    Do you have a libmtp installation on this system where this works?

    this might mean there are some iconv specific data files missing from the system.

     
  • Marcus Meissner

    Marcus Meissner - 2022-05-09
    • status: open --> pending
    • assigned_to: Marcus Meissner
     
  • FengChen

    FengChen - 2022-05-10

    yes, I installed libmtp-1.1.17,
    iconv should be in glibc, I am using glibc version 2.31(/lib64/libc-2.31.so).

    What libraries should I install to support it?

    Thanks!

     
  • FengChen

    FengChen - 2022-05-13

    Hi Marcus

    any update ?

    Thanks

     
    • Anonymous

      Anonymous - 2022-08-30

      Hi Feng,
      I have the same issue, I tried with downgrade to libmtp-1.1.16 but still the error.
      I think that is a dependency problem.
      Could you resolve It?

       
  • Marcus Meissner

    Marcus Meissner - 2023-04-16
     
  • Marcus Meissner

    Marcus Meissner - 2023-04-16

    on my system the converters are in

    /usr/lib64/gconv/UTF-16.so
    /usr/lib64/gconv/UNICODE.so

    can you check if you find UTF-16.so and UNICODE.so somewhere on your system?

    (It is in the glibc-locale-base package here on opeNSUSE, but its probably called different for your system)

     

Anonymous
Anonymous

Add attachments
Cancel