RU.GOLDED---------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 78 из 100
 От   : Rinat Sadretdinow                   2:5020/620        27 апр 25 14:34:32
 К    : Alexey Khromov                                        27 апр 25 14:38:01
 Тема : Почему такая бНОПНЯ образовалась?
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5020/620 680e1649
@REPLY: 2:5030/723 680dfb8f
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9.0-cur 2021-05-15
Hello Alexey!

27 Apr 25 12:31, you wrote to me:

 RS>> Если это так интересно Отцу Русской Демократии, то вот. Я лично
 RS>> понимаю только то, что я тут ничего не понимаю. gdb создан
 RS>> каким-то яйцеголовыми пришельцами с Альфа Центавра и если им тут
 RS>> хоть что-то

 AK> Ну таки да) благо интерфейс у большинства cli-дебаггеров такой же.
 AK> Есть обертки, тот же nemiver

Даже debug.com, symdeb.exe и SoftICE не так убоги как gdb и windbg.

 AK> Я тут по-бырому F42 развернул в WSL-е и попытался собрать голдед всеми
 AK> штатными средствами. Рубится на линковке, так как не может найти
 AK> символ termname в либе /lib64/libtinfo.so.5 (ncurses-compat-libs
 AK> установлены). Символ этот там точно есть, nm его видит. В ABI6 эти же
 AK> символы присутствуют, но несовместимы с ABI5.

 AK> Ну а так как свярщик я ненастоящий, и курзесы вместе с плюсами
 AK> недолюбливаю - глубжее разбираться уже не было сил)

 Рассказываю как собрать в F42 для получения коры (если не следовать
этой инструкции, а собирать штатно, то на Fedora 42 соберётся то, что
кору не кидает, использует ncurses 6 и корректно показывает лишь латиницу,
а вместо кириллицы кажет полную дрянь).

1) устанавливаем ncurses-compat-libs чтобы были курсесы пятой версии
2) далее файле /usr/lib64/libncurses.so:

===
rhs@sys3175:~$ cat /usr/lib64/libncurses.so
INPUT(libncurses.so.6 -ltinfo)
rhs@sys3175:~$
===

меняем so.6 на so.5

 3) собираем штатно `rpmbuild -bb golded.spec`, при этом всё
собирается без вопросов и ldd говорит что golded+ теперь хочет ncurses 5, а
не 6:

===
rhs@sys3175:~$ ldd /usr/bin/gedlnx
    linux-vdso.so.1 (0x00007f7cc20c9000)
    libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f7cc2077000)
               ^^^^
    libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f7cc204a000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f7cc1c00000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f7cc1f5c000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7cc1f30000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f7cc1a0e000)
    libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f7cc1f03000)
             ^^^^
    /lib64/ld-linux-x86-64.so.2 (0x00007f7cc20cb000)
rhs@sys3175:~$
===

 Без выполнения пункта номер 2 как я ни бился gedlnx всё равно
упорно собирался для ncurses 6

 3а) можно вернуть so.6 который был изменён на so.5 в пункте номер
2 чтобы другие программы, завязанные на ncurses 6, не обломались (всё
равно ncurses 5 теперь жёстко hardcoded в gedlnx и он железно будет
обращаться именно к библиотекам из ncurses-compat-libs), можно это *временно*
оставить для чистоты эксперимента, но после экспериментов всё равно надо
вернуть, иначе после перезагрузки есть ненулевой шанс что перестанут работать:

===
rhs@sys3175:~$ dnf repoquery --whatrequires ncurses-libs
Updating and loading repositories:
Repositories loaded.
2048-cli-0:0.9.1-23.fc42.x86_64
4store-0:1.1.6-1.x86_64
Agda-0:2.6.4.3-53.fc42.x86_64
Io-language-0:20170906-21.fc42.i686

 [...тысячи их, "Имя им легион" поэтому несколько сотен зависимых от
ncurses поскипано...]

zile-0:2.6.2-8.fc42.x86_64
zkl-0:1.14.7-1.x86_64
zork-0:1.0.3-8.fc41.x86_64
zsh-0:5.9-16.fc42.x86_64
===

4) запускаем gedlnx что со скрином, что с луитом, получаем SIGSEGV, радуемся!

 Меня смущает то, что gedlnx требует как libtinfo.so.6, так и
libtinfo.so.5 Скорее всего тут и порылась собака, скорее всего именно вот из-за
этого и происходит бяка и кака. Но вот как это побороть и оставить
только libtinfo.so.5, выкинув из требуемых библиотек libtinfo.so.6 я не
придумал (хотя и не думал честно говоря :-)

Bye!

--- GoldED+/LNX 1.1.5-b20180707
 * Origin: -= Thunder Bird =- (2:5020/620)
SEEN-BY: 46/49 50/109 104/117 221/6 240/1120 301/1
341/66 451/31 452/28 166
SEEN-BY: 455/19 463/68 4500/1 5000/111 5001/100
5015/42 46 5019/40 400
SEEN-BY: 5020/101 113 545 620 715 830 846 848
1042 2992 4441 5480 12000
SEEN-BY: 5022/128 5029/32 5030/49 115 1081 1474
5049/1 3 5050/151 5053/51 58
SEEN-BY: 5054/89 5058/104 5060/900 5061/133 5068/45
5083/1 444 6078/80 6090/1
@PATH: 5020/620 1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх