Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 543658 - dev-java/oracle-jre-bin-1.8.0.40 - preserved libs loops
Summary: dev-java/oracle-jre-bin-1.8.0.40 - preserved libs loops
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-17 22:17 UTC by Thomas Deutschmann (RETIRED)
Modified: 2015-07-30 10:16 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Console output / build log (output.txt,130.86 KB, text/plain)
2015-03-17 22:17 UTC, Thomas Deutschmann (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2015-03-17 22:17:55 UTC
Created attachment 399156 [details]
Console output / build log

Hi,

I had dev-java/oracle-jre-bin-1.8.0.40 installed before bug 543182 (not sure what they have changed).

After a normal world update, I run "emerge --depclean" which cleaned up a lot of packages on my system. Now I am in a preserved libs loop:

<<< See the attachment >>>

...now I am stuck in a preserved lib loop. Packages like

- x11-libs/cairo
- media-libs/harfbuzz
- media-gfx/graphite2
- ...

are not installed (I think they were installed but removed by `emerge --depclean`)



# emerge --info
Portage 2.2.18 (python 3.4.3-final-0, default/linux/amd64/13.0, gcc-4.9.2, glibc-2.20-r2, 3.19.1-gentoo x86_64)
=================================================================
System uname: Linux-3.19.1-gentoo-x86_64-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.2
KiB Mem:     4026204 total,   3253256 free
KiB Swap:    1048572 total,   1048572 free
Timestamp of repository gentoo: Tue, 17 Mar 2015 17:45:01 +0000
Timestamp of repository poly-c: Mon, 16 Mar 2015 23:00:50 +0000
sh bash 4.3_p33-r2
ld GNU ld (Gentoo 2.25 p1.0) 2.25
app-shells/bash:          4.3_p33-r2::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.9-r2::gentoo, 3.4.3::gentoo
dev-util/cmake:           3.1.0::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.13.11::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25::gentoo
sys-devel/gcc:            4.9.2::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Comment 1 James Le Cuirot gentoo-dev 2015-03-26 23:15:18 UTC
I was going to try this out but then fell into a very similar hole by mistake. I had both icedtea and icedtea-bin installed. I removed icedtea and was left with this.

!!! existing preserved libs:
>>> package: dev-java/icedtea-7.2.5.4
 *  - /usr/lib64/icedtea7/jre/lib/amd64/libjava.so
 *      used by /opt/icedtea-bin-7.2.5.3/jre/lib/amd64/headless/libmawt.so (dev-java/icedtea-bin-7.2.5.3)
 *      used by /opt/icedtea-bin-7.2.5.3/jre/lib/amd64/xawt/libmawt.so (dev-java/icedtea-bin-7.2.5.3)
 *  - /usr/lib64/icedtea7/jre/lib/amd64/libawt.so
 *      used by /opt/icedtea-bin-7.2.5.3/jre/lib/amd64/headless/libmawt.so (dev-java/icedtea-bin-7.2.5.3)
 *      used by /opt/icedtea-bin-7.2.5.3/jre/lib/amd64/xawt/libmawt.so (dev-java/icedtea-bin-7.2.5.3)
 *  - /usr/lib64/icedtea7/jre/lib/amd64/libverify.so

It's even more stupid in this case because all three of those files are also provided by icedtea-bin anyway! I'm thinking that the preserved lib checks need to exclude directories given in QA_PREBUILT. I'll try to look into this more soon.
Comment 2 James Le Cuirot gentoo-dev 2015-04-19 23:01:44 UTC
Another way around this that already works would be to add RESTRICT="preserve-libs". It's a bit more heavy-handed than my earlier suggestion but is still appropriate for Oracle and icedtea-bin. Unfortunately the Oracle ebuilds have already just been bumped and marked stable. I'll think about whether I could add this line anyway. icedtea-bin is due a bump so I'll definitely add it there ASAP.
Comment 3 Zac Medico gentoo-dev 2015-05-08 21:12:41 UTC
(In reply to James Le Cuirot from comment #1)
> !!! existing preserved libs:
> >>> package: dev-java/icedtea-7.2.5.4
>  *  - /usr/lib64/icedtea7/jre/lib/amd64/libjava.so
>  *      used by /opt/icedtea-bin-7.2.5.3/jre/lib/amd64/headless/libmawt.so
> (dev-java/icedtea-bin-7.2.5.3)
>  *      used by /opt/icedtea-bin-7.2.5.3/jre/lib/amd64/xawt/libmawt.so
> (dev-java/icedtea-bin-7.2.5.3)
>  *  - /usr/lib64/icedtea7/jre/lib/amd64/libawt.so
>  *      used by /opt/icedtea-bin-7.2.5.3/jre/lib/amd64/headless/libmawt.so
> (dev-java/icedtea-bin-7.2.5.3)
>  *      used by /opt/icedtea-bin-7.2.5.3/jre/lib/amd64/xawt/libmawt.so
> (dev-java/icedtea-bin-7.2.5.3)
>  *  - /usr/lib64/icedtea7/jre/lib/amd64/libverify.so

Using patchelf --set-rpath could allow these links to resolve properly without triggering preserve-libs.
Comment 4 James Le Cuirot gentoo-dev 2015-07-30 10:16:12 UTC
This is fixed in 1.8.0.51. I was going to backport the fix to 1.7 but we need to drop this as it's vulnerable. Note that the X flag has changed to awt to better reflect what it actually does. Also note the new javafx flag.