I'm in an infinite @preserved-rebuild loop with this package !!! existing preserved libs: >>> package: sys-libs/ncurses-6.0 * - /lib64/libncurses.so.5 * - /lib64/libncurses.so.5.9 * used by /opt/android-studio/bin/lldb/linux/lib/python2.7/lib-dynload/_curses.so (dev-util/android-studio-1.4.0.10.141.2288178) * used by /opt/android-studio/bin/lldb/linux/lib/python2.7/lib-dynload/_curses_panel.so (dev-util/android-studio-1.4.0.10.141.2288178) * used by /usr/bin/lame (media-sound/lame-3.99.5-r1) * used by /usr/lib64/bochs/plugins/libbx_term.so.0.0.0 (app-emulation/bochs-2.6) >>> package: sys-libs/ncurses-6.0-r1 * - /lib64/libncurses.so.5 * - /lib64/libncurses.so.5.9 * used by /opt/android-studio/bin/lldb/linux/lib/python2.7/lib-dynload/_curses.so (dev-util/android-studio-1.4.0.10.141.2288178) * used by /opt/android-studio/bin/lldb/linux/lib/python2.7/lib-dynload/_curses_panel.so (dev-util/android-studio-1.4.0.10.141.2288178) * used by /usr/bin/lame (media-sound/lame-3.99.5-r1) * used by /usr/lib64/bochs/plugins/libbx_term.so.0.0.0 (app-emulation/bochs-2.6) Use emerge @preserved-rebuild to rebuild packages using these libraries [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:55:57 AM 08/28/2015)(cxx gpm unicode -ada -debug -doc -minimal -profile -static-libs -test -threads -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 Reproducible: Always
I guess the problem is a side-effect of https://bugs.gentoo.org/show_bug.cgi?id=533178
are you on unstable? I suspect I'll need to change the dep to pull in the binary compat ncurses. Its not really related to the building from source one. Can you attach the output of: emerge --info android-studio
also what does this say: qlist -Iv ncurses
$ emerge --info android-studio Portage 2.2.23 (python 2.7.10-final-0, default/linux/amd64/13.0/desktop/gnome/systemd, gcc-4.9.3, glibc-2.21-r1, 4.2.3 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.2.3-x86_64-Intel-R-_Core-TM-_i7-4770_CPU_@_3.40GHz-with-gentoo-2.2 KiB Mem: 32842272 total, 10650144 free KiB Swap: 67108860 total, 67108860 free Timestamp of repository gentoo: Thu, 08 Oct 2015 23:00:01 +0000 sh bash 4.3_p42 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 distcc 3.2rc1 x86_64-pc-linux-gnu [disabled] ccache version 3.2.4 [disabled] app-shells/bash: 4.3_p42::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.22.0::gentoo dev-lang/python: 2.7.10::gentoo, 3.4.3::gentoo, 3.5.0-r1::gentoo dev-util/ccache: 3.2.4::gentoo dev-util/cmake: 3.3.2::gentoo dev-util/pkgconfig: 0.29::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.18::gentoo sys-apps/sandbox: 2.9::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.7.4::gentoo, 4.8.5::gentoo, 4.9.3::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 3.82-r4::gentoo sys-kernel/linux-headers: 4.2::gentoo (virtual/os-headers) sys-libs/glibc: 2.21-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 kobboi location: /home/christophe/Overlay masters: gentoo priority: 0 funtoo-gambas location: /var/lib/layman/funtoo-gambas sync-type: laymansync sync-uri: https://github.com/damex/funtoo-gambas.git masters: gentoo priority: 50 sunrise location: /var/lib/layman/sunrise sync-type: laymansync sync-uri: git://anongit.gentoo.org/proj/sunrise-reviewed.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/openfire/resources/security/ /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.3/conf /var/bind /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=native -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth bzip2 cairo cdda cdr cli colord cracklib crypt cups cxx dbus dri dts dvd dvdr eds egl emboss encode evo examples exif fam ffmpeg firefox flac fortran gdbm gif glamor gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk iconv introspection ipv6 jpeg lcms ldap libass libnotify libsecret mad mmx mmxext mng modemmanager modules mp3 mp4 mpeg mtp multilib nautilus ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt3support qt4 readline samba sdl seccomp session spell sse sse2 ssl startup-notification svg systemd tcpd tiff tracker truetype udev udisks unicode upnp upower usb vdpau vorbis wayland wxwidgets x264 xcb xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3 sse4" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="radeonsi radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= dev-util/android-studio-1.4.0.10.141.2288178::gentoo was built with the following: USE="(-selinux)" ABI_X86="64"
Can you test out dev-util/android-studio-1.4.0.10.141.2288178-r1? You probably need to have ncurses-5.9-r101 installed too. then once thats done the rebuild stuff should go away.
sys-libs/ncurses:0 (sys-libs/ncurses-6.0-r1:0/6::gentoo, installed) pulled in by sys-libs/ncurses:0/6=[unicode] required by (media-video/vlc-2.2.1:0/5-8::gentoo, installed) ^^^^^ (and 26 more with the same problem) (sys-libs/ncurses-5.9-r5:0/5::gentoo, ebuild scheduled for merge) pulled in by >=sys-libs/ncurses-5.9-r3:0/5[abi_x86_32(-)] required by (dev-util/android-studio-1.4.0.10.141.2288178-r1:0/0::gentoo, ebuild scheduled for merge) ^^^^
(In reply to Kobboi from comment #6) What versions of ncurses do you have installed? Did you install 5.9-r101? What does this say: qlist -Iv ncurses Also did you do a deep world upgrade?
(In reply to Jason Zaman from comment #7) > (In reply to Kobboi from comment #6) > What versions of ncurses do you have installed? Did you install 5.9-r101? Of course not, that's your job via the ebuild, right? :) > What does this say: > > qlist -Iv ncurses See my eix output above > Also did you do a deep world upgrade? -avuDN --with-bdeps=y --complete-graph=y --backtrack=30
(In reply to Kobboi from comment #8) > (In reply to Jason Zaman from comment #7) > > (In reply to Kobboi from comment #6) > > What versions of ncurses do you have installed? Did you install 5.9-r101? > > Of course not, that's your job via the ebuild, right? :) It is in the ebuild. you dont have the right version installed. $ ACCEPT_KEYWORDS="~amd64" equery g android-studio * Searching for android-studio ... * dependency graph for dev-util/android-studio-1.4.0.10.141.2288178-r1 `-- dev-util/android-studio-1.4.0.10.141.2288178-r1 ~amd64 [....] `-- sys-libs/ncurses-5.9-r5 (>=sys-libs/ncurses-5.9-r3) amd64 [abi_x86_32(-)] `-- sys-libs/ncurses-5.9-r101 (>=sys-libs/ncurses-5.9-r3) ~amd64 [abi_x86_32(-)] Ncurses had some major issues some time back, you look like you have the leftovers not uninstalled properly. emerge -1 =sys-libs/ncurses-5.9-r101 and the problem will go away. Alternatively just delete the libs that are still being preserved and a deep world update should pull in 5.9-r101.
I have two systems that both have only ncurses-6.0-r1:0 installed. They refuse to upgrade to your -r1 version because of backtrack issues. Do you think I should take this up with people managing the ncurses ebuilds or is there still a possibility of a wrong dependency specification on your part?
Note that my home system never had android-studio installed in the first place. I will now attempt a clean stage3 install in a chroot followed by an android-studio installation to see what happens.
(In reply to Kobboi from comment #11) > Note that my home system never had android-studio installed in the first > place. I will now attempt a clean stage3 install in a chroot followed by an > android-studio installation to see what happens. You might care to try: emerge -1v =ncurses-5.9-r101 =ncurses-6.0-r1 with <=sys-libs/ncurses-5.9-r101 in /etc/portage/package.mask In this way I have the following installed on an ~amd64 system: # ls -d /var/db/pkg/*/{android-studio,ncurses}* drwxr-xr-x 2 root root 4096 Oct 10 08:37 /var/db/pkg/dev-util/android-studio-1.4.0.10.141.2288178-r1 drwxr-xr-x 2 root root 4096 Oct 10 09:10 /var/db/pkg/sys-libs/ncurses-5.9-r101 drwxr-xr-x 2 root root 4096 Oct 10 09:10 /var/db/pkg/sys-libs/ncurses-6.0-r1
The current amd64 stage3 comes with ncurses-5.9-r5:0/5 and ncurses-5.9-r99:5/5. After adding ~amd64 and upgrading world, the former gets upgraded to ncurses-6.0-r1:0/6. !!! existing preserved libs: >>> package: sys-libs/ncurses-6.0-r1 * - /lib64/libncursesw.so.5 * - /lib64/libncursesw.so.5.9 * used by /bin/nano (app-editors/nano-2.3.6) * used by /usr/bin/less (sys-apps/less-478) * used by /usr/bin/watch (sys-process/procps-3.3.9-r2) * used by 4 other files * - /usr/lib64/libpanelw.so.5 * - /usr/lib64/libpanelw.so.5.9 * used by /usr/lib64/python2.7/lib-dynload/_curses_panel.so (dev-lang/python-2.7.10) * used by /usr/lib64/python3.4/lib-dynload/_curses_panel.cpython-34.so (dev-lang/python-3.4.3) * - /lib64/libncurses.so.5 * - /lib64/libncurses.so.5.9 * used by /bin/bash (app-shells/bash-4.3_p42) * used by /lib64/libeinfo.so.1 (sys-apps/openrc-0.17) * used by /lib64/libgpm.so.1.20.0 (sys-libs/gpm-1.20.7-r2) * used by 5 other files An emerge @preserved-rebuild cleans this list. At this point, an emerge --pretend android-studio tries to pull in your -r1 one. Hoewever, a subsequent --depclean removes ncurses-5.99-r99:5/5. An emerge --pretend android-studio now tries to pull in the -r0 one, claiming !!! The following update(s) have been skipped due to unsatisfied dependencies !!! triggered by backtracking: dev-util/android-studio:0
(In reply to Adrian.Bassett from comment #12) I appreciate your help, but I'm trying to find the proper solution. That does not involve --oneshotting specific packages but simple use of the package manager.
(In reply to Kobboi from comment #13) > The current amd64 stage3 comes with ncurses-5.9-r5:0/5 and > ncurses-5.9-r99:5/5. After adding ~amd64 and upgrading world, the former > gets upgraded to ncurses-6.0-r1:0/6. > > !!! existing preserved libs: > >>> package: sys-libs/ncurses-6.0-r1 > * - /lib64/libncursesw.so.5 > * - /lib64/libncursesw.so.5.9 > * used by /bin/nano (app-editors/nano-2.3.6) > * used by /usr/bin/less (sys-apps/less-478) > * used by /usr/bin/watch (sys-process/procps-3.3.9-r2) > * used by 4 other files > * - /usr/lib64/libpanelw.so.5 > * - /usr/lib64/libpanelw.so.5.9 > * used by /usr/lib64/python2.7/lib-dynload/_curses_panel.so > (dev-lang/python-2.7.10) > * used by /usr/lib64/python3.4/lib-dynload/_curses_panel.cpython-34.so > (dev-lang/python-3.4.3) > * - /lib64/libncurses.so.5 > * - /lib64/libncurses.so.5.9 > * used by /bin/bash (app-shells/bash-4.3_p42) > * used by /lib64/libeinfo.so.1 (sys-apps/openrc-0.17) > * used by /lib64/libgpm.so.1.20.0 (sys-libs/gpm-1.20.7-r2) > * used by 5 other files > > An emerge @preserved-rebuild cleans this list. At this point, an emerge > --pretend android-studio tries to pull in your -r1 one. > > Hoewever, a subsequent --depclean removes ncurses-5.99-r99:5/5. This is correct. 5.9-r99 does nothing at all except pull in the SLOT=0/5 version (-r5) to bridge the failed slotmove that hit a lot of people several weeks ago. See the other bug for details. > An emerge > --pretend android-studio now tries to pull in the -r0 one, claiming > > !!! The following update(s) have been skipped due to unsatisfied dependencies > !!! triggered by backtracking: > > dev-util/android-studio:0 This isnt an android-studio problem, its a problem with ncurses. Your machine thinks libncurses.so.5 is a preserved lib for 6.0-r1. You need to have 5.9-r101 installed to provide the libs that android-studio needs. (In reply to Adrian.Bassett from comment #12) > with > <=sys-libs/ncurses-5.9-r101 > in /etc/portage/package.mask This is almost right. You want <sys-libs/ncurses-5.9-r101 not <=. (In reply to Kobboi from comment #14) > (In reply to Adrian.Bassett from comment #12) > > I appreciate your help, but I'm trying to find the proper solution. That > does not involve --oneshotting specific packages but simple use of the > package manager. That is the proper solution. ncurses is messed up on your system. Masking the lower ones might be enough. You also have not tried just deleting the 5.9 libs. In either case emerge -1 =sys-libs/ncurses-5.9-r101 will fix it. You need to fix your ncurses before you can fix anything else.
> (In reply to Adrian.Bassett from comment #12) > > with > > <=sys-libs/ncurses-5.9-r101 > > in /etc/portage/package.mask > > This is almost right. You want <sys-libs/ncurses-5.9-r101 not <=. I do indeed, thanks for pointing it out.
(In reply to Jason Zaman from comment #15) > That is the proper solution. ncurses is messed up on your system. Masking > the lower ones might be enough. You also have not tried just deleting the > 5.9 libs. In either case emerge -1 =sys-libs/ncurses-5.9-r101 will fix it. > You need to fix your ncurses before you can fix anything else. I don't understand. So ncurses is messed up on both of my systems, as well as on the fresh stage3 installation of yesterday?
Same problem on ~amd64 box: sys-libs/ncurses:0 (sys-libs/ncurses-6.0-r1:0/6::gentoo, installed) pulled in by >=sys-libs/ncurses-5.9-r3:0/6=[abi_x86_32(-),abi_x86_64(-)] required by (sys-devel/llvm-3.7.0-r2:0/3.7.0::gentoo, installed) ^^^^^ sys-libs/ncurses:0/6= required by (net-wireless/wpa_supplicant-2.5:0/0::gentoo, installed) ^^^^^ more lines deleted .... (sys-libs/ncurses-5.9-r5:0/5::gentoo, ebuild scheduled for merge) pulled in by >=sys-libs/ncurses-5.9-r3:0/5[abi_x86_32(-)] required by (dev-util/android-studio-1.4.0.10.141.2288178-r1:0/0::gentoo, ebuild scheduled for merge) ^^^^ The dev-util/android-studio compiles and the conflict was resolved by changing the slot number from 0/5 to 0/6 in the android-studio-1.4.0.10.141.2288178-r1.ebuild RDEPEND line indicated below: RDEPEND=">=virtual/jdk-1.7 selinux? ( sec-policy/selinux-android ) >=app-arch/bzip2-1.0.6-r4[abi_x86_32(-)] >=dev-libs/expat-2.1.0-r3[abi_x86_32(-)] >=dev-libs/libffi-3.0.13-r1[abi_x86_32(-)] >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] >=media-libs/freetype-2.5.5[abi_x86_32(-)] >=media-libs/libpng-1.2.51[abi_x86_32(-)] >=media-libs/mesa-10.2.8[abi_x86_32(-)] || ( >=sys-libs/ncurses-5.9-r3:0/5[abi_x86_32(-)] >=sys-libs/ncurses-5.9-r3:5/5[abi_x86_32(-)] ) <<<<<<<<<< This line >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)] The android-studio application seems to be fully functional.
(In reply to email200202 from comment #18) > The dev-util/android-studio compiles and the conflict was resolved by > changing the slot number from 0/5 to 0/6 in the > android-studio-1.4.0.10.141.2288178-r1.ebuild RDEPEND line indicated below: That is wrong. It needs exactly the .so.5 version. it is not linked to the .so.6 one. You need to have ncurses:0/5 or :5/5 installed (the 5.9-r5 if on stable or -r101 if on ~amd64) It looks like its used by some of the extra tools so you probably just arnt using the specific one so thats why it looks like its working.
I agree. My test is extensive but it is doing all I want.
mgorny suggested swapping the order of the deps and said that makes portage resolve it for him. I just committed that change so wait 15min then sync and see if it helps.
Seems to work for me: [ebuild NS ] sys-libs/ncurses-5.9-r101:5::gentoo [6.0-r1:0/6::gentoo] USE="gpm unicode -tinfo" ABI_X86="32 (64) (-x32)" 2.761 KiB [ebuild N ] dev-util/android-studio-1.4.0.10.141.2288178-r1::gentoo USE="(-selinux)" 371.897 KiB Total: 2 packages (1 new, 1 in new slot), Size of downloads: 374.657 KiB
(In reply to Kobboi from comment #22) > Seems to work for me: Excellent. thanks for testing.