Не путайте одиночную говноподелку и программный комплекс. Впрочем по линуксами и говноподелка нередко требует 100500 дополнительных пакетов и либов.Сквозняк писал(а):Нормально написанной программе она обычно не нужна: распаковал архив с программой, тыкнул в тыкалку, оно и заработало.
FPC 3.0.4
Модератор: Модераторы
- Снег Север
- долгожитель
- Сообщения: 3071
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
чёт у мну системы не правильные и луны не так сходятся. Сколько этих раскладушек с тифоном поломано - песец поседеть может.Я имел ввиду, прежде всего, насколько удобно и грамотна сделана инсталляция. Никакие fpcupdeluxe и рядом не лежали.
И проблемы с установкой не только в лине, а и в винде. Будь то дев ветка, или стабильный релиз. Проблемы не с установкой (это они уже подправили и не вылезало), а сборкой тифона. Они то одну "хорошую" вещь забудут подправить, то другую. И компиляция валится, а потом ищи где именно свалилось. Попытка поубирать лишнее вообще может закончится плачевно.
как раз тифон не сильно тянет на комплекс. Попытка содрать с готового и криво винтить свое - это не комплекс. Хотя: подход, возможно, комплексный.Не путайте одиночную говноподелку и программный комплекс.
Снег Север писал(а):Не путайте одиночную говноподелку и программный комплекс.
И что программному комплексу "лазарус" надо в винде от реестра, а в линуксе от /usr ? У виндового ПО такие говнозависимости "лечат" хакеры когда изготавливают портируемые нелегальные версии программ. В лазарусе сразу нормально сделать - конечно же нельзя.
- Снег Север
- долгожитель
- Сообщения: 3071
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Мне единый реестр несравненно удобнее, чем 100500 конфигурационных файликов, которые каждый идиот сует куда ему моча в голову стукнет. И установка одним-двумя кликами удобнее, чем разруливание 100500 зависимостей от хрен знает каких хрен знает кем и когда написанных библиотек. И хакеров бояться - можно в лесу без интернета жить. Как вариант.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Снег Север, речь о другом. У лазаря вообще только 3-4 зависимости и они легко сохраняются в настройках -- пути до компилятора, его исходников, исходников самого лазаря и make файла.
Все остальное может меняться. И, кстати, сам лазарь может запуститься и без этого.
А все "програмные комплексы" требуют наличия определенной внешней инфраструктуры, без которой их функционал резко деградирует. И все это не зависит от того хранятся ли настройки в реестре или в куче конфигов. Реестр, кстати, плох тем, что если его запороть, то портится вся система.
Все остальное может меняться. И, кстати, сам лазарь может запуститься и без этого.
А все "програмные комплексы" требуют наличия определенной внешней инфраструктуры, без которой их функционал резко деградирует. И все это не зависит от того хранятся ли настройки в реестре или в куче конфигов. Реестр, кстати, плох тем, что если его запороть, то портится вся система.
Лекс Айрин писал(а):У лазаря вообще только 3-4 зависимости и они легко сохраняются в настройках -- пути до компилятора
...путь до модулей компилятора, путь до конфига компилятора...
Добавлено спустя 2 минуты 58 секунд:
Снег Север писал(а):Мне единый реестр несравненно удобнее, чем 100500 конфигурационных файликов, которые каждый идиот сует куда ему моча в голову стукнет.
В твоём случае в реестре пишут как моча в голову стукнет. Та же хрень, только упакованная и охраняемая антивирусом, из-за чего так популярны портируемые версии программ.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Сквозняк писал(а):...путь до модулей компилятора, путь до конфига компилятора...
А вот путь до конфигов совсем не обязательно. Зачем, если есть возможность запускать его напрямую с любыми опциями. Единственное, что требуется это добавление своих путей поиска модулей, но для этого нужен проект. Т. е., грубо говоря, Make файл. Да и в винде конфиги лежат в папке с fpc. В лине не помню, но тоже легко доступны и не требуют особых настроек. Вроде бы в "домашняя папка/.fpc".
Модули компилятора, кстати, сам компилятор и должен искать -- это его внутреннее дело. А модули лазаря он и так знает куда задевал. Да и при наличии исходников недолго и скомпилировать их все заново.
Лекс Айрин писал(а):А вот путь до конфигов совсем не обязательно. Зачем, если есть возможность запускать его напрямую с любыми опциями.
Тогда и лазарус не нужен. Зачем среда с автоматизацией, если всё можно сделать в текстовом редакторе.
Спасибо за эту сишную дрянь, теперь она нужна не только для компилящии всего fpc и лазаруса, но и для хелловорда!Единственное, что требуется это добавление своих путей поиска модулей, но для этого нужен проект. Т. е., грубо говоря, Make файл.
Из домашнего каталога все паскалевские конфиги приходится регулярно вычищать - они создают проблемы, когда их не ждёшь. Компиляторов надо иметь несколько версий, а место для конфига в хомяке - одно.В лине не помню, но тоже легко доступны и не требуют особых настроек. Вроде бы в "домашняя папка/.fpc".
Так ведь не может сам найти! Компилятор лезет в /etc/fpc.cfg а там прописано что его модули находятся в /usr/lib64Модули компилятора, кстати, сам компилятор и должен искать -- это его внутреннее дело.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Сквозняк писал(а):Зачем среда с автоматизацией, если всё можно сделать в текстовом редакторе.
Для удобства, конечно. Формошлепство в текстовом виде далеко не такое удобное дело, как графический макет формы.
Сквозняк писал(а):Спасибо за эту сишную дрянь, теперь она нужна не только для компилящии всего fpc и лазаруса,
Я сказал, грубо говоря. Сам не понимал смысл его использования. Ну и семантику заодно. Ладно бы было средство создания его для своей проги в автоматическом режиме.
Сквозняк писал(а):Компиляторов надо иметь несколько версий, а место для конфига в хомяке - одно.
Это пример неправильной организации рабочего места. Накуа тебе возможность создания нескольких пользователей, если ею не пользоваться? Раскидай компиляторы по хомякам нескольких пользователей. Ну и лазарей заодно.
Сквозняк писал(а):Так ведь не может сам найти!
Как же не находит, если ты сам указал способ нахождения. Только боюсь, что это проблема не компилятора, а системы. И да, могу подсказать как решить эту проблему -- используй самостоятельно скомпиленые версии в хомяке, а не установленные в системе.
Лекс Айрин писал(а):Накуа тебе возможность создания нескольких пользователей, если ею не пользоваться? Раскидай компиляторы по хомякам нескольких пользователей. Ну и лазарей заодно.
Дисковое пространство не резиновое чтобы в тесный пользовательский раздел подселять ещё кучу фиктивных пользователей. До сих пор делать разделы >500 гектар чревато - наследие ОС, с которым ещё долго придётся считаться. А винты <=2Тб - наследие железа. А потом в фиктивных пользователей нужно будет слазить чтобы что-то там настроить, а потом с правами на общие файлы разбираться - нафиг нужен весь этот бред.
Как же не находит, если ты сам указал способ нахождения.
Я не указывал этот способ, в лазарусе нет соответствующего окошка.
И да, могу подсказать как решить эту проблему -- используй самостоятельно скомпиленые версии в хомяке, а не установленные в системе.
Это дурдом. Программа на паскале становится почти такой же хреновой как и сишные изделия - на каждый случай пересобирай, трахайся с make.
Сквозняк писал(а):Из домашнего каталога все паскалевские конфиги приходится регулярно вычищать - они создают проблемы, когда их не ждёшь. Компиляторов надо иметь несколько версий, а место для конфига в хомяке - одно.
Для этих целей у меня вот такой ~/.fpc.cfg:
Код: Выделить всё
#IFDEF VER2_6_5
#WRITE include /home/public/programs/dev-fpc/fpc/2.6.5/lib/fpc/2.6.5/fpc.cfg
#INCLUDE /home/public/programs/dev-fpc/fpc/2.6.5/lib/fpc/2.6.5/fpc.cfg
#ELSE
#IFDEF VER3_0_1
#WRITE include /home/public/programs/dev-fpc/fpc/3.0.1/lib/fpc/3.0.1/fpc.cfg
#INCLUDE /home/public/programs/dev-fpc/fpc/3.0.1/lib/fpc/3.0.1/fpc.cfg
#ELSE
#IFDEF VER3_0_2
#WRITE include /home/public/programs/dev-fpc/fpc/3.0.2/lib/fpc/3.0.2/fpc.cfg
#INCLUDE /home/public/programs/dev-fpc/fpc/3.0.2/lib/fpc/3.0.2/fpc.cfg
#ELSE
#IFDEF VER3_0_3
#WRITE include /home/public/programs/dev-fpc/fpc/3.0.3/lib/fpc/3.0.3/fpc.cfg
#INCLUDE /home/public/programs/dev-fpc/fpc/3.0.3/lib/fpc/3.0.3/fpc.cfg
#ELSE
#IFDEF VER3_0_4
#WRITE include /home/public/programs/dev-fpc/fpc/3.0.4/lib/fpc/3.0.4/fpc.cfg
#INCLUDE /home/public/programs/dev-fpc/fpc/3.0.4/lib/fpc/3.0.4/fpc.cfg
#ELSE
#IFDEF VER3_0_5
#WRITE include /home/public/programs/dev-fpc/fpc/3.0.5/lib/fpc/3.0.5/fpc.cfg
#INCLUDE /home/public/programs/dev-fpc/fpc/3.0.5/lib/fpc/3.0.5/fpc.cfg
#ELSE
#IFDEF VER3_0_6
#WRITE include /home/public/programs/dev-fpc/fpc/3.0.6/lib/fpc/3.0.6/fpc.cfg
#INCLUDE /home/public/programs/dev-fpc/fpc/3.0.6/lib/fpc/3.0.6/fpc.cfg
#ELSE
#IFDEF VER3_1_1
#WRITE include /home/public/programs/dev-fpc/fpc/3.1.1/lib/fpc/3.1.1/fpc.cfg
#INCLUDE /home/public/programs/dev-fpc/fpc/3.1.1/lib/fpc/3.1.1/fpc.cfg
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
#ENDIF
# searchpath for libraries
-Fl/home/public/programs/dev-fpc/fpc/lib/$FPCTARGET
/home/public/programs/dev-fpc/env.sh:
Код: Выделить всё
#!/bin/sh
#
FPC_VERSIONS="
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
"
BASE_DIR=/home/public/programs/dev-fpc
FPC_DIR=${BASE_DIR}/fpc
FPC_BIN_DIR=
for VER in ${FPC_VERSIONS}; do
FPC_BIN_DIR=${FPC_DIR}/${VER}/bin
if [ -d ${FPC_BIN_DIR} ]; then
FPC_DIR=${FPC_DIR}/${VER}
break
fi
done;
export PATH=${BASE_DIR}/lazarus:${FPC_BIN_DIR}:${PATH}
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${BASE_DIR}/fpc/lib/x86_64-linux
/home/public/programs/dev-fpc/startlazarus.sh:
Код: Выделить всё
#!/bin/sh
#
source /home/public/programs/dev-fpc/env.sh
cd ${BASE_DIR}
GTK_IM_MODULE=multipress
QT_IM_MODULE=multipress
cd ${BASE_DIR}/lazarus
${BASE_DIR}/lazarus/startlazarus "$@"
~/.local/share/applications/lazarus.desktop:
Код: Выделить всё
[Desktop Entry]
Name=Lazarus
Comment=Lazarus IDE
Exec=/home/public/programs/dev-fpc/startlazarus.sh %f
Terminal=false
Type=Application
Icon=lazarus.png
Categories=Application;IDE;Development;GTK;GUIDesigner;
StartupWMClass=Lazarus
MimeType=text/x-pascal;text/lazarus-project-source;text/lazarus-project-information;text/lazarus-form;text/lazarus-resource;text/lazarus-package;text/lazarus-package-link;text/lazarus-code-inlay;
Keywords=editor;Pascal;IDE;FreePascal;fpc;Design;Designer;
[Property::X-KDE-NativeExtension]
Type=QString
Value=.pas
X-Ubuntu-Gettext-Domain=desktop_kdelibs
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Сквозняк писал(а):Дисковое пространство не резиновое чтобы в тесный пользовательский раздел подселять ещё кучу фиктивных пользователей.
Не так уж и много места. У меня музыка больше места занимала.
Сквозняк писал(а): А потом в фиктивных пользователей нужно будет слазить чтобы что-то там настроить, а потом с правами на общие файлы разбираться - нафиг нужен весь этот бред.
Вместо этого ты занимаешься еще большим геморроем переставляя компилятор и лазарус. А насчет прав ты не прав.Просто надо правильно их настроить один раз.
Сквозняк писал(а): Программа на паскале становится почти такой же хреновой как и сишные изделия - на каждый случай пересобирай, трахайся с make.
Лазарус и так каждый раз пересобирать приходится... что поделать, если у него идеология использования такова. Как и у fpc.
Лекс Айрин писал(а):Не так уж и много места. У меня музыка больше места занимала.
Так музыка и не в хомяке. Рано или поздно но приходится балансировать около нуля:(
Вместо этого ты занимаешься еще большим геморроем переставляя компилятор и лазарус.
В линуксе дополнительный лазарус, кроме последнего, сегфолтящегося, ставится просто распаковкой в каталог всех пакетов. Переставлять нужно только симлинк в /usr/ Но это тоже хреново, однажды может понадобиться иметь 2 лазаруса с 2 разными компиляторами, версия которых называется одинаково, симлинк их не различит.
[quoteЛазарус и так каждый раз пересобирать приходится... что поделать, если у него идеология использования такова.][/quote]
Не каждый раз. И компилятор пересобирать не надо. Плоха не пересборка вообще, а когда требуют устанавливать компилятор в систему а там уже есть другой компилятор.
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Сквозняк писал(а): однажды может понадобиться иметь 2 лазаруса с 2 разными компиляторами, версия которых называется одинаково, симлинк их не различит.
Для таких случаев лучше использовать виртуалки
У меня для тестирования работы постоянно используется порядка 5 виртуалок. И это не считая вайна в линкусе
alexs писал(а):Для таких случаев лучше использовать виртуалки
Для них нужна излишняя мощность процессора и материнки, и много-много места на диске. Несколько раз подумаешь прежде чем заводить новую. Самая жесть это запуск десятки в линуксовой виртуалке - просто нажать на кнопки в интерфейсе тот ещё квест.
Добавлено спустя 10 часов 30 минут 32 секунды:
Установил центос 6.9 в виртуалку, попытался собрать src.rpm лазаруса.
Код: Выделить всё
[$ rpmbuild --rebuild fpc-3.0.4-1.src.rpmКод: Выделить всё
Compiling unicode/uca_test.pas
Linking unicode/bin/x86_64-linux/unihelper
[100%] Compiled package utils-unicode
make[1]: Leaving directory `/home/12345/rpmbuild/BUILD/fpc-3.0.4/utils'
+ '[' -z ']'
+ make -C fpcdocs pdf FPC=/home/12345/rpmbuild/BUILD/fpc-3.0.4/compiler/ppcx64
make: *** fpcdocs: No such file or directory. Stop.
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.0vtDmK (%build)
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.0vtDmK (%build)"А крыша хлопает в ладоши, а значит план у нас хороший"(ц) Мусор какой-то в пакеты пихают
$ rpmbuild --rebuild lazarus-1.8.0-0.src.rpm
Нету времени и желания ещё и кучу патчей накладывать для сборки этого глюкодрома.make[2]: Entering directory `/home/12345/rpmbuild/BUILD/lazarus-1.8.0/lazarus/tools'
Makefile:2729: warning: overriding commands for target `.'
Makefile:2727: warning: ignoring old commands for target `.'
/usr/bin/ppcx64 -gl -Fu. -Fu../components/lazutils/lib/x86_64-linux -Fu../lcl/units/x86_64-linux -Fu../lcl/units/x86_64-linux/nogui -FE. -FU. -Cg -Fl/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -Flinclude -Flld.so.conf.d/*.conf -Fl/opt/gnome/lib -k--build-id -dx86_64 lazres.pp
Free Pascal Compiler version 3.0.4 [2017/10/02] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling lazres.pp
Linking ./lazres
/usr/bin/ld: warning: ./link.res contains output sections; did you forget -T?
/usr/bin/ld: BFD version 2.20.51.0.2-5.47.el6_9.1 20100205 internal error, aborting at reloc.c line 443 in bfd_get_reloc_size
/usr/bin/ld: Please report this bug.
Error: Error while linking
