nzsql: ошибка, в то время как загрузка совместно использовала библиотеки: libcom_err.so.2: неправильный класс ELF: ELFCLASS64 на Ubuntu 18.04

Я пытаюсь установить Клиент Netezza в системе Ubuntu 18.04. После установки однажды, которую мы проверили, мы видели сообщение об ошибке ниже

/usr/local/nz$ nzsql
nzsql: error while loading shared libraries: libcom_err.so.2: wrong ELF class: ELFCLASS64

Мои диагностические шаги:

  1. Найдите совместно использованными, освобождает

    /usr/local/nz$ ldd ./bin/nzsql
    linux-gate.so.1 (0xf7f13000)
    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf7ee0000)
    libkrb5.so.3 => /usr/local/nz/./bin/../lib/libkrb5.so.3 (0xf7e3a000)
    libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xf7e08000)
    libssl.so.10 => /usr/local/nz/./bin/../lib/libssl.so.10 (0xf7da5000)
    libcrypto.so.10 => /usr/local/nz/./bin/../lib/libcrypto.so.10 (0xf7bf2000)
    libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xf7bda000)
    libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xf7bbf000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7bba000)
    libncurses.so.5 => /lib/i386-linux-gnu/libncurses.so.5 (0xf7b94000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7a92000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf78b4000)
    libcom_err.so.3 => /usr/local/nz/./bin/../lib/libcom_err.so.3 (0xf78b1000)
    libk5crypto.so.3 => /usr/local/nz/./bin/../lib/../lib/libk5crypto.so.3 (0xf7882000)
    libkrb5support.so.0 => /usr/local/nz/./bin/../lib/../lib/libkrb5support.so.0 (0xf7879000)
    libgssapi_krb5.so.2 => /usr/local/nz/./bin/../lib/libgssapi_krb5.so.2 (0xf783e000)
    /lib/ld-linux.so.2 (0xf7f15000)
    libcom_err.so.2 => not found
    libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xf781b000)
    

    Я видел "не найденное" сообщение

    libcom_err.so.2 => not found
    
  2. Попытайтесь установить пакет

    /usr/local/nz$ sudo apt-get install libcomerr2
    [sudo] password for ocmsapp:
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    libcomerr2 is already the newest version (1.44.1-1ubuntu1.2).
    The following packages were automatically installed and are no longer required:
      linux-headers-4.15.0-65 linux-headers-4.15.0-65-generic linux-image-4.15.0-65-generic linux-modules-4.15.0-65-generic
    Use 'sudo apt autoremove' to remove them.
    0 upgraded, 0 newly installed, 0 to remove and 36 not upgraded.
    

    Это говорит, что пакет уже там.

  3. Проверенный, какая версия уже установлена

    :~$ dpkg --listfiles libcom-err2
    /.
    /lib
    /lib/x86_64-linux-gnu
    /lib/x86_64-linux-gnu/libcom_err.so.2.1
    /usr
    /usr/share
    /usr/share/doc
    /usr/share/doc/libcom-err2
    /usr/share/doc/libcom-err2/changelog.Debian.gz
    /usr/share/doc/libcom-err2/copyright
    /lib/x86_64-linux-gnu/libcom_err.so.2
    
  4. Создайте гибкую ссылку

    sudo ln -s /lib/x86_64-linux-gnu/libcom_err.so.2 libcom_err.so.2
    

    Затем, после того как мы проверили ldd ./bin/nzsql тем не менее мы видели не найденное сообщение

     libcom_err.so.2 => not found
    

    и после того как мы пытаемся работать nzsql управляйте затем, что мы добрались ниже сообщения

    /usr/local/nz$ nzsql
    nzsql: error while loading shared libraries: libcom_err.so.2: wrong ELF class: ELFCLASS64
    

Какова могла быть проблема, и как я могу зафиксировать ее?

0
задан 17 November 2019 в 09:20

1 ответ

Необходимо подтвердить это путем выполнения

file /usr/local/nz/bin/nzsql

но вероятно, что Ваше netazza приложение является приложением на 32 бита на x86-64 (т.е. 64 бита) установка; необходимо будет установить версию на 32 бита libcomerr2 как так:

sudo apt install libcomerr2:i386

а также для любой из других системных библиотек это зависит от.

1
ответ дан 21 December 2019 в 23:57

Другие вопросы по тегам:

Похожие вопросы: