Bug 20428

Summary: Сборка PeaZip
Product: New/proposed packages Reporter: Владимир <queq>
Component: Обычный репозиторийAssignee: ashen <lex.shen>
Status: REOPENED --- QA Contact: Andrey Cherepanov <cas>
Severity: enhancement    
Priority: P3 CC: aen, berkut_174, bga, lex.shen, mike
Version: не указана   
Hardware: all   
OS: Linux   
URL: http://www.peazip.org/
Attachments:
Description Flags
unfinished spec none

Description Владимир 2009-06-13 01:26:28 MSD
Архиватор и Менеджер Архивов PearZip.
Впечатляет своей функциональностью и простотой. Поддерживает множество языков "из коробки", в том числе и русский, умеет работать с кириллическими именами архивов и просто очень удобен в работе. Так же умеет разбивать и шифровать архивы "двумя кликами мышки", например, под объём floppy диска или CD. Если кто из майнтейнеров, работающих с Pascal, окажется заинтересованным, большой респект.
Comment 1 Michael Shigorin 2009-09-21 02:14:25 MSD
Created attachment 3913 [details]
unfinished spec

При сборке на основе заметно зачищенного src.rpm из packman[1]

Компоновка pea
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
project_pea.o: In function `main':
project_pea.lpr:20: undefined reference to `TC_FORMS_APPLICATION'

и далее вагон этих undefined reference'ов.

Недобитый спек прилагается, остальные причиндалы можно взять из пакмановского или недобитого srpm[2].

[1] http://packman.mirrors.skynet.be/pub/packman/suse/10.3/src/peazip-2.6.2-0.pm.1.src.rpm
[2] http://fly.osdn.org.ua/~mike/tmp/peazip-2.6.2-alt1.src.rpm [3.7M]
Comment 2 ashen 2009-09-21 12:59:14 MSD
need >=fpc-2.3.0 ?
Comment 3 ashen 2009-09-21 17:26:18 MSD
дело не в версии fpc, а в нашем лазаре. Ни один пример, ни одну программу не могу сейчас у себя собрать. Не зависимо gtk или gtk2. Получается, что у нас лазарь то собирается, но ни чего с его помощью собрать нельзя ...
Comment 4 ashen 2009-09-22 09:39:07 MSD
А дело ещё веселей, наш ld не знает что ему с чем линковать, он просто игнориует всё что ему передаёт fpc для линковки. Как я понял.
Миш, лог сборки остался? Там случайно нет типа такой строки: 
ld: warning: link.res contains output sections; did you forget -T?
Comment 5 ashen 2009-09-22 11:30:09 MSD
суть ошибки, полученной mike@ и мной, описана здесь:
http://www.freepascal.org/faq.var
в пункте 6.8 и связано с ld-2.19 
Более подробней освещено здесь:
http://mantis.freepascal.org/print_bug_page.php?bug_id=14128
А вот теперь как обходить данную ошибку пока не знаю.
и на что вешать багу: на lazarus, fpc, binutils не сообразил.
А ведь это полезет в нашем "школьном линуксе".
Comment 6 Grigory Batalov 2009-09-22 11:58:59 MSD
Jonas Maebe 2009-07-10 18:45 wrote:

"It is a bug in ld 2.19 and 2.19.1, which has been fixed in the current CVS version of binutils.

Hardcoding FPC to use --script or -T is not possible, because then the entire internal ld linker script is overridden, including the default library search paths. The result would be that ld would no longer find any libraries in distribution-specific directories that are hardcoded in this internal linker script."
Comment 7 ashen 2009-09-22 12:11:20 MSD
Гриш, зачем цитировать то, что приведено по ссылке? :) Читал, читал конечно. Извечный русский вопрос: что делать? :-D
То то у меня уже 11/09/09 лазарь не собирался ...
Comment 8 Grigory Batalov 2009-09-22 12:16:12 MSD
(In reply to comment #7)
> Гриш, зачем цитировать то, что приведено по ссылке? :) Читал, читал конечно.

Там разные варианты предлагаются, но мне кажется, что суть в процитированном абзаце. С другой стороны, в Сизифе binutils свежее. А у тебя какая версия?
Comment 9 ashen 2009-09-22 12:20:39 MSD
rpm -qa binutils
binutils-2.19.51.0.14-alt3

установка в лазаре парамета -kT выдаёт ошибку не возможности найти скрипт /lib/ld-linux.so.2 для динамической линковки.
Comment 10 ashen 2009-09-22 12:39:33 MSD
указание в /etc/fpc.cfg параметров -sh или -kT приводит к такой ошибке:
/usr/bin/ld: cannot open linker script file --dynamic-linker=/lib/ld-linux.so.2: No such file or directory
Comment 11 ashen 2009-09-22 12:54:50 MSD
Кажется нашёл обход этой ошибки:
в /etc/fpc.cfg добавить -Xc
Описание флага:
-Xc        Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Linux)
ругань остаётся, но подопытный lazdatadesktop собрался ... :)
Comment 12 ashen 2009-09-22 13:19:53 MSD
Зря обрадовался, программы то собираются, но при запуске выдают сегфолт ...
Comment 13 Michael Shigorin 2009-09-30 03:32:52 MSD
(In reply to comment #4)
> Миш, лог сборки остался? Там случайно нет типа такой строки: 
> ld: warning: link.res contains output sections; did you forget -T?
Случайно остался, и есть дословно такая строка:
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
Comment 14 ashen 2009-09-30 09:01:25 MSD
наш binutils-2.9 старается ...
Comment 15 Grigory Batalov 2009-09-30 15:57:52 MSD
Хочу засвидетельствовать, что сообщение про "forget -T" не влияет на результат сборки. А влияет релиз lazarus: с alt2 пример imgviewer собирается, а с alt3 - нет. Диакностика совпадает с comment #2 .
Comment 16 Grigory Batalov 2009-09-30 16:00:32 MSD
Т.е. с comment #1 .
Comment 17 Grigory Batalov 2009-09-30 16:42:33 MSD
А по-моему, зря я объектники пострипал. В них скрыта какая-то тайна.
Comment 18 ashen 2009-09-30 17:33:48 MSD
(В ответ на комментарий №17)
> А по-моему, зря я объектники пострипал. В них скрыта какая-то тайна.

Зря я предложил это сделать. Экономия в ~50% размера rpm'ок вылезла боком ... :(
Только что проверил, если объектники не стрипать, то всё нормально работает.
Comment 19 ashen 2009-09-30 17:41:47 MSD
(В ответ на комментарий №0)
> Архиватор и Менеджер Архивов PearZip.
> Впечатляет своей функциональностью и простотой. Поддерживает множество языков
> "из коробки", в том числе и русский, умеет работать с кириллическими именами
> архивов и просто очень удобен в работе. Так же умеет разбивать и шифровать
> архивы "двумя кликами мышки", например, под объём floppy диска или CD.

Поддерживает ли он rar-архивы: распаковку/упаковку в них? Кроме кроссплатформенности ни чего интересного пока не вижу. Хотя опакетить можно попробывать.
Comment 20 Repository Robot 2009-09-30 17:58:36 MSD
lazarus-0.9.26.2-alt4 -> sisyphus:

* Wed Sep 30 2009 Grigory Batalov <bga@altlinux> 0.9.26.2-alt4

- Don't strip precompiled objects (ALT #20428).
Comment 21 ashen 2009-09-30 18:35:29 MSD
(В ответ на комментарий №20)
> lazarus-0.9.26.2-alt4 -> sisyphus:
> * Wed Sep 30 2009 Grigory Batalov <bga@altlinux> 0.9.26.2-alt4
> - Don't strip precompiled objects (ALT #20428).
То, что исправлена наша ошибка в сборке lazarus'а, это хорошо ... :)
Но данная ошибка это просьба собрать пакет peazip в сизиф. Так что Reopen данной баге.
Comment 22 Grigory Batalov 2009-09-30 20:05:15 MSD
(In reply to comment #21)
> То, что исправлена наша ошибка в сборке lazarus'а, это хорошо ... :)
> Но данная ошибка это просьба собрать пакет peazip в сизиф. Так что Reopen
> данной баге.

У Михаила возникли сложности из-за ошибки в lazarus (и всё обсуждение было ей посвящено). Теперь, я надеюсь, он сможет собрать PearZip.
Comment 23 ashen 2009-10-01 09:30:41 MSD
(В ответ на комментарий №22)
> У Михаила возникли сложности из-за ошибки в lazarus (и всё обсуждение было ей
> посвящено). Теперь, я надеюсь, он сможет собрать PearZip.
По приведённому им спеку не соберёт.
Если удалить строку
. %_sysconfdir/usr/common_options
то пакет собирается. Вчера проверил. Но у меня много вопросов к Мише по этому спеку. Как то не "аккуратненький" он получился.
Comment 24 Michael Shigorin 2009-10-02 12:20:55 MSD
Неудивительно, это ведь импорт, причёсанный на ооочень скору руку.  Если ещё и работает -- может, зальёшь?  У меня 2.6.2-alt1 не собрался:

peach.pas(5205,18) Error: Пеpеключатели компилятоpа не позволяют использовать (* и *) стиль комментаpиев.
Comment 25 ashen 2009-10-02 12:47:19 MSD
(В ответ на комментарий №24)
> Неудивительно, это ведь импорт, причёсанный на ооочень скору руку.  Если ещё и
> работает -- может, зальёшь?  
rpm -qa | grep peazip | sort
peazip-2.6.2-alt1
peazip-kde3-2.6.2-alt1
Но мне не нравится спек и многое ещё чего. Да и версиюпо свежее лучше уж взять.

>У меня 2.6.2-alt1 не собрался:
> 
> peach.pas(5205,18) Error: Пеpеключатели компилятоpа не позволяют использовать
> (* и *) стиль комментаpиев.
странно, сейчас пересобрал, всё нормально. Заглянул в исходники, ну нет там такого в строке 5205 в файле peach.pas. Мы разные исходники смотрим? :)
Comment 26 Michael Shigorin 2009-10-03 14:41:47 MSD
(In reply to comment #25)
> > Если ещё и работает -- может, зальёшь?  
> rpm -qa | grep peazip | sort
> peazip-2.6.2-alt1
> peazip-kde3-2.6.2-alt1
Ну это "устанавливается".  Работает?

> Но мне не нравится спек и многое ещё чего. Да и версиюпо свежее
> лучше уж взять.

Спек ещё чистить и чистить, а только ты забрось уже работающее,
потом(tm) когда-нибудь допинаем по мере возможности.

> > У меня 2.6.2-alt1 не собрался:
> > peach.pas(5205,18) Error: Пеpеключатели компилятоpа не
> > позволяют использовать (* и *) стиль комментаpиев.
> странно, сейчас пересобрал, всё нормально. Заглянул в
> исходники, ну нет там такого в строке 5205 в файле peach.pas.
> Мы разные исходники смотрим? :)

Похоже на то.  Ладно, нормально и хорошо :)
Comment 27 Alexander Shemetov 2017-07-06 08:41:46 MSK
Никто не хочет сделать ещё одну попытку ? :)

Portable версия запускается без проблем.