FPC 3.0.4

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

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

Re: FPC 3.0.4

Сообщение Снег Север » 13.12.2017 23:02:41

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

Re: FPC 3.0.4

Сообщение pupsik » 13.12.2017 23:40:30

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

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

Re: FPC 3.0.4

Сообщение Сквозняк » 15.12.2017 17:40:57

Снег Север писал(а):Не путайте одиночную говноподелку и программный комплекс.

И что программному комплексу "лазарус" надо в винде от реестра, а в линуксе от /usr ? У виндового ПО такие говнозависимости "лечат" хакеры когда изготавливают портируемые нелегальные версии программ. В лазарусе сразу нормально сделать - конечно же нельзя.
Сквозняк
энтузиаст
 
Сообщения: 615
Зарегистрирован: 29.06.2006 22:08:32

Re: FPC 3.0.4

Сообщение Снег Север » 16.12.2017 07:28:58

Мне единый реестр несравненно удобнее, чем 100500 конфигурационных файликов, которые каждый идиот сует куда ему моча в голову стукнет. И установка одним-двумя кликами удобнее, чем разруливание 100500 зависимостей от хрен знает каких хрен знает кем и когда написанных библиотек. И хакеров бояться - можно в лесу без интернета жить. Как вариант.
Аватара пользователя
Снег Север
энтузиаст
 
Сообщения: 1021
Зарегистрирован: 27.11.2007 16:14:47

Re: FPC 3.0.4

Сообщение Лекс Айрин » 16.12.2017 10:46:00

Снег Север, речь о другом. У лазаря вообще только 3-4 зависимости и они легко сохраняются в настройках -- пути до компилятора, его исходников, исходников самого лазаря и make файла.
Все остальное может меняться. И, кстати, сам лазарь может запуститься и без этого.

А все "програмные комплексы" требуют наличия определенной внешней инфраструктуры, без которой их функционал резко деградирует. И все это не зависит от того хранятся ли настройки в реестре или в куче конфигов. Реестр, кстати, плох тем, что если его запороть, то портится вся система.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4200
Зарегистрирован: 19.02.2013 16:54:51

Re: FPC 3.0.4

Сообщение Сквозняк » 17.12.2017 20:37:34

Лекс Айрин писал(а):У лазаря вообще только 3-4 зависимости и они легко сохраняются в настройках -- пути до компилятора

...путь до модулей компилятора, путь до конфига компилятора...

Добавлено спустя 2 минуты 58 секунд:
Снег Север писал(а):Мне единый реестр несравненно удобнее, чем 100500 конфигурационных файликов, которые каждый идиот сует куда ему моча в голову стукнет.

В твоём случае в реестре пишут как моча в голову стукнет. Та же хрень, только упакованная и охраняемая антивирусом, из-за чего так популярны портируемые версии программ.
Сквозняк
энтузиаст
 
Сообщения: 615
Зарегистрирован: 29.06.2006 22:08:32

Re: FPC 3.0.4

Сообщение Лекс Айрин » 17.12.2017 20:56:30

Сквозняк писал(а):...путь до модулей компилятора, путь до конфига компилятора...


А вот путь до конфигов совсем не обязательно. Зачем, если есть возможность запускать его напрямую с любыми опциями. Единственное, что требуется это добавление своих путей поиска модулей, но для этого нужен проект. Т. е., грубо говоря, Make файл. Да и в винде конфиги лежат в папке с fpc. В лине не помню, но тоже легко доступны и не требуют особых настроек. Вроде бы в "домашняя папка/.fpc".

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

Re: FPC 3.0.4

Сообщение Сквозняк » 20.12.2017 20:05:16

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

Тогда и лазарус не нужен. Зачем среда с автоматизацией, если всё можно сделать в текстовом редакторе.

Единственное, что требуется это добавление своих путей поиска модулей, но для этого нужен проект. Т. е., грубо говоря, Make файл.
Спасибо за эту сишную дрянь, теперь она нужна не только для компилящии всего fpc и лазаруса, но и для хелловорда!

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

Модули компилятора, кстати, сам компилятор и должен искать -- это его внутреннее дело.
Так ведь не может сам найти! Компилятор лезет в /etc/fpc.cfg а там прописано что его модули находятся в /usr/lib64
Сквозняк
энтузиаст
 
Сообщения: 615
Зарегистрирован: 29.06.2006 22:08:32

Re: FPC 3.0.4

Сообщение Лекс Айрин » 20.12.2017 20:28:04

Сквозняк писал(а):Зачем среда с автоматизацией, если всё можно сделать в текстовом редакторе.


Для удобства, конечно. Формошлепство в текстовом виде далеко не такое удобное дело, как графический макет формы.

Сквозняк писал(а):Спасибо за эту сишную дрянь, теперь она нужна не только для компилящии всего fpc и лазаруса,


Я сказал, грубо говоря. Сам не понимал смысл его использования. Ну и семантику заодно. Ладно бы было средство создания его для своей проги в автоматическом режиме.

Сквозняк писал(а):Компиляторов надо иметь несколько версий, а место для конфига в хомяке - одно.


Это пример неправильной организации рабочего места. Накуа тебе возможность создания нескольких пользователей, если ею не пользоваться? Раскидай компиляторы по хомякам нескольких пользователей. Ну и лазарей заодно.

Сквозняк писал(а):Так ведь не может сам найти!


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

Re: FPC 3.0.4

Сообщение Сквозняк » 21.12.2017 04:23:07

Лекс Айрин писал(а):Накуа тебе возможность создания нескольких пользователей, если ею не пользоваться? Раскидай компиляторы по хомякам нескольких пользователей. Ну и лазарей заодно.

Дисковое пространство не резиновое чтобы в тесный пользовательский раздел подселять ещё кучу фиктивных пользователей. До сих пор делать разделы >500 гектар чревато - наследие ОС, с которым ещё долго придётся считаться. А винты <=2Тб - наследие железа. А потом в фиктивных пользователей нужно будет слазить чтобы что-то там настроить, а потом с правами на общие файлы разбираться - нафиг нужен весь этот бред.

Как же не находит, если ты сам указал способ нахождения.


Я не указывал этот способ, в лазарусе нет соответствующего окошка.

И да, могу подсказать как решить эту проблему -- используй самостоятельно скомпиленые версии в хомяке, а не установленные в системе.


Это дурдом. Программа на паскале становится почти такой же хреновой как и сишные изделия - на каждый случай пересобирай, трахайся с make.
Сквозняк
энтузиаст
 
Сообщения: 615
Зарегистрирован: 29.06.2006 22:08:32

Re: FPC 3.0.4

Сообщение fedan » 21.12.2017 09:06:25

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

Для этих целей у меня вот такой ~/.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
У вас нет необходимых прав для просмотра вложений в этом сообщении.
fedan
новенький
 
Сообщения: 36
Зарегистрирован: 15.09.2016 21:18:48

Re: FPC 3.0.4

Сообщение Лекс Айрин » 21.12.2017 09:54:52

Сквозняк писал(а):Дисковое пространство не резиновое чтобы в тесный пользовательский раздел подселять ещё кучу фиктивных пользователей.


Не так уж и много места. У меня музыка больше места занимала.

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


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

Лазарус и так каждый раз пересобирать приходится... что поделать, если у него идеология использования такова. Как и у fpc.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4200
Зарегистрирован: 19.02.2013 16:54:51

Re: FPC 3.0.4

Сообщение Сквозняк » 21.12.2017 17:53:25

Лекс Айрин писал(а):Не так уж и много места. У меня музыка больше места занимала.

Так музыка и не в хомяке. Рано или поздно но приходится балансировать около нуля:(
Вместо этого ты занимаешься еще большим геморроем переставляя компилятор и лазарус.

В линуксе дополнительный лазарус, кроме последнего, сегфолтящегося, ставится просто распаковкой в каталог всех пакетов. Переставлять нужно только симлинк в /usr/ Но это тоже хреново, однажды может понадобиться иметь 2 лазаруса с 2 разными компиляторами, версия которых называется одинаково, симлинк их не различит.

[quoteЛазарус и так каждый раз пересобирать приходится... что поделать, если у него идеология использования такова.][/quote]
Не каждый раз. И компилятор пересобирать не надо. Плоха не пересборка вообще, а когда требуют устанавливать компилятор в систему а там уже есть другой компилятор.
Сквозняк
энтузиаст
 
Сообщения: 615
Зарегистрирован: 29.06.2006 22:08:32

Re: FPC 3.0.4

Сообщение alexs » 21.12.2017 17:56:36

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

Для таких случаев лучше использовать виртуалки
У меня для тестирования работы постоянно используется порядка 5 виртуалок. И это не считая вайна в линкусе :-)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3647
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FPC 3.0.4

Сообщение Сквозняк » 21.12.2017 21:52:12

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)

"А крыша хлопает в ладоши, а значит план у нас хороший"(ц) Мусор какой-то в пакеты пихают :evil: D В спеке прописана сборка документации, а из исходников она вырезана. Но можно же поставить уже готовый лазарусный фпц и собрать только лазарус!
$ 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
Нету времени и желания ещё и кучу патчей накладывать для сборки этого глюкодрома.
Сквозняк
энтузиаст
 
Сообщения: 615
Зарегистрирован: 29.06.2006 22:08:32

Пред.След.

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

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

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

Рейтинг@Mail.ru