Не удается восстановить поврежденный компилятор на Kubuntu 20.04

Я использую FreePascalCompiler (FPC) версии 3.0.4 на уровне командной строки под Kubuntu 20.04.2 LTS и в итоге сам его испортил. Теперь я не могу сделать чистую переустановку FPC. Я предполагаю, что проблема связана с Ubuntu, поэтому я задаю свой вопрос здесь.

Вот что я сделал: я хотел использовать в моей крошечной программе специальную функцию, которая доступна только при включенном модуле LConvEncoding. Компилятор выдал сообщение о фатальной ошибке: Модуль не найден. Долгие поиски по разным форумам привели меня к двум выводам:

  1. Этот блок должен присутствовать, если FPC 3.0.4 установлен корректно.
  2. Я должен проверить символические ссылки, которые запускают FPC, потому что в Ubuntu пути другие.

which fpcвыдает этот вывод: /usr/bin/fpc. Это символическая ссылка на /etc/alternatives/fpc, снова символическая ссылка на /usr/bin/x86_64-linux-gnu-fpc-3.0.4. Это исполняемый файл, который пытается запустить /usr/lib/x86_64-linux-gnu/fpc/3.0.4/ppcx64. ppcx64является фактическим компилятором для моей 64-битной системы Mac.

Так /usr/lib/x86_64-linux-gnu/fpc/3.0.4/units/был каталог, где искать нужный блок. Ед. изм LConvEncodingк сожалению не присутствовал. Это заставило меня подумать, что моя установка FPC была неполной. Поэтому я удалил его с помощью sudo apt-get purge fpc. А потом переустановил. Это буквально ничего не изменило.

Теперь, чтобы убедиться, что каталог /usr/lib/x86_64-linux-gnu/fpc/3.0.4/действительно переписано, я вручную удалил /usr/lib/x86_64-linux-gnu/fpc. Нет хорошей идеи, насколько я знаю. Следующий процесс установки прошел без сообщений об ошибках, но каталог не перезаписался - его все равно нет. Так что у меня больше нет существующего компилятора Pascal. Каждый вызов компилятора теперь выдает это сообщение об ошибке: Error: ppcx64 can't be executed, error message: Failed to execute "ppcx64", error code: 127.

Я предполагаю, что конкретный пакет deb для FPC 3.0.4 в Ubuntu 20.04 содержит ошибочный деинсталлятор, который не очищает все соответствующие файлы. И именно поэтому инсталлятор прерывает установку без сообщения об ошибке, так как он встречает уже существующие файлы нужной версии программы и, следовательно, предполагает, что работа уже сделана.

Если это предположение не ерунда, то возникает вопрос: какие файлы я должен удалить, чтобы сделать sudo apt-get install fpcснова сделать полную работу?

Или я все неправильно понял?

Аппаратное обеспечение: Mac Mini (6.2, выпущенный в 2012 г., с 4 процессорами Intel Core i5-2415M @ 2,30 ГГц )

Система: только Kubuntu 20.04.2 LTS. Никакая другая операционная система не установлена.

1 ответ

Сначала вы не должны удалять или переименовывать какие-либо файлы, которые контролируются APT (и update-alternativesв результате).

Чтобы переустановить пакеты FPC , выполните следующую команду:

      sudo apt-get install --reinstall fpc fpc-3.0.4 fp-compiler fp-compiler-3.0.4 fpc-source fpc-source-3.0.4 fp-docs fp-docs-3.0.4 fp-ide fp-ide-3.0.4 fp-units-base fp-units-base-3.0.4 fp-units-db fp-units-db-3.0.4 fp-units-fcl fp-units-fcl-3.0.4 fp-units-fv fp-units-fv-3.0.4 fp-units-gfx fp-units-gfx-3.0.4 fp-units-gtk2 fp-units-gtk2-3.0.4 fp-units-math fp-units-math-3.0.4 fp-units-misc fp-units-misc-3.0.4 fp-units-multimedia fp-units-multimedia-3.0.4 fp-units-net fp-units-net-3.0.4 fp-units-rtl fp-units-rtl-3.0.4 fp-utils fp-utils-3.0.4

а для их 32-битных вариантов используйте команды ниже

      sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install --reinstall fp-units-i386 fp-units-i386-3.0.4

тогда все структуры папок будут исправлены.

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