LINUX.ORG.RU

ncurses update hell, или что хочет от меня portage?

 ,


0

2

Внезапно обнаружил, что не могу обновить мир, потому что какой-то упырь-пакет хочет ncurses-6 (который я замаскировал в прошлый раз, ибо времени резолвить все всплывшие говнозависимости не было).

Теперь:

# emerge -1pv --verbose-conflicts ncurses

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-libs/ncurses-6.0-r1:0/6::gentoo [5.9-r5:0/5::gentoo] USE="cxx gpm unicode -ada -debug -doc -minimal -profile -static-libs {-test%} -threads% -tinfo -trace" ABI_X86="32 (64) (-x32)" 3059 KiB
[ebuild  r  U  ] sys-process/procps-3.3.12:0/5::gentoo [3.3.11-r3:0/5::gentoo] USE="kill ncurses nls unicode -modern-top (-selinux) -static-libs -systemd {-test}" 826 KiB
[ebuild  rR    ] net-misc/telnet-bsd-1.2-r1::gentoo  USE="nls -xinetd" 0 KiB

Total: 3 packages (2 upgrades, 1 reinstall), Size of downloads: 3885 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-libs/ncurses:0

  (sys-libs/ncurses-6.0-r1:0/6::gentoo, ebuild scheduled for merge) pulled in by
    sys-libs/ncurses (Argument)

  (sys-libs/ncurses-5.9-r5:0/5::gentoo, installed) pulled in by
    >=sys-libs/ncurses-5.7-r7:0/5= required by (sys-process/psmisc-22.21-r3:0/0::gentoo, installed)
                             ^^^^^                                                                                                     
    sys-libs/ncurses:0/5= required by (dev-scheme/guile-2.0.13:12/22::gentoo, installed)
                    ^^^^^                                                                                                   
    >=sys-libs/ncurses-5.2-r2:0/5= required by (sys-devel/gdb-7.10.1:0/0::gentoo, installed)
                             ^^^^^                                                                                              
    >=sys-libs/ncurses-5.9-r3:0/5=[abi_x86_32(-)] required by (sys-boot/grub-0.97-r16:0/0::gentoo, installed)
                             ^^^^^                                                                                                               
    sys-libs/ncurses:0/5= required by (media-video/mplayer-1.3.0:0/0::gentoo, installed)
                    ^^^^^                                                                                                   
    sys-libs/ncurses:0/5=[unicode] required by (net-im/pidgin-2.10.12-r2:0/0::gentoo, installed)
                    ^^^^^                                                                                                           
    >=sys-libs/ncurses-5.2:0/5= required by (app-misc/screen-4.3.1-r1:0/0::gentoo, installed)
                          ^^^^^                                                                                                  
    >=sys-libs/ncurses-5.7-r7:0/5= required by (media-sound/lame-3.99.5-r1:0/0::gentoo, installed)
                             ^^^^^                                                                                                    
    sys-libs/ncurses:0/5= required by (sys-apps/openrc-0.21.7:0/0::gentoo, installed)
                    ^^^^^                                                                                                
    >=sys-libs/ncurses-5.9-r3:0/5=[abi_x86_64(-)] required by (sys-devel/llvm-3.8.0-r2:0/3.8.0::gentoo, installed)
                             ^^^^^                                                                                                                    
    >=sys-libs/ncurses-5.2:0/5= required by (sys-apps/less-481:0/0::gentoo, installed)
                          ^^^^^                                                                                           
    >=sys-libs/ncurses-5.7-r7:0/5= required by (media-sound/alsa-utils-1.0.29:0.9/0.9::gentoo, installed)
                             ^^^^^                                                                                                           
    sys-libs/ncurses:0/5= required by (app-text/hunspell-1.3.3:0/0::gentoo, installed)
                    ^^^^^                                                                                                 
    sys-libs/ncurses:0/5= required by (app-misc/mc-4.8.17:0/0::gentoo, installed)
                    ^^^^^                                                                                            
    sys-libs/ncurses:0/5= required by (x11-libs/vte-0.28.2-r207:0/0::gentoo, installed)
                    ^^^^^                                                                                                  
    >=sys-libs/ncurses-5.2-r2:0/5= required by (app-shells/bash-4.3_p48:0/0::gentoo, installed)
                             ^^^^^                                                                                                 
    >=sys-libs/ncurses-5.2-r2:0/5=[unicode] required by (sys-apps/util-linux-2.26.2:0/0::gentoo, install

Естественно, старый добрый рецепт «добавить в пересборку все, что вызывает конфликты» не помогает. Я крайне близок к установке ubuntu глобальному USE=-ncurses, но как-то не хочется лишаться top.

Ответ на: комментарий от pS

emerge -1Cav ncurses

Отличный совет. Никогда так не делай, потому что с ncurses слинкована куча всего. Просто намекну:

$ ldd /lib64/libreadline.so.6
	linux-vdso.so.1 (0x00007ffe2e73d000)
	libncurses.so.6 => /lib64/libncurses.so.6 (0x00007fd18a869000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fd18a4cc000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fd18a2c7000)
	/lib64/ld-linux-x86-64.so.2 (0x0000555f9c73b000)
$ sudo cat /proc/`pgrep emerge`/maps | grep curs
7f34fccdc000-7f34fcd4a000 r-xp 00000000 08:02 2228465                    /lib64/libncursesw.so.6.0
7f34fcd4a000-7f34fcf49000 ---p 0006e000 08:02 2228465                    /lib64/libncursesw.so.6.0
7f34fcf49000-7f34fcf4d000 r--p 0006d000 08:02 2228465                    /lib64/libncursesw.so.6.0
7f34fcf4d000-7f34fcf4f000 rw-p 00071000 08:02 2228465                    /lib64/libncursesw.so.6.0
7f34fcf4f000-7f34fcf61000 r-xp 00000000 08:02 919127                     /usr/lib64/python2.7/lib-dynload/_curses.so
7f34fcf61000-7f34fd160000 ---p 00012000 08:02 919127                     /usr/lib64/python2.7/lib-dynload/_curses.so
7f34fd160000-7f34fd161000 r--p 00011000 08:02 919127                     /usr/lib64/python2.7/lib-dynload/_curses.so
7f34fd161000-7f34fd163000 rw-p 00012000 08:02 919127                     /usr/lib64/python2.7/lib-dynload/_curses.so
Так что emerge уже не запустился бы.

kawaii_neko ★★★★
() автор топика
Ответ на: комментарий от kawaii_neko

Да уж, погорячился. И не заметил слот 5/6. Но куда он нужен?

pS
()
Ответ на: комментарий от kawaii_neko

Хотя!

Проделал вышеназванный «самоубийственный» эксперимент. Портеж на нужные ему so-шки пишет «needed» и не удаляет. После этого отлично запускается и устанавливает то, что нужно. Возможно, что другие программы и накроются, но ситуацию можно будет разрулить, запуская портеж.

pS
()

Ну --ignore-built-slot-operator-deps=y же. Все обновится, потом банальное emerge @preserved-rebuild. Вообще ни одной проблемы, связанной с этим, у себя не замечал.

$ eix -I ncurses
[I] sys-libs/ncurses
     Available versions:  
     (0)    5.9-r3 (~)5.9-r4 5.9-r5(0/5) 6.0-r1(0/6)
     (5)    5.9-r99(5/5) 5.9-r101(5/5) 6.0(5/6)
       {ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"}
     Installed versions:  6.0-r1(01:21:54 AM 12/20/2015)(cxx threads unicode -ada -debug -doc -gpm -minimal -profile -static-libs -test -tinfo -trace ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32")
     Homepage:            https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/
     Description:         console display library
Deleted
()
Ответ на: комментарий от pS

Проделал вышеназванный «самоубийственный» эксперимент

Хм, я почему-то думал, что -C для него как «грохни и не умничай», а он preserve-libs при этом уважает.

В любом случае, эта итерация апдейта уже прошла успешно, а --ignore-built-slot-operator-deps=y взял на заметку.

kawaii_neko ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.