Распространение в linux программ на FPC
Модератор: Модераторы
Распространение в linux программ на FPC
Всем привет !
Кто-нибудь пробовал распространять откомпилированные программы на FPC для linux ?
Помнится лет 10 назад мне удавалось успешно запускать консольные приложения ( статически скомпилированные или с минимальными зависимостями ).
Компилировал на AspLinux(RedHat compatible) 32-bit - успешно запускал на Debian !
Сейчас откомпилировал на 64-bit CentOS 7 (статически) простое консольное 64-bit "Hello, World !" -
на 64-bit Debian не запускается с какой-то абсолютно невнятной Run-time error...
Что делать и кто виноват ?
Кто-нибудь пробовал распространять откомпилированные программы на FPC для linux ?
Помнится лет 10 назад мне удавалось успешно запускать консольные приложения ( статически скомпилированные или с минимальными зависимостями ).
Компилировал на AspLinux(RedHat compatible) 32-bit - успешно запускал на Debian !
Сейчас откомпилировал на 64-bit CentOS 7 (статически) простое консольное 64-bit "Hello, World !" -
на 64-bit Debian не запускается с какой-то абсолютно невнятной Run-time error...
Что делать и кто виноват ?
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Компилировал на 64-битном убунту и запускал на 64-битном Debian сервере. ТАкже делал кросс-компиляцию на Linux из Windows и также запускал на десктопах Ubuntu и серверах Debian.
Транк? Не удивляйтесь, там часто ломают и быстро ремонтируют. Да, привязки к libc нет, можно, при желании, и на системе 2001 года запустить...grot писал(а):Сейчас откомпилировал на 64-bit CentOS 7 (статически) простое консольное 64-bit "Hello, World !" -
на 64-bit Debian не запускается с какой-то абсолютно невнятной Run-time error...
wavebvg писал(а):Транк? Не удивляйтесь, там часто ломают и быстро ремонтируют. Да, привязки к libc нет, можно, при желании, и на системе 2001 года запустить...grot писал(а):Сейчас откомпилировал на 64-bit CentOS 7 (статически) простое консольное 64-bit "Hello, World !" -
на 64-bit Debian не запускается с какой-то абсолютно невнятной Run-time error...
Нет, это на старом-добром fpc 2.6.4
А пытаюсь запустить у "хостера" - это откомпилированный cgi-bin модуль.
Сильно подозреваю, что там "закручена" безопасность "на выполнение" приложения ...
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Там еще может быть много чего... Права на исполняемый файл не так прописали. Расширение не то. К примеру, когда я пробовал запустить fast-cgi на сервере, то выяснилось, что апач нельзя запускать в режиме mpm-itk, как я привык это делать всегда до этого. Попробуйте запускать любое другое приложение CGI, которое гарантировано должно на этом сервере запустится или попробуйте запустить на сервере, на котором точно запустится Ваше cgi-приложение. Скорее всего дело не в компиляторе. Да, и у Вас случайно не виртуальный shared-хостинг? Тогда точно не будет запускаться
Ichthyander писал(а):...Да, и у Вас случайно не виртуальный shared-хостинг? Тогда точно не будет запускаться
Да, это shared-хостинг ...
Помимо cgi-bin модуля, пробовал и обычное консольное "Hello, World !"
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
На виртуальных хостингах из соображений безопасности бинарники, как минимум, не будут работать. Скипты CGI только на некоторых будут запускаться после соответствующих настроек.
Просто арендуйте виртуальный или выделенный сервер. Они по цене как виртуальные хостинги. Я к примеру, на Hetzner беру, там дешевеле всего, дешевле чем у нас в РФ виртуальные shared хостинги и при этом нагрузку держат.
Просто арендуйте виртуальный или выделенный сервер. Они по цене как виртуальные хостинги. Я к примеру, на Hetzner беру, там дешевеле всего, дешевле чем у нас в РФ виртуальные shared хостинги и при этом нагрузку держат.
Линухgrot писал(а):Сейчас откомпилировал на 64-bit CentOS 7 (статически) простое консольное 64-bit "Hello, World !" -
на 64-bit Debian не запускается с какой-то абсолютно невнятной Run-time error...
Что делать и кто виноват ?
Сейчас ходил к одним, они спрашивали меня как так производитель дает сырое ядро.. куча скриптов которые не работают. На что я сказал, что они выполнили пункт об GPL. Дальше вы берете "руки в ноги" и клепаете на свой страх и риск. Ну либо ищите специалистов здесь или там..
Вот такие "страх и ненависть" в корпоративной среде с OpenSource.
Ichthyander писал(а):...Просто арендуйте виртуальный или выделенный сервер...
Да есть у меня своих несколько VPS...
Просто прощупываю почву для некого решения для широких слоев пользователей, сидящих, обычно, на shared-hosting ...
тогда имеет смысл линковать библиотеки статически.grot писал(а):Просто прощупываю почву для некого решения для широких слоев пользователей, сидящих, обычно, на shared-hosting ...
Когда все будет находится в exe-нике.
- wofs
- постоялец
- Сообщения: 379
- Зарегистрирован: 05.10.2009 10:16:55
- Откуда: Астрахань
- Контактная информация:
На самом деле варианта 2 - один тру, другой не очень тру 
Вариант 1 (тру). Собрать пакет под целевую систему. В нем вы пропишете все требуемые зависимости и установщик автоматически все подтянет и поставит.
Вариант 2 (не очень тру). Создать .sh скрипт. Нечто вроде конфигурационного скрипта, который при первом запуске будет проверять наличие требуемых зависимостей и доставлять (или предупреждать) отсутствующие.
Первый вариант для Linux предпочтителен. Тем более, что собрать пакет не так уж и сложно.
Из опыта пользования Linux скажу, что сколь-нибудь сложные приложения не стоит распространять в так называемом portable варианте (читай вариант 3) - зачастую вместо двойного клика на пакете (или $sudo dpkg -i myprogram.deb) приходится плясать с бубном для запуска приложения.
Вариант 1 (тру). Собрать пакет под целевую систему. В нем вы пропишете все требуемые зависимости и установщик автоматически все подтянет и поставит.
Вариант 2 (не очень тру). Создать .sh скрипт. Нечто вроде конфигурационного скрипта, который при первом запуске будет проверять наличие требуемых зависимостей и доставлять (или предупреждать) отсутствующие.
Первый вариант для Linux предпочтителен. Тем более, что собрать пакет не так уж и сложно.
Из опыта пользования Linux скажу, что сколь-нибудь сложные приложения не стоит распространять в так называемом portable варианте (читай вариант 3) - зачастую вместо двойного клика на пакете (или $sudo dpkg -i myprogram.deb) приходится плясать с бубном для запуска приложения.
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Вставлю свою копейку )
По поводу 3-ех вариантов: с библиотеками или без, на виртуальном shared хостинге у него бинарники не запустятся. Скорее всего без вариантов.
А на сервере запустятся, думаю без проблем. Для широких слоев населения бинарник на сервер не лучшее решение. Если же эти "слои" пользователей достаточно продвинутые, то они могут поднять и админить виртуальный, как минимум, сервер.
По поводу 3-ех вариантов: с библиотеками или без, на виртуальном shared хостинге у него бинарники не запустятся. Скорее всего без вариантов.
А на сервере запустятся, думаю без проблем. Для широких слоев населения бинарник на сервер не лучшее решение. Если же эти "слои" пользователей достаточно продвинутые, то они могут поднять и админить виртуальный, как минимум, сервер.
