Установка Indy10 в Lazarus под Windows

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Установка Indy10 в Lazarus под Windows

Сообщение Самей » 08.05.2013 23:44:49

Недавно поставил Lazarus, чтобы уйти с Delphi на FreePascal.
Что могу сказать: довольно неплохо. Но привык работать с Indy в сети, а тут - нема.
Ну - не беда, поставим. Скачал. Открыл. Не встаёт. О как!
Гугл рулез.
Понаходил кучу разных рецептов, как поставить Indy! И это скопиравоть туда, и то переименовать, и там прописать то-то, а другие говорят другое прописывать, а им противоречат остальные и утверждают что оно ваще не работает... Само по себе - это признак существующей проблемы. Что-то тут не здесь.

Да, забыл сказать: у меня Win XP-32.

Начал разбираться сам.

1. Разработчик Indy отдаёт нам всё в одном флаконе, как "компонент". Причём - компонент для Лазаря. Поэтому что-то куда-то "отдельно" копировать - совершенно бессмысленно. Если бы разработчик решил, что надо прописывать код по частям, то так бы и отдавал нам своё детище: один zip - для FPC, другой - для Лазаря, и т.д. Но zip-то - один!
Поэтому класть "весь" компонент надо в обычное нормальное место - lazarus\components.
И когда вы встречаете рецепты установки Indy с перетаскиванием частей в разные места или, не дай бог, "создать папку save и скопировать туда...", а потом "скопировать и заменить туда ещё...", а потом... То можете смело посылать всех в сад.

2. Разработчик Indy предоставляет нам готовый пакет indylaz.lpk, заметьте - "готовый", т.е. в нём уже всё прописано и всё настроено.
Когда встречаются "руководства" по прописыванию в пакете каких-то путей, то реакция должна быть та же: все - в сад.

3. Если пакет "не встаёт" или компоненты глючат в IDE, то диагноз один: Лазарь болен, надо лечить.

Краткий рецепт "нормальной" установки Indy.

1. скачать zip и разархивировать пакет в lazarus\components
2. перейти в папку компонента, в папку FPC
3. сделать make
4. сделать make install
5. открыть Лазаря, открыть пакет - indylaz.lpk
6. сказать - компилировать
7. сказать - установить
8. дождаться пересборки Лазаря и перезапуска его
9. пить пиво и наслаждаться Indy

Повторюсь, если - "не встаёт" или компоненты глючат в IDE, то диагноз один: Лазарь болен, надо лечить.

Но есть тонкости. По поводу лечения Лазаря чуть позже набросаю схему. Но даже на больном Лазаре Indy можно благополучно поставить.

А теперь нормальный способ установки Indy10 даже на больном Лазаре, проверенный в 0.9.31 и в 1.0.8.

1. Качаем zip и разворачиваем его в lazarus\components c именем, например, indy-10.2.0.3 (можно назвать и просто indy, не имеет значения), так чтобы внутри этой папки были файлы README, COPYING и прочие, и папки fpc и lazarus.

1.1. Если zip файл не открывается с 7-Zip, то WinRAR его прекрасно кушает.

2. Смотрим имя папки, где в Лазаре лежат проги fpc.exe и make.exe. Допустим, это C:\lazarus\fpc\2.6.2\bin\i386-win32.

3. Смотрим имя папки, где у Лазаревого FPC хранится "units". Допустим, это C:\lazarus\fpc\2.6.2.

3. Заходим внутрь папки компонента (из п.1 - indy-10.2.0.3) и рядом с README создаём пустой файлик install.cmd. Имя не имеет значения, расширение - .bat или .cmd. Открываем install.cmd в текстовом редакторе и пишем тудыль магические словеса:

Код: Выделить всё
cd fpc
rem ----- из пункта 2: -----
set path=C:\lazarus\fpc\2.6.2\bin\i386-win32;%PATH%
rem ----- из пункта 3: -----
set INSTALL_PREFIX=C:\lazarus\fpc\2.6.2
make clean all
make install
pause


Все rem-ы можно выбросить, они приведены для понимания путей. В строках "set path=" и "set INSTALL_PREFIX=" надо подставить свои конкретные пути из п.2 и п.3. Пути C:\lazarus\fpc\2.6.2\bin\i386-win32 и C:\lazarus\fpc\2.6.2 показаны для примера.

4. Сохраняем файл install.cmd и ... Запускем его!

5. Смотрим ... выполняется ... ждём завершения ... заверщилось - жмём клавишу Энтер. УДАЛЯЕМ файл install.cmd: нефик ему там больше делать.

6. Открываем Лазаря, открыть пакет - lazarus\components\indy-10.2.0.3\lazarus\indylaz.lpk, сказать - компилировать, дождаться завершения, сказать - установить, дождаться пересборки Лазаря и его перезапуска.

7. Пьём пиво и наслаждаемся Indy

Комментарий.

Понятно, что поиск имён папок с make.exe и units можно автоматизировать в скрипте установки, это не проблема. Но моя цель была не дать какой-то прибабах в виде лекарства, а объяснить в чём причина проблем и в чём смысл установки.

Удачи.
Последний раз редактировалось Самей 09.05.2013 02:55:14, всего редактировалось 1 раз.
Самей
незнакомец
 
Сообщения: 4
Зарегистрирован: 08.05.2013 18:43:07

Re: Установка Indy10 в Lazarus под Windows

Сообщение Little_Roo » 09.05.2013 00:06:51

Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Установка Indy10 в Lazarus под Windows

Сообщение Самей » 09.05.2013 00:18:56

Ага оно самое...

... Распаковываем все это добро и видим внутри два каталога: fpc и lazarus. Первый (fpc) копируем в c:\lazarus\fpc\2.2.4\sources\packages и, для наглядности, меняем ему название на indy. Второй каталог (lazarus) копируем в ...


Шаманские танцы с бубном.
Самей
незнакомец
 
Сообщения: 4
Зарегистрирован: 08.05.2013 18:43:07

Re: Установка Indy10 в Lazarus под Windows

Сообщение Лекс Айрин » 09.05.2013 00:40:28

Самей писал(а):3. Если пакет "не встаёт" или компоненты глючат в IDE, то диагноз один: Лазарь болен, надо лечить.


А почему сразу Лазарь? Может, это компонент "болен"?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Установка Indy10 в Lazarus под Windows

Сообщение Самей » 09.05.2013 01:01:15

А почему сразу Лазарь? Может, это компонент "болен"?


Я не стал об этом ничего говорить в тексте про установку Indy, поскольку это совершенно другая тема, и довольно громоздкая.

Кстати, спасибо за напоминание, я забыл уточнить, что речь идёт о релизах, как Lazarus, так и Indy. Т.е. разработчики заявляют о стабильности версии и отсутствии глюков.

Поэтому о самом коде речь не идёт, вопрос в настройках и окружении. И если у пакета Indy настраивать-то и нечего и от окружения он и не зависит вовсе, то с Лазарем - просто беда.

Если кратко, поведение Лазаря сильно зависит от:
1. переменной PATH
2. записей а реестре
3. конфигурационных файлов

Т.ч., с учётом слова "релиз", болен однозначно Лазарь.

ПС
Да... уж... учитывая, что я за Лазарем всего-лишь 1 месяц сижу... Довольно самонадеянное заявление получилось. Но, чего уж там...
Самей
незнакомец
 
Сообщения: 4
Зарегистрирован: 08.05.2013 18:43:07

Re: Установка Indy10 в Lazarus под Windows

Сообщение Лекс Айрин » 09.05.2013 01:33:22

Самей, странно, сижу в лазаре как на винде, так и на линуксе, ставил и там, и там дополнительные компоненты с перекомпиляцией лазаря, но единственный сильный глюк поймал только при обновлении под убунтой, но это уже явно не связано с разработчиками Лазаря и я обновлялся на свой страх и риск.
Может, я что-то делаю не так?

Да разработчики Лазаря, присутствующие на форуме, откровенно признают некоторые вещи сырыми, но при этом большинство ошибок весьма оперативно исправляется. По большому счету, для этого данный форум и нужен.

ЗЫ: возможно, легче подобрать более стабильный компонент, чем разбираться с indy, ведь, по большому счету, это Ваша привычка, оставшаяся от Дельфи. Или, если уж совсем горит, форкните indy... Вам еще и спасибо скажут.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Установка Indy10 в Lazarus под Windows

Сообщение Самей » 11.05.2013 14:59:23

Про "болезнь" речь идет в смысле окружения и настроек.
при этом большинство ошибок весьма оперативно исправляется

Да всё в принципе верно. И к разработчикам претензий нет, наоборот, огромное уважение за их нелёгкий труд. Опять же, к установленному на компе Лазарю разработчики уже не имеют никакого отношения, и если Лазарь "заболел", то виноваты уже никак не разработчики, а шаловливые и беспокойные "кривые ручки".
Я и сам получил два "больных" Лазаря, когда одновременно установил два разных релиза на комп, пришлось срочно разбираться в чём дело и "кривые ручки" резко распрямились. Сейчас у меня 0.9.31 и 1.0.8 одновременно мирно сосуществуют и не мешают друг другу. Теперь уже подумываю об СВН-овском 1.1.4 в качестве третьего.

Качнул с SVN Indy10 5004 сборки и пересобрал в Tiburon branch. Нормально встало, всё работает. Определилась как indy-10.6.5004. Кому надо - забирайте. Установка та же, что и прежде.

http://files.mail.ru/540ABA28399A4845BED38E6F185143A8
Самей
незнакомец
 
Сообщения: 4
Зарегистрирован: 08.05.2013 18:43:07

Re: Установка Indy10 в Lazarus под Windows

Сообщение Лекс Айрин » 11.05.2013 15:11:29

Самей писал(а):Про "болезнь" речь идет в смысле окружения и настроек.


Ну,... некоторые хотят странного... для таких и море настроек.

А насчет многоверсионности, то я держу для этого несколько операционок.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 242

Рейтинг@Mail.ru