Ошибка импорта: неправильный класс ELF: ELFCLASS32 - PullRequest
0 голосов
/ 22 апреля 2019

Я уже рассмотрел все предложенные связанные вопросы, но, похоже, ни один из них не дал ответа на мою проблему.

Я пытаюсь запустить внутреннюю устаревшую программу на моем 64-битном компьютере. Я пытаюсь запустить программу acmegui-64bit.so (есть также acmegui.so), поэтому она предполагает, что она была разработана для работы на 64-битных машинах. Когда я запускаю его, я получаю

[tharpa@hpz44 bin]$ ./acmegui-64bit
:/dept/python32/lib:/usr/local/viz/notification/lib:/usr/lib
Traceback (most recent call last):
  File "/dept/adapt/acme/py/acmegui.py", line 8, in <module>
    import ACME, AcmeGui
  File "/dept/adapt/acme/py/AcmeGui.py", line 10, in <module>
    import AppShell, ACME, AcmeDialog, nwrSetup, nwwsSetup, nwrMaker, cwwsMaker, \
  File "/dept/adapt/acme/py/nwrMaker.py", line 18, in <module>
    import Config, Format, ACME, AcmeDialog, BusyTkDialog, nwrText, wxRoundup
  File "/dept/adapt/acme/py/nwrText.py", line 16, in <module>
    import ACME, Decoder, Config, Format, IdsDB, Product, Setup
  File "/dept/adapt/acme/py/Decoder.py", line 12, in <module>
    import ACME, Pils, Metar, SCD, SCP, WMOHeader
  File "/dept/adapt/acme/py/Metar.py", line 6, in <module>
    import ACME, acmedcd
ImportError: /dept/adapt/acme/py/Linux/acmedcdmodule.so: wrong ELF class: ELFCLASS32
[tharpa@hpz44 bin]$ ./acmegui-64bit

Я рассмотрел возможность преобразования acmedcdmodule.so в 64-битную версию. Это возможно? Если нет, то как трудно будет воссоздать его?

1 Ответ

1 голос
/ 23 апреля 2019

Я рассмотрел возможность преобразования acmedcdmodule.so в 64-битную версию.Возможно ли это?

Нет.

Если нет, то как трудно было бы воссоздать его?

Вы бы нашлиисточники для этого и восстановить его.Если оригинальная программа доступна с открытым исходным кодом, это может быть не так уж сложно.Если это закрытый исходный код, вам нужно связаться с оригинальным разработчиком (ями).

Прежде чем вы зайдете слишком далеко, вам следует проверить, есть ли у вас уже 64-битная версия acmedcdmodule.so (возможно,по имени acmedcdmodule-64bit.so).Если вы это сделаете, исправить это может быть так же просто, как создать несколько символических ссылок.

...