Установка компонента в Lazarus + Fedora
Модератор: Модераторы
Установка компонента в Lazarus + Fedora
Столкнулся с ранее неведомой мною проблемой. Дело в том что я сменил дистрибутив с Ubuntu на Fedora, ранее (в Ubuntu), файлы стороннего компонента ложил в каталоге пользователя в папку .Lazarus, запускал Лазаря от рута открывал пакет и устанавливал, в крайнем случае нужно было после компиляции дать себе полные права на директории и файлы проинсталлированного компонента. В Fedora этот способ не срабатывает, под рутом всё работает, просто подо мною при старте говорит что установленны такие то пакеты, корректные файлы пакета не найдены, среда запускается вкладочек с соответствующими компонентами нет. Пробовал ставить из каталога куда устанавливается лазарус (папка [компоненты]), пробовал после установки очистить + пересобрать всё, права всякий раз даю себе наиполнейшие.
Как поставить компонент в Lazarus в ОС Fedora так что б работало из под пользователя?
Как поставить компонент в Lazarus в ОС Fedora так что б работало из под пользователя?
Под рутом работать порочная практика.
Как я обычно делал под линуксом (не важно какой дистр. все одинаково. у меня был сюзи и убунта):
1) Устанавливал лазарус
2) Запускал его от своего имени и перестраивал. В моем домашнем каталоге образовывался каталог .Lazarus. Потом strip на нужные файлы желательно.
3) Делал sh файл запуска лазаруса из только что созданного каталога .Lazarus.
4) Если нужен был пакет, записывал его в свой хом (пофиг куда)
5) Под собой запускал лазарус, компилировал пакет и устанавливал его. Все продолжало работать из .Lazarus
Ваша проблема в том что вы строили лазарус из под рута в своем домашнем каталоге. Вновь созданным файлам устанавливался овнер рут поэтому под собой вам доступ к ним запрещен. Все очень просто.
Как я обычно делал под линуксом (не важно какой дистр. все одинаково. у меня был сюзи и убунта):
1) Устанавливал лазарус
2) Запускал его от своего имени и перестраивал. В моем домашнем каталоге образовывался каталог .Lazarus. Потом strip на нужные файлы желательно.
3) Делал sh файл запуска лазаруса из только что созданного каталога .Lazarus.
4) Если нужен был пакет, записывал его в свой хом (пофиг куда)
5) Под собой запускал лазарус, компилировал пакет и устанавливал его. Все продолжало работать из .Lazarus
Ваша проблема в том что вы строили лазарус из под рута в своем домашнем каталоге. Вновь созданным файлам устанавливался овнер рут поэтому под собой вам доступ к ним запрещен. Все очень просто.
Погоди ка... сам лазарус (приложение) как установился в /usr/....................../Lazarus, так там под рутом и пересобирается, /хоме/юзер/.лазарь - тока сторонний компонент. И этой схемой я пользовался больше 2 лет под Ubuntu (и продолжаю пользоваться на старом ноуте).
Как в данной ситуации вернуться к схеме когда лазарь где встал а комнпонент у меня в домашней папке?
Как в данной ситуации вернуться к схеме когда лазарь где встал а комнпонент у меня в домашней папке?
Я ставлю из пакетов только FPC, а лазарус собираю из сырцов у себя в домашнем каталоге - никаких проблем с правами (прямо как в винде
).
Лазарус собирается из под себя.
Собранный бинарник лазаруса тоже тут.
/хоме/юзер/.лазарь - тока сторонний компонент.
Собранный бинарник лазаруса тоже тут.
vada писал(а):Лазарус собирается из под себя.
/хоме/юзер/.лазарь - тока сторонний компонент.
Собранный бинарник лазаруса тоже тут.
Нет, там нет никакого бинарника. Лазарус установлен из пакетов и бинарники пересобираются там куда он установился.
v-t-l писал(а):Я ставлю из пакетов только FPC, а лазарус собираю из сырцов у себя в домашнем каталоге - никаких проблем с правами (прямо как в винде).
Это замечательно но разбираться с соурцами ой как не хочется.
Как настроить ОС или Лазаря что б работала схема установки компонентов описанная в первом посте (Ubuntu)?
Лазарус установлен из пакетов и бинарники пересобираются там куда он установился.
К сожалению сейчас работаю под виндой, и проверить последние версии лазаруса не могу. Раньше при перестройке лазаруса установленного в /usr/local скрипт, кажись, вопрос задавал (или не задавал) и откомпилированная требуха вся писалась в .lazarus
Могу посоветовать под рутом переместить лазарус в хом и сделать на каталог chown R я.users Lazarus дальше наслаждаться жизнью.
qivi писал(а):Это замечательно но разбираться с соурцами ой как не хочется.
Установили Lazarus из пакетов? Замечательно! Теперь удалите его, но проследите, чтобы его зависимости остались (всякие там gtk*-devel* или что-то в этом роде).
Скачайте сырцы Lazarus например отсюда http://www.hu.freepascal.org/lazarus/ и распакуйте его в какую-нибудь папку в домашнем каталоге.
Запустите в этой папке терминал и наберите
Код: Выделить всё
make bigideПолучившийся исполняемый файл lazarus можете запускать.
В дальнейшем для обновления, после замены сырцов Лазаруса выполняйте
Код: Выделить всё
make clean bigideВсе.
Я даже не удалял Лазаря, поставленного из Федориной репы, а просто отредактировал меню КДЕ так,
чтобы вызывался собранный из svn.
чтобы вызывался собранный из svn.
Вот так как оно работало в Ubuntu от версии к версии ОС, от релиза к релизу Lazarusa - как настроить так же в Fedora?
Ну не бывает же чудес, если это возможно в убунту, значит и в федора возможно - так ведь?
Ну не бывает же чудес, если это возможно в убунту, значит и в федора возможно - так ведь?
vada писал(а):...под рутом всё работает, просто подо мною при старте говорит что установленны такие то пакеты, корректные файлы пакета не найдены...
Недоступна директория /root/.lazarus, где хранится информация о расположении файлов модулей установленных компонент...
qivi, я просто меняю владельца папки /usr/lib/lazarus и работаю из под юзера, компоненты кладу в /usr/lib/lazarus/components, тогда все прекрасно работает. Или как вариант вообще не пользоваться root'ом, а настроить sudo
Если пересобрать lazarus от root он запишет настройки в /root/.lazarus, и запустив его от юзера он подгрузит настройки из $HOME/.lazarus, где $HOME будет папка пользователя.
Если пересобрать lazarus от root он запишет настройки в /root/.lazarus, и запустив его от юзера он подгрузит настройки из $HOME/.lazarus, где $HOME будет папка пользователя.
svk12 , WAYFARER - спасибо вам, разобрлся.
