Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 38796 - Installing sun-jdk-1.3.1 renders the system unusable
Summary: Installing sun-jdk-1.3.1 renders the system unusable
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-20 01:40 UTC by Marijn Dee
Modified: 2004-02-14 20:18 UTC (History)
2 users (show)

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


Attachments
Emerge info (emerge-info.txt,1.64 KB, text/plain)
2004-01-21 04:46 UTC, Marijn Dee
Details
Emerge log (emerge-log.txt,3.74 KB, text/plain)
2004-01-21 04:48 UTC, Marijn Dee
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marijn Dee 2004-01-20 01:40:31 UTC
The ebuild for sun-jdk-1.3.1 installs the file 20java into /etc/env.d. This file containst the line

LD_ASSUME_KERNEL=2.2.5

This causes the whole system to become useless because important libraries (like libc) cannot be found anymore. For example:

localhost root # whoami
whoami: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

Moreover, installing sun-jdk-1.3.1 makes this the default system vm, with the changes to the environment applied directly. This makes it extra hard to correct the problem.

Reproducible: Always
Steps to Reproduce:
1. emerge sun-jdk-1.3.1.09
2. start a program that uses libc i.e. 'whoami'
Actual Results:  
localhost root # whoami 
whoami: error while loading shared libraries: libc.so.6: cannot open shared 
object file: No such file or directory 
 

Expected Results:  
localhost root # whoami 
root
Comment 1 Adrian Almenar 2004-01-20 16:09:16 UTC
please can you post emerge info ?
Comment 2 Marijn Dee 2004-01-21 02:41:50 UTC
Not sure what you mean by emerge info.

I just did an ordinary emerge, no problems there. At the end of the emerge, the just emerged jdk is set a system-vm, just like when you do:

> java-config --set-system-vm=sun-jdk-1.3.1.09

You can do this, followed by:

> /usr/sbin/env-update && source /etc/profile

Which wil equally mess up you session.

The problem is that after an emerge the env-update is done automatically. This will disrupt all following logins.

BTW: through a little googling I learned that this LD_ASSUME_KERNEL=2.2.5 has something to do with NPTL. I don't use NPTL threads.
Comment 3 Adrian Almenar 2004-01-21 04:25:02 UTC
Execute "emerge info", and copy the output here. Thanks.
Comment 4 Marijn Dee 2004-01-21 04:46:47 UTC
Created attachment 24173 [details]
Emerge info

The emerge info of my machine
Comment 5 Marijn Dee 2004-01-21 04:48:16 UTC
Created attachment 24174 [details]
Emerge log

I also attached the output of what an emerge \=sun-jdk-1.3.1.09 looks like
Comment 6 Adrian Almenar 2004-01-22 18:51:10 UTC
Azarah, Cretin i heard you both once on gentoo-dev discussing about LD_ASSUME_KERNEL, can any of you lend me a help here ?
Comment 7 Stefan Jones (RETIRED) gentoo-dev 2004-01-23 09:51:17 UTC
LD_ASSUME_KERNEL is normally used to set the system libraries into compatability a mode similar to running a kernel with the given version.

Redhat normally ships with two sets of system libraries installed, one new version and one old kernel-2.2.5 compatable version.

Gentoo glibc is normally compiled so that the oldest kernel version you can use is 2.4.1, thus any LD_ASSUME_KERNEL version before that will fail ( ie. 2.2.5 ).

I assume that there was a workaround posted with using this version of java with 2.4.1 kernels. This workaround is LD_ASSUME_KERNEL=2.2.5

This will not work with gentoo, as it is not supported in recent glibc versions (2.3.1 onwards) on gentoo.

Java 1.4.1 is working I assume; 1.3.1 would just have to be blocked by new glibc versions and definatly the LD_ASSUME_KERNEL=2.2.5 removed from the global system enviroment.
Comment 8 Stefan Jones (RETIRED) gentoo-dev 2004-01-24 01:29:32 UTC
I have removed the LD_ASSUME_KERNEL line from the file as it obviosly wrong to effect the entire system this way.

java 1.3.1 may not work on new kernels / glibc but I stopped short of adding

!>=sys-libs/glibc-2.3

to RDEPEND.
Comment 9 Adrian Almenar 2004-02-14 20:18:33 UTC
This has been fixed long time ago.