#python #shared-libraries #elf
#python #разделяемые библиотеки #elf
Вопрос:
Я уже рассмотрел все предложенные связанные вопросы, но ни один из них, похоже, не дает ответа на мою проблему.
Я пытаюсь запустить собственную устаревшую программу на своем 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.итак, до 64-разрядной версии. Возможно ли это? Если нет, насколько сложно было бы его воссоздать?
Ответ №1:
Я рассмотрел возможность преобразования acmedcdmodule.итак, до 64-разрядной версии. Возможно ли это?
Нет.
Если нет, то насколько сложно было бы воссоздать его?
Вам нужно будет найти исходные тексты для него и перестроить его. Если исходная программа доступна с открытым исходным кодом, это может быть не слишком сложно. Если это закрытый исходный код, вам придется связаться с оригинальными разработчиками.
Прежде чем вы зайдете слишком далеко в этом, вы должны проверить, есть ли у вас уже 64-разрядная версия acmedcdmodule.so
(возможно, с именем acmedcdmodule-64bit.so
). Если вы это сделаете, исправить это может быть так же просто, как создать несколько символических ссылок.