fpc-3.2.4 загрузка исходников

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

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

fpc-3.2.4 загрузка исходников

Сообщение sunjob » 18.06.2024 12:54:59

ver.3.2.4

день добрый
как скачать исходники данной версии?!
спасибо
Аватара пользователя
sunjob
постоялец
 
Сообщения: 144
Зарегистрирован: 12.01.2011 15:19:54

Re: fpc-3.2.4 загрузка исходников

Сообщение Alexx2000 » 19.06.2024 13:33:01

Эта версия еще не выпущена. Исходники можно взять из Git.
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Re: fpc-3.2.4 загрузка исходников

Сообщение sunjob » 19.06.2024 17:26:33

Код: Выделить всё
#!/bin/sh
set -e; clear
DIR=$(date +%Y.%m.%d)
mkdir -p ${DIR}_trunk ${DIR}_fixes

cd ${DIR}_trunk
wget -c http://downloads.freepascal.org/fpc/snapshot/trunk/source/fpc.zip
wget -c http://downloads.freepascal.org/fpc/snapshot/trunk/source/fpcbuild.zip
cd ../${DIR}_fixes
wget -c http://downloads.freepascal.org/fpc/snapshot/fixes/source/fpc.zip
wget -c http://downloads.freepascal.org/fpc/snapshot/fixes/source/fpcbuild.zip
cd ../
Аватара пользователя
sunjob
постоялец
 
Сообщения: 144
Зарегистрирован: 12.01.2011 15:19:54

Re: fpc-3.2.4 загрузка исходников

Сообщение Little_Roo » 20.06.2024 00:30:43

sunjob
Линуксоид? Кнопкотоптатель? :wink: :wink: :wink:
Если Вы такой скрипт предложите своей жене, что бы она так стиралку включала... то...вечная память :cry: :cry:
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: fpc-3.2.4 загрузка исходников

Сообщение RRYTY » 20.06.2024 06:29:57

Little_Roo писал(а):sunjob
Линуксоид? Кнопкотоптатель?
Если Вы такой скрипт предложите своей жене, что бы она так стиралку включала... то...вечная память


Little_Roo неудачно вышел замуж, не смог разобраться с новой стиралкой? Не хороните себя раньше времени, слюбится, стерпится...
RRYTY
постоялец
 
Сообщения: 199
Зарегистрирован: 25.12.2021 10:00:32

Re: fpc-3.2.4 загрузка исходников

Сообщение Снег Север » 20.06.2024 06:46:58

Второе пришествие Христа. Естественно в Израиле.
Все бегают, суетятся. Абрам сидит, что-то делает.
Забегает к ниму человек
- Абрам Христос пришел.
- Не мешайте.
и так несколько раз Заходит Христос
- Абрам ну сколько можно ждать?
- Ой, ну кто бы говорил!
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3015
Зарегистрирован: 27.11.2007 16:14:47

Re: fpc-3.2.4 загрузка исходников

Сообщение Alexander » 20.06.2024 09:51:06

Если есть стремление попробовать версию выше релиза можно попробовать мою с pie:

http://soft.self-made-free.ru/ELFkickers_004.txz
http://soft.self-made-free.ru/fpcpie1_8.tar.xz
http://soft.self-made-free.ru/lazaruspie_3.tar.xz

Ставятся:
make deb
./installdeb.sh

Первым elfkickers - в системе появляется sstrip - он нужен для всех остальных.
Вторым fpcpie. Появляется fpc с поддержкой pie. Третьим - Lazarus с pie.

http://soft.self-made-free.ru/GORG64_200.tar.xz

Ставится:
make
make deb
./installdeb.sh

Появляется Galaxy Organizer, mseide, ideU, gcmp...
Последний раз редактировалось Alexander 04.07.2024 08:13:07, всего редактировалось 1 раз.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 731
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: fpc-3.2.4 загрузка исходников

Сообщение sunjob » 02.07.2024 09:12:46

спасибо!
но я предпочитаю скачивать с офф.источников и делать сборку самостоятельно (так оно надежнее, всегда знаешь что/где делается/патчится/собирается)
и у меня не дебиан. :)

можно попробовать мою с pie

- хостинг, это ваш личный?
- откуда исходники?
- сами дорабатывали/патчили?
Аватара пользователя
sunjob
постоялец
 
Сообщения: 144
Зарегистрирован: 12.01.2011 15:19:54

Re: fpc-3.2.4 загрузка исходников

Сообщение Alexander » 02.07.2024 13:01:22

Там и патч есть на Паскале. Изменения предельно простые: добавление параметра для создания PIC по умолчанию в штатную "карточку" для системы и указание внешнему линкеру собрать с PIE. Для Дебиан это сделано сразу и достаточно удобно, но патч работает в любом дистрибутиве, просто теряется присущее удобство предоставляемое инсталлятором Дебиан. Эти изменения настолько малы и понятны, что их можно сделать и вручную.
А вот версия самого Паскаля хитрее: это вроде обычная git версия, но так сложились исходники, что на том диапазоне версий можно успешно собрать FPC новой (3.3.1) версии из неё же. Обычно новую (из git) компилируют только релизной и там стоит блокировка на это.

Принцип такой: патчим, собираем релизной, делаем пакет (если дистрибутив с пакетами) или бинарники, деинсталлируем релизную версию, ставим новую.
Уже всё. Но можно пересобрать и переставить уже новой версией "для чистоты эксперимента".

я предпочитаю скачивать с офф.источников


Это не правильный подход в мире свободных исходников. По-хорошему нужно знать в совершенстве используемый инструмент и уметь его произвольно изменять и патчить. Тогда бы все эти вопросы не возникали. Например pie там нет, а он нужен - сколько не скачивай оттуда. Есть и другие полезные патчи.

Хостинг мой.

Патч:

Код: Выделить всё
program fpcpiepatch;

{
    FPC PIE patch.
    For GNU/Linux 64 bit version.
    Version: 1.
    Written on FreePascal (https://freepascal.org/).
    Copyright (C) 2023-2024  Artyomov Alexander
    http://self-made-free.ru/
    aralni@mail.ru

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
}

{$MODE OBJFPC}
{$H+}
{$RANGECHECKS ON}
{$SMARTLINK ON}

uses sysutils, unix;

var
m : utf8string = './fpc/Makefile.fpc';
p : utf8string = './fpc/fpcpiepatch.txt';
t : utf8string = './fpc/compiler/systems/t_linux.pas';
i : utf8string = './fpc/compiler/systems/i_linux.pas';
fpm, fpt, fpi, fptm : Text;
s : utf8string;
f : Int64;
n : boolean = false;

begin
if FileExists(p) then begin writeln('Already patched'); Halt; end;
Assign(fpm, m); Assign(fpt, t); Assign(fpi, i); Assign(fptm, p);
FileMode:=0;
ReSet(fpm); ReSet(fpt); ReSet(fpi);
FileMode:=1;
ReWrite(fptm);

while not eof(fpm) do begin // Ok
ReadLn(fpm, s);
WriteLn(fptm, s);
if s = 'PPSUF=x64' then WriteLn(fptm, 'OPT+=-Cg');
end; {wend}
Close(fpm);
Close(fptm);
fpSystem('cp ' + p + ' ' + m);
ReWrite(fptm);

while not eof(fpt) do begin
ReadLn(fpt, s);
if Pos('ExeCmd[1]:=LdProgram', s) <> 0 then begin WriteLn(fptm, 'ExeCmd[1]:=LdProgram+'' -lc --pie --dynamic-linker=/lib64/ld-linux-x86-64.so.2 ''+target_opt+emulation_opt+platformopt+'' $OPT $DYNLINK $STATIC $GCSECTIONS $STRIP $MAP $LTO $RPATH -L. -o $EXE'';'); continue; end;
if Pos('DllCmd[1]:=LdProgram', s) <> 0 then begin WriteLn(fptm, 'DllCmd[1]:=LdProgram+'' -lc --pie --dynamic-linker=/lib64/ld-linux-x86-64.so.2 ''+target_opt+emulation_opt+platformopt+'' $OPT $INIT $FINI $SONAME $MAP $LTO $RPATH -shared $GCSECTIONS -L. -o $EXE'';'); continue; end;
WriteLn(fptm, s);
end; {wend}
Close(fpt);
Close(fptm);
fpSystem('cp ' + p + ' ' + t);
ReWrite(fptm);

while not eof(fpi) do begin // Ok
ReadLn(fpi, s);
if Pos('tf_library_needs_pic' ,s) <> 0 then WriteLn(fptm, s + ' tf_pic_default,') else WriteLn(fptm, s);
if Pos('system_x86_64_linux_info', s) <> 0 then n := true;
end; {wend}
Close(fpi);
Close(fptm);
fpSystem('cp ' + p + ' ' + i);
ReWrite(fptm);

end.


Чтобы воспроизвести ровно ту git-версию, что в архиве можно сделать:
Код: Выделить всё
git clone https://gitlab.com/freepascal.org/fpc/source.git
cd fpc
git checkout c202c6c2


Наконец, и для недебиан систем всё равно можно создать тот же пакет теми же командами, затем или распаковать вручную как архивы ar, tar, или войти в него через Midnight Commander из под рута и скопировать содержимое в соответствующее место системы, затем запустить вручную скрипт postinst.
Файл deb - это просто ar архив с tar архивами внутри.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 731
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: fpc-3.2.4 загрузка исходников

Сообщение sunjob » 05.07.2024 06:14:24

Это не правильный

это ваше мнение! дальше не будем натации читать, ладно?! у всех свои задачи/рамки/весЫ и как следствие - свои пути неисповедимые... :D

для недебиан систем...

зачем это, для кого это?! все "это" я прекрасно знаю! но это не отменяет, а наборот - подразумевает сборку на "рабочей тачке" и, соответственно, сборка пакета средствами текущего дистрибьютива (и ни как иначе). спорить ведь не будем?! дистрибьютивов линуха, со своим стеком библиотек/тулчейнов итд со своими версиями, зависимостями итд... там далее такОе болото... что "аж жуть"! поэтому рассматривать "установку какого-либо" ненативного пакета - это более чем не айс! в аварийных случаях - да, можно попробовать вкостЫлить. но при нормальных условиях - это ... ой, не айс! (и спорить далее не буду 8) )
поэтому я собираю/опакечиваю все сам... из фофициаленных источников :lol: все-все, вот этими руками...

создать тот же пакет теми же командами

пакеты дОлжно собирать "дистро-зависимыми механизнами" :roll:
(на недебиан-линухе нет этих самых команд, кот. собирают пакет...)

PIC / PIE

подробнее можно? что это, для чего, итд. набегом не нашел...гугль тоже не знает :D
"патчер" глянул...
хотелось бы понять, что это, нужно оно и на сколько.


спасибо
Аватара пользователя
sunjob
постоялец
 
Сообщения: 144
Зарегистрирован: 12.01.2011 15:19:54

Re: fpc-3.2.4 загрузка исходников

Сообщение Alexander » 05.07.2024 08:55:34

> что это, нужно оно и на сколько
Есть ли в дистрибутиве аналог lintian для проверки корректности созданного пакета ? И если есть, что он говорит про не-PIE экзешники в пакете ?
lintian просто пишет ошибку.

https://en.wikipedia.org/wiki/Position-independent_code

И на сайте amd.com в поиске:
amd64 architecture programmer's manual
https://www.amd.com/content/dam/amd/en/ ... /24594.pdf
RIP-Relative Addressing
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 731
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: fpc-3.2.4 загрузка исходников

Сообщение sunjob » 05.07.2024 17:06:23

Есть ли в дистрибутиве аналог lintian

предназначен для дебиан-дистрибьютивов (debian, ubuntu, bubuntu etc)
у меня их нет ни в исходном варианте, ни в доп.хранилище :)
почитал ссылки, особенно pdf (650 pages)... :D
ладно, будем считать - вы меня уделали по всем статьям! есть к чему стремиться! :)

что по поводу скрипта-загрузки?
script
Аватара пользователя
sunjob
постоялец
 
Сообщения: 144
Зарегистрирован: 12.01.2011 15:19:54

Re: fpc-3.2.4 загрузка исходников

Сообщение Alexander » 06.07.2024 08:29:07

> у меня их нет ни в исходном варианте, ни в доп.хранилище

Как называется дистрибутив ?

Добавлено спустя 9 минут 7 секунд:
что по поводу скрипта-загрузки?


Скорее всего версия 3.2.4 была и в виде архива тогда, но её стёрли. Так что только копанием версий из git можно попытаться её найти.

На https://www.freepascal.org/download.html написано "found" и есть ссылка на https://www.freepascal.org/down/old/down.html , а там уже "Not Found", что как бы говорит об этом.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 731
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: fpc-3.2.4 загрузка исходников

Сообщение sunjob » 07.07.2024 16:53:23

Alexander писал(а):Как называется дистрибутив ?

не дебиан (и дочерние) :о) -> slackware-xxx

Скорее всего версия 3.2.4

я почему-то считал что текущие версии :P
Код: Выделить всё
snapshot/trunk
snapshot/fixes

куда мир катится?! :D
Аватара пользователя
sunjob
постоялец
 
Сообщения: 144
Зарегистрирован: 12.01.2011 15:19:54

Re: fpc-3.2.4 загрузка исходников

Сообщение Alexander » 07.07.2024 19:05:05

Для slackware не увидел в поиске ничего подобного, кроме слабенького
http://www.slackware.com/~alien/tools/checkpkg
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 731
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

След.

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

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

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

Рейтинг@Mail.ru