* Fernando Rodriguez <frodriguez.develo...@outlook.com> [150831 20:35]:
[..SNIP..]
> Hmm, I keyworded ncurses and this is what portage wants to do:
> 
> [ebuild  r  U ~] sys-libs/ncurses-6.0-r1:0/6::gentoo [5.9-r5:0/5::fernan] 
> USE="cxx doc gpm tinfo unicode -ada -debug -minimal -profile -static-libs {-
> test%} -threads% -trace" ABI_X86="32 (64) -x32" 3,059 KiB
> [ebuild     U ~] sys-libs/ncurses-5.9-r101:5::gentoo [5.9-r99:5::gentoo] 
> USE="gpm tinfo unicode (-ada%) (-cxx%*) (-static-libs%)" ABI_X86="32 (64) -
> x32" 0 KiB
> [ebuild  rR   ~] sys-devel/gdb-7.10::gentoo  USE="client expat python server 
> zlib -lzma -multitarget -nls {-test} -vanilla" 
> PYTHON_SINGLE_TARGET="python2_7 
> -python3_3 -python3_4" PYTHON_TARGETS="python2_7 python3_4 -python3_3" 0 KiB
> [ebuild  rR    ] app-misc/screen-4.3.1::gentoo  USE="pam -debug -multiuser -
> nethack -selinux" 0 KiB
> [ebuild  rR    ] app-emulation/wine-1.6.2::gentoo  USE="X alsa cups custom-
> cflags fontconfig gecko jpeg lcms ldap mp3 ncurses openal opengl perl png 
> prelink pulseaudio run-exes samba ssl threads truetype udisks v4l xcomposite 
> xinerama xml -capi -dos -gphoto2 -gsm -gstreamer -mono -nls -odbc -opencl -
> osmesa -oss -realtime -scanner -selinux {-test}" ABI_X86="32 64 -x32" 
> LINGUAS="-ar -bg -ca -cs -da -de -el -en -en_US -eo -es -fa -fi -fr -he -hi 
> -hr 
> -hu -it -ja -ko -lt -ml -nb_NO -nl -or -pa -pl -pt_BR -pt_PT -rm -ro -ru -sk -
> sl -sr_RS@cyrillic -sr_RS@latin -sv -te -th -tr -uk -wa -zh_CN -zh_TW" 0 KiB
> 
> 
> That looks dangerous to me because the first build will upgrade my 5.9 
> installation to 6.0 and the second will reinstall 5.9. 
> 
> So what happens in between when I have no 5.9 installed but everything is 
> linked against it? Won't it need bash to build the second one? What if the 
> 2nd 
> build fails? Will stuff linked against 5.9 work with 6.0?

I'm running ~x86 and ~amd64 and update daily so hopefully some of what I'll
relate below won't apply to anyone else who doesn't do that.

But first when I got ncurses-6.0 I then couldn't build ghc because the
binary build tools were linked against ncurses-5.x (this has been fixed
now.)  At the time I could get around it by installing ncurses-5.0 as
the ncurses:5 slot.  Since then however ncurses:5 seems to give
ncurses-6.0 and ncurses:0 is ncurses-6.1 (though I could be mistaken.)

Anyway, ncurses-6.0 and ncurses-5.9 were coinstalled and happy together
as you'd expect from a slotted package.

However, yesterday there were problems with more ncurses changes and
readline.  Somehow the build of sys-libs/readline went awry and it
produced a .so without some symbols needed by gawk and bc (or more
likely, they needed to be rebuilt but couldn't be.)  This prevented
ncurses from being rebuilt since the build requires awk and prevented my
kernel from being rebuilt because it requires bc.  But readline couldn't
be rebuilt because it required ncurses.  I could be off on the actual
interdependencies but bottom line is that I couldn't get out of the
circular dependencies (and there were no use flags to turn then off.)
Even trying to build with --nodeps didn't get me out of the hole.

In the end I had to pull a gawk off a stage3 and
/{lib,lib64}/libreadline.so.6.3 off other systems to get out of it.

Hopefully that was all just because of running ~x86 and ~amd64 (I don't
want to call it unstable because it's worked great for me for years and
is very stable due to excellent work from Gentoo devs!) and my just
catching things in flux.

Presented here in case someone experiences readline/ncurses problems in
the future unrelated to this original ncurses issue.

Todd

Reply via email to