Использование LCL в fpc

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Re: Использование LCL в fpc

Сообщение Лекс Айрин » 13.06.2017 13:09:40

vitaly_l писал(а):Сканеры, которые могут сканировать сервер каждые 0.0001 секунды - не позволят даже достучаться до сервера, т.к. такое частое обращение называется DDOS атака.


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

Re: Использование LCL в fpc

Сообщение pupsik » 13.06.2017 14:36:55

а итоговый проверенный результат скомпилировать на сервере.
ЗАЧЕМ? Не проще ли готовый рабочий бинарник сбросить на сервер???

не позволят даже достучаться до сервера
а разве атака идёт с одного компа?

п.с.
А зачем люди прыгают с моста на резинке от трусов? Для кайфа.
если ту резинку, да в трусы... Хотя... сравнение верное.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Использование LCL в fpc

Сообщение darkpenguin » 13.06.2017 15:43:39

Про запрет доступа на исполнение: действительно, такое может прийти в голову только тому кто не знает даже самых элементарных основ того, как работает GNU/Linux, не говоря уже о том, как распространяются и собираются пакеты. Я пытался разъяснить, что как работает, но научить можно только тех кто хочет учиться.

vitaly_l, вы почти правильно представляете себе, как это работает. А точнее:
- Во-первых, если ваша программа не исключительно консольная и использует компоненты из библиотеки LCL, то сама LCL тоже понадобится. Она входит в состав дистрибутива Лазаруса. Если программа не использует LCL - то этого не нужно.
- Во-вторых, дистрибутив Лазаруса под GNU/Linux выложен на сайте в виде DEB-пакета для установки, а не просто "архива", который можно разархивировать и запускать. (Примерно аналогично тому как дистрибутив под Windows тоже выложен в виде инсталлера, а не архива). И, конечно, виндовая версия Лазаруса на линуксе не пойдёт (как минимум без дополнительных ухищрений). Поэтому с этим будет чуть сложнее. К тому же, для удобства, лучше его действительно "установить", а не просто "залить".

Лучше всего попросить администратора сервера установить на него FPC (и при необходимости - LCL.) Для этого понадобятся права админа, и вот их он вам действительно не даст. FPC он может установить просто из репозитория - пакет называется fpc . Если LCL нужен, то его можно установить либо тоже из репозитория (пакет lcl ), либо пусть просто установит Лазарус с сайта - чтобы была последняя версия. Если он согласится установить Лазарус или хотя бы просто LCL, то после этого можно собирать проекты без графического интерфейса помощью просто "lazbuild project1.lpr". Если LCL не нужен, и админ установит только FPC и не захочет ставить Лазарус просто для вашего удобства - тогда надо запускать FPC как я объяснил в своей статье, в самом конце.

Если он устанавливать вообще ничего не захочет, то можно раздобыть где-нибудь линуксовую версию fpc и просто закачать её на сервер, но тогда придётся повозиться с указанием путей к стандартным библиотекам, которые входят в состав FPC, в то место, куда вы его положили. Наверное, скачать можно с сайта Free Pascal Compiler, но я не пробовал - возможно, там тоже пакет для установки.

На самом деле, пакет тоже можно "распаковать", но придётся ещё больше возиться с путями, а возможно, не только с ними, так что это - на крайний случай. Возможно, проще собрать линуксовую версию FPC самому.

А вообще, действительно, должно же быть возможно кросс-компилировать версию своей программы под линукс прямо на своём виндовом компьютере!.. Но я не изучал этот вопрос.
darkpenguin
новенький
 
Сообщения: 26
Зарегистрирован: 09.06.2017 19:23:32

Re: Использование LCL в fpc

Сообщение pupsik » 13.06.2017 16:31:43

darkpenguin, мил человек:
deb-файл в старом формате представляет собой две строки ASCII-текста, за которыми следуют два сцепленных архива формата tar.gz

Начиная с Debian версии 0.93, deb файл представляет собой архив формата ar.

так что
на сайте в виде DEB-пакета для установки, а не просто "архива"
как бы второе мимо.

И утверждение:
Я пытался разъяснить, что как работает, но научить можно только тех кто хочет учиться.
весьма сомнительно выглядит.

Но..о: если вы хотите то, можете. Никто вам не запрещает. Просто потребность в этом весьма сомнительна.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Использование LCL в fpc

Сообщение Лекс Айрин » 13.06.2017 17:58:22

darkpenguin писал(а):Про запрет доступа на исполнение: действительно, такое может прийти в голову только тому кто не знает даже самых элементарных основ того, как работает GNU/Linux, не говоря уже о том, как распространяются и собираются пакеты.


Я, вообще-то, сисад. Виндовый. Хотя и с линуксом в своей сетке работал. Так вот,.. по умолчанию, пользователь может выполнять программы только в своей рабочей папке, а уж потом, если надо, дается право на выполнение и/или запись к файлам по сетке.Причем, если в винде доступ по чтению равен доступу на выполнение (тут блокирование файлов и пр... ограничиваются по другому), то в линуксе это разные настройки.И мне, в свое время, приходилось специально расшаривать папки с исходниками и папку для тестового запуска.

Добавлено спустя 30 минут 43 секунды:
darkpenguin писал(а):Если он устанавливать вообще ничего не захочет, то можно раздобыть где-нибудь линуксовую версию fpc и просто закачать её на сервер, но тогда придётся повозиться с указанием путей к стандартным библиотекам, которые входят в состав FPC, в то место, куда вы его положили. Наверное, скачать можно с сайта Free Pascal Compiler, но я не пробовал - возможно, там тоже пакет для установки.

и упс -- программа не встанет в домашнюю папку, так как все проги из репозитария ставятся в системные каталоги. А для установки из исходников в домашнюю требуется рабочий (установленный) компилятор. Такое, вроде бы, проходит в BSD системах.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Использование LCL в fpc

Сообщение darkpenguin » 13.06.2017 18:57:11

Господа, ничего не знать и не понимать в какой-то области - это не плохо, никто не может знать всё. Но дезинформировать людей ошибочными теориями, построенными на немногих обрывочных знаниях - это действительно вредит окружающим. В этом и есть разница между "чайником" и "ламером".

В очередной раз вместо поиска ответа на вопрос всё обсуждение посвящено бессмысленному "зачем вам это нужно" (точнее, "А вот мне лично это не нужно!") и оффтопику.

vitaly_l, если вы сколько-нибудь сносно понимаете по-английски, на англоязычных форумах обычно можно получить гораздо более информативный ответ и помощь. Вот аналогичная тема, которую я создал по этому вопросу на англоязычном форуме Lazarus: LCL in pure FPC

Если возникнут вопросы, как провернуть то что вы хотите (а именно, скомпилировать проект Lazarus на сервере без графической подсистемы, не имея при этом административных прав на этом сервере) - то, возможно, они могут возникнуть и у кого-то другого, так что ваш опыт может быть полезен кому-то ещё. Однако, читать эту ветку в поисках ответа никто не будет, так что здесь это бессмысленно.
darkpenguin
новенький
 
Сообщения: 26
Зарегистрирован: 09.06.2017 19:23:32

Re: Использование LCL в fpc

Сообщение Лекс Айрин » 13.06.2017 19:25:43

darkpenguin писал(а):Но дезинформировать людей ошибочными теориями, построенными на немногих обрывочных знаниях - это действительно вредит окружающим.


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

Re: Использование LCL в fpc

Сообщение vitaly_l » 13.06.2017 20:24:33

darkpenguin писал(а):Однако, читать эту ветку в поисках ответа никто не будет, так что здесь это бессмысленно

Это не так. Люди которые здесь писали, я их немножко знаю, т.к. они время от времени меня выручают. И я точно знаю что, все они - очень хорошие программисты. А что касаемо, странного метода решения ими Вашей задачи, так это как раз из-за их рациональности проф. программистов, т.к. они будучи хорошими программистами, всегда - ищут самое оптимальное решение. А в случае "не оптимальности", начинают рычать ( чёртовы рапторы ), что в общем-то хорошо, т.к. это позволяет взять верный курс. Просто нужно вдуматься, а всё ли так плохо из того что они Вам советуют?

FPC - естественно может компилировать без Лазаруса и даже без LCL ( достаточно приложить только те, модули, которые использует Ваш проект ).
Кстати при желании можете посмотреть даже строку команды, которую лазарус отправляет FPC, для запуска компиляции.

darkpenguin писал(а):скомпилировать проект Lazarus на сервере без графической подсистемы, не имея при этом административных прав на этом сервере) - то, возможно ... ваш опыт может быть полезен кому-то ещё

Я сейчас ставлю debian, т.к. пришёл к выводу что, они таки - правы и проще компилировать локально, нежели городить второй огород. Таков мой опыт, т.к. я пришёл к выводу, что даже с чуть тормозящей компиляцией, проще сделать локально и нет смысла ставить FPC на сервер, ради компиляции. Возможно мой опыт - поможет и Вам принять верное решение.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Использование LCL в fpc

Сообщение darkpenguin » 14.06.2017 00:01:35

Посоветовать, что "...хотя я бы лучше нашёл какое-нибудь другое решение для этой задачи, поскольку так уж слишком зажописто получается" - это, действительно, было бы хорошо. Примерно это и сделал наш индонезийский коллега на том форуме. Но говорить, что "я никогда не слышал, как работает генерация линуксовых дистрибутивов, а значит, это никому не нужно" - это уже совсем не по теме. Или "я однажды читал, что на линуксе можно ограничить доступ на выполнение, а значит, ничего не получится", при этом не имея представления вообще о чём шла речь. Или "а DEB это тоже архив! так что вы неправы!", не имея представления о том что именно внутри этого DEB. Это именно то что в старые добрые времена называлось "ламер". Хоть бы проверяли, что ли, перед тем как информацию выдавать - я вот проверяю, прежде чем что-то сказать, либо говорю что "я не разбирался в достаточной мере, чтобы утверждать что будет лучше". Я как раз занимаюсь сборкой пакетов, и о винде много лет назад думать забыл (с редкими исключениями), поэтому в этом вопросе я практически специалист.

Я согласился, что в вашем случае, возможно, удобнее будет кросс-компилировать на своей машине под нужную систему (если сможете это настроить - что, возможно, окажется сложнее, чем собирать на сервере даже без админских прав). Ставить себе линукс, чтобы собирать на нём бинарные пакеты для сервера... к которому даже доступ по SSH есть - входи и собирай... возможно, на другом дистрибутиве или другом релизе... на виртуальной машине... вот это, на мой взгляд, действительно чересчур.

Если устанавливать Debian будет слишком сложно (или лениво), а собирать надо редко - могу предложить воспользоваться LiveCD либо Дебиана, либо Ubuntu. Можно просто "паузить" настроенную виртуальную машину, и запускать потом снова, когда надо следующий релиз собрать. Но, на мой взгляд, более удобным решением будет либо кросс-компилировать, либо - ещё лучше - собирать прямо на сервере. Первоначальная идея была самой правильной с разных точек зрения.

vitaly_l писал(а):FPC - естественно может компилировать без Лазаруса и даже без LCL

Это мне пришлось объяснять им первые пару дней... При том что я уже сам во всём разобрался и даже написал инструкцию для тех кто не знает...
darkpenguin
новенький
 
Сообщения: 26
Зарегистрирован: 09.06.2017 19:23:32

Re: Использование LCL в fpc

Сообщение Сквозняк » 14.06.2017 01:14:59

darkpenguin писал(а):то после этого можно собирать проекты без графического интерфейса помощью просто "lazbuild project1.lpr"


Если у тебя установлен паскаль той же версии, какой собирался лазарус, то им можно собирать программы с графическим интерфейсом без всяких lazbuild. Иногда это даже удобнее - команда fpc умеет собирать программы не все файлы которых прописаны в проекте лазаруса. Например ты писал морду в лазарусе, а остальное в других редакторах, а потом собрал командой типа:

fpc programma.pas пути_к_лазарусным_модулям пути_к_паскалевским_модулям тип_графического_тулкита(например -dLCL -dLCLgtk2)

Лазарусные модули нужно прописывать в первую очередь, поскольку у некоторых из них совпадают имена с паскалевскими. Графический тулкит необходимо прописать чтобы обезопаситься от ситуации: собралось с GTK2, всё зашибись, а потом запустил программу в другом линуксе и она слинковалась с GTK3 и не запустилась. Эти данные ты можешь посмотреть в лазарусе: проект --> параметры проекта --> показать параметры. fpc понимает маски в конце путей к модулям.

Добавлено спустя 18 минут 4 секунды:
Снег Север писал(а):Немного дополню - почему я считаю концепцию "дикой". Потому, что проект лазаруса - это в 99.99% случаев - визуальный проект. Править таковой не в IDE, а на коленке - это извращение полнейшее.


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

Соответственно, пересборка проекта без лазаруса никому не нужна, что хорошо подтверждается и тем, что вики-статью никто не правил годами, хотя она и устарела.


Это очень полезно и хорошо работает для случаев когда программа не требует компонентов, которые не установлены в лазарусе по умолчанию. А статья в вики не правится потому что фанаты лазаруса не хотят учить как обходиться без лишних его включений.
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: Использование LCL в fpc

Сообщение Снег Север » 14.06.2017 07:26:00

Сквозняк писал(а):Это очень полезно и хорошо работает для случаев когда программа не требует компонентов, которые не установлены в лазарусе по умолчанию. А статья в вики не правится потому что фанаты лазаруса не хотят учить как обходиться без лишних его включений.
У меня практически нет программ, которые бы не использовали дополнительных пакетов - я всегда доустанавливаю несколько библиотек визуальных компонентов. Но как я уже написал, я всё равно этот линуксовский подход не принимаю. А тем, кто он него в восторге - мои поздравления, топикстартер вас порадовал такой возможностью.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2994
Зарегистрирован: 27.11.2007 16:14:47

Re: Использование LCL в fpc

Сообщение vitaly_l » 14.06.2017 08:18:16

darkpenguin писал(а):Или "а DEB это тоже архив! так что вы неправы!", не имея представления о том что именно внутри этого DEB. Это именно то что в старые добрые времена называлось "ламер".

Однако: файлы DEB - прекрасно открываются архиватором. И Пупсик Вас потом правильно поправил, когда увидел что, Вы даже этого не знаете. И такое Ваше незнание - действительно можно называть: "ламер", но постольку поскольку Вы, с Ваших слов: "в этом вопросе практически специалист", а не ламер, то остановимся на факте, о том что, Вы просто этого не знали (о том что, DEB - можно открывать архиватором).

darkpenguin писал(а):возможно, удобнее будет кросс-компилировать на своей машине под нужную систему (если сможете это настроить - что, возможно, окажется сложнее, чем собирать на сервере даже без админских прав)

Честно говоря я сомневаюсь, т.к. жать локально на "зелёный треугольник" - явно проще, чем строчить сложные команды для FPC на сервер и тем более настраивать FPC на удалённом сервере.

Касаемо компилирования без оболочки Лазаруса - я лично так собирал большой проект, в котором нужно было компилировать единовременно много чуть отличающихся бинарников - это нормально. Но у меня не возникал вопрос с LCL, т.к. на машине стоял полноценный Лазарус и все команды для FPC, я копировал из него.

Касаемо передачи исходников пользователям, для самостоятельной компиляции, то даже Вы "в этом вопросе практически специалист" - не можете толком настроить компиляцию в FPC, а уж обыкновенному пользователю в этом вопросе будет в 1 000 000 раз сложнее разобраться ИМХО.

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Использование LCL в fpc

Сообщение Лекс Айрин » 14.06.2017 10:04:35

darkpenguin писал(а):Посоветовать, что "...хотя я бы лучше нашёл какое-нибудь другое решение для этой задачи, поскольку так уж слишком зажописто получается" - это, действительно, было бы хорошо.


Дело в том, что не в каждой стране менталитет позволит сказать, что оппонент неправ. Обычно используются как раз такие вот иносказания и намеки. (типичный пример, американское "клиент всегда прав")

darkpenguin писал(а):Или "а DEB это тоже архив! так что вы неправы!", не имея представления о том что именно внутри этого DEB. Это именно то что в старые добрые времена называлось "ламер".


А никто не сомневается, что внутри пакета бинарники (реже тексты) программы и/или ее данные. Они настраиваются под конкретный дистрибутив, кроме того, запускается процесс настройки программы под систему... это вполне нормальный процесс установки под любой системой. Для этого не надо знать структуру самого пакета.

darkpenguin писал(а): Но, на мой взгляд, более удобным решением будет либо кросс-компилировать, либо - ещё лучше - собирать прямо на сервере.


На самом деле, тут выбора особого нет. Проще предположить, что программа собирается там же где она потом будет тестироваться. Ибо нет смысла гонять туда-сюда данные только чтобы проверить корректность сборки. К тому же, компиляция на сервере бинарников разных версий имеет смысл только в локальной сети, но опенсорсный продукт разрабатывают сотни и тысячи людей которым просто нет смысла давать доступ на компиляцию (сервер тогда будет вынужден компилировать раз за разом для каждого пользователя, после каждого изменения файлов и это ничем не будет отличаться от жесткой DDOS атаки). И на сервере, при вашем подходе, это по любому будет кросс-компиляция для всех вариантов кроме одного.

darkpenguin писал(а): Я как раз занимаюсь сборкой пакетов, и о винде много лет назад думать забыл (с редкими исключениями), поэтому в этом вопросе я практически специалист.


К сожалению, мы не ознакомлены с Вашей квалификацией и можем о ней судить только по задаваемым вопросам. И, если честно, как у админа, у меня волосы встанут дыбом, если мне скажут настроить ферму для компиляции. Не стоит забывать, что тогда придется добавлять ВСЕ пакеты используемые пользователями, в том числе, экзотические, в нескольких версиях, несколько инсталляций FPC, несколько lazbuildов... в общем, как вам и говорили: "...хотя я бы лучше нашёл какое-нибудь другое решение для этой задачи, поскольку так уж слишком зажописто получается".

Добавлено спустя 17 минут 58 секунд:
vitaly_l писал(а):Однако: файлы DEB - прекрасно открываются архиватором.


Архиватор и был предназначен изначально для доставки дистрибутивов на машины пользователей. Поэтому ничего странного, что он открывает инсталляционные пакеты... более того, сейчас архиваторы заходят даже в образы оптических дисков, чем я пару раз пользовался для распаковки, чтобы не нарезать болванки.

vitaly_l писал(а):FPC - естественно может компилировать без Лазаруса и даже без LCL

darkpenguin писал(а):Это мне пришлось объяснять им первые пару дней... При том что я уже сам во всём разобрался и даже написал инструкцию для тех кто не знает...


Стоп! Тут вы нам явно лжете. Если программа не требует LCL, то и, естественно, Lazarus не нужна и никто не говорил, что обязательно(желательно) его использовать. Более того, если речь идет об консольной программе, то целевая сборка должна производиться только в "голом" fpc.

А так, я сам через раз пишу тестовые примеры (если мне надо что-то быстренько уточнить) в Lazarus. Просто проще передернуть проект, чем открывать редактор, потом сохранять файл со сменой расширения, потом запускать компилятор... а потом обнаружить, что кодировка текста не совпадает и придется файл пересохранить.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Использование LCL в fpc

Сообщение darkpenguin » 14.06.2017 11:55:36

vitaly_l писал(а):Вы просто этого не знали (о том что, DEB - можно открывать архиватором).

Я не говорил, что их нельзя открыть архиватором. Их можно открыть и распаковать, так же как и большинство виндовых инсталлеров. Я сказал, что DEB-архив - это не "просто" архив, как и виндовый инсталлер, потому что кроме простой распаковки он производит и другие действия: подобно тому, как виндовый инсталлер иногда добавляет что-то в реестр, DEB при установке тоже может запускать pre-inst и post-inst скрипты. Более того, дерево каталогов в DEB рассчитано на установку в систему, и начинающему линуксоиду может быть не очень удобно собирать всё это по кускам в одно место. Возможно, проще собрать необходимый пакет из исходников самому, поскольку для этого есть удобные инструменты, и то, что получится в результате, в большинстве случаев будет лежать в одной директории и запускаться прямо оттуда безо всяких проблем.

Я не стал объяснять такие тонкости тем кто всё равно слушать не хочет - достаточно того что "в этом случае так лучше не делать, есть способы проще".

vitaly_l писал(а):Честно говоря я сомневаюсь, т.к. жать локально на "зелёный треугольник" - явно проще, чем строчить сложные команды для FPC на сервер и тем более настраивать FPC на удалённом сервере.

Я бы написал правильную команду один раз и записал её в скрипт, который потом при необходимости можно добавить в cron, чтобы программа автоматически собиралась ночью, когда нагрузка на сервер минимальная. И сделать всё это, скорее всего, окажется проще, чем настроить кросс-компиляцию (см.) на своей машине. И, возможно, удобнее, чем запускать виртуалку с линуксом...

vitaly_l писал(а):Касаемо передачи исходников пользователям, для самостоятельной компиляции, то даже Вы "в этом вопросе практически специалист" - не можете толком настроить компиляцию в FPC, а уж обыкновенному пользователю в этом вопросе будет в 1 000 000 раз сложнее разобраться ИМХО.

У меня возник вопрос, как сделать это именно в FPC и в ситуации с Лазарусом и LCL. Что вполне естественно, потому что тут это менее очевидно, чем в других IDE. Поэтому я разобрался и написал инструкцию для тех, кому разбираться будет сложно. Однако, тут надо понимать ещё один момент: это инструкция для разработчиков, поскольку это задача разработчика - сделать так, чтобы пользователю не приходилось ни о чём думать, когда он собирает пакет: он должен только запустить make , и всё сделается за него. Это и есть "стандарт", о котором я говорю. И разработчики должны это понимать, когда упаковывают свои пакеты для пользователей. В том числе, надо правильно указывать зависимости, чтобы бедному пользователю не пришлось ставить весь Lazarus для сборки пакета, если ему нужна только LCL.

Лекс Айрин писал(а):Дело в том, что не в каждой стране менталитет позволит сказать, что оппонент неправ. Обычно используются как раз такие вот иносказания и намеки. (типичный пример, американское "клиент всегда прав")

Нет, дело в том что не в каждой стране менталитет позволяет флудить на форуме и отвечать не по существу, а "зачем это вам? я этого не понимаю, а значит, вам это тоже не надо."

Лекс Айрин писал(а):И, если честно, как у админа, у меня волосы встанут дыбом, если мне скажут настроить ферму для компиляции. Не стоит забывать, что тогда придется добавлять ВСЕ пакеты используемые пользователями, в том числе, экзотические, в нескольких версиях, несколько инсталляций FPC, несколько lazbuildов...

Для всего этого давно уже есть инструменты, установить которые не составит труда для сисадмина, который работает в этой области. Однако, откуда здесь взялась "ферма для компиляции"?.. Такие решения используются только в компаниях, где много разработчиков постоянно разрабатывают софтину, и её надо постоянно пересобирать и тестировать. Простому пользователю (или вам для сборки пакета на сервере) должно быть достаточно просто запустить make. В нашем случае - можно даже не make, а просто скрипт с командой.
darkpenguin
новенький
 
Сообщения: 26
Зарегистрирован: 09.06.2017 19:23:32

Re: Использование LCL в fpc

Сообщение vitaly_l » 14.06.2017 12:11:21

darkpenguin писал(а):добавить в cron

Вы предлагаете мне, ждать компиляции после написания одной процедуры, до утра, пока крон соизволит запустить скрипт и откомпилировать новую процедуру или подправить существующую? ну... я не знаю... возможно опытные программисты именно так и пишут программы с помощью компиляции запускаемой 1 раз в сутки, кроном на сервере, ночью..., но для меня столь долгое ожидание - равноценно психическому срыву.

Хотя если проект командный и каждый пишет свой модуль, то итоговый результат - вполне можно собирать автоматом, по ночам (не задумываясь о несовместимости кода).

darkpenguin писал(а):Это и есть "стандарт", о котором я говорю. И разработчики должны это понимать, когда упаковывают свои пакеты для пользователей. В том числе, надо правильно указывать зависимости, чтобы бедному пользователю не пришлось ставить весь Lazarus для сборки пакета, если ему нужна только LCL.

Это мы все уже поняли. Но лично я до сих пор не могу понять: Почему пользователю нельзя отдать уже скомпилированый файл? Что мешает это сделать самому программисту? Объясните, возможно все остальные вопросы и советы - отпадут сами собой.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Пред.След.

Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru