Кажется, я не могу найти способ установить Lazarus в 64-битной системе Slackware.

Моя цель - сделать 64-битную версию моей DLL (.so в Linux), которая была написана на Delphi. Все хорошо в 32-битной системе. Я использую Arch Linux для сборки 32-битной версии и использую 1.0.2 Lazarus. Я могу использовать .so файл в 32bit Slackware 13.1 без проблем.

Вот что я пробовал до сих пор:

Успешно установлена 64-битная версия fpc (v2.4.0).
Загруженные исходные коды Lazarus с svn svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus . Сбой компиляции с ожидаемым:= найден в for Node in Self do avglvltree.pas .
Не найдено решений в Google.

Далее: Я нашел какой-то tar-файл Lazarus v0.9.30, распаковал его, make clean all .
Не удалось. Опять какая-то ошибка в какой-то строке в каком-то файле.

Далее: я нашел эту страницу http://sourceforge.net/projects/lazarus/files/?source=navbar
Загрузите пакеты fpc, fpc source и lazarus 1.0.4, перейдя по ссылке "Lazarus Linux x86_64 RPM".
Оказалось, что RPM относится к другому дистрибутиву Linux, поэтому installpkg не работает. Google сказал мне, что я мог бы использовать другой менеджер пакетов, который уже был в slackware, так что я сделал, но потом он начал выплевывать все dependency missing и я слишком устал искать объяснения, что это было и где я могу получить это из. Каждый пакет приводил к еще большему количеству ошибок.

Может ли кто-нибудь сказать мне, шаг за шагом, как я могу установить Lazarus и скомпилировать мою DLL?

Я уверен, что я делаю что-то не так (я действительно новичок в системах Linux), но я понятия не имею, что, и ни одно из руководств там не говорит мне.

1 ответ1

0

Решение оказалось очень простым.

Файлы .rpm взяты из SourceForge .

Вместо использования rpm -Uvh <rpm file> необходимо использовать rpm2tgz <rpm file> . Выполнение этого для всех трех пакетов преобразует .rpm в .tgz.

Затем просто используйте команду installpkg <tgz file> чтобы установить их все, одну за другой. Это занимает довольно много времени.

Выполнение команды fpc -i покажет поддерживаемые целевые системы (вместе с другой информацией), где 'Linux for x86-64' был тем, что было нужно.

На моем Slackware 13.1 x64 был установлен менеджер рабочего стола xfce 4, поэтому я запустил его с помощью startxfce4 . Лазарь появился в меню «Разработка».

После открытия Lazarus и проекта библиотеки нужно перейти в Project> Параметры проекта ...> Параметры компилятора> Генерация кода. В разделе « Целевая платформа » необходимо изменить ОС Target на Linux и семейство Target CPU на x86_64. Дополнительно в Параметры компилятора> Другое, пришлось добавить -fPIC в поле пользовательских параметров.

Сохранено и построено. Сгенерированный файл .so теперь можно использовать в 64-битном SlackWare.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .