Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 243450 - java-plugin symlink is not deleted after jdk is unmerged
Summary: java-plugin symlink is not deleted after jdk is unmerged
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Java (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-23 18:23 UTC by Albert Zeyer
Modified: 2008-10-24 06:17 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Albert Zeyer 2008-10-23 18:23:24 UTC
I am not sure where to start debugging here and I also don't know exactly when it stopped working (it has worked once; but I haven't perhaps really needed Java applets for some months and now when I needed them, I recognised for the first time that it is not working anymore).

Some sites like
http://www.jgiesen.de/javascript/Beispiele/Hallo/Hallo-Applet.html
just show me a "click here to install the missing plugin" or some other pages (some local page where I want to try out a java applet) just shows nothing.

I haven't made any special configurations in Firefox. I would expect that it just works (as it has earlier). Java is of course activated in the options (but that was the default).

When I type "about:config" and filter for "java", no option was changed (related to Java), they have all the default values.
Comment 1 Albert Zeyer 2008-10-23 18:23:46 UTC
az@acompneu ~ $ emerge --info
Error during set creation: Redefinition of set 'kde-svn' (sections: 'usersets', 'kde4-overlay sets')
Portage 2.2_rc12 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo i686)
=================================================================
System uname: Linux-2.6.27-gentoo-i686-Intel-R-_Core-TM-2_CPU_E8500_@_3.16GHz-with-glibc2.0
Timestamp of tree: Tue, 21 Oct 2008 17:34:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.6.2
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=nocona -ggdb -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/4.2/env /usr/kde/4.2/share/config /usr/kde/4.2/shutdown /usr/kde/svn/env /usr/kde/svn/share/config /usr/kde/svn/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=nocona -ggdb -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="candy distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/kdesvn-portage /usr/portage/local/layman/mpd /usr/portage/local/private"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="GAPING_SECURITY_HOLE X X509 a52 aac aalib acl acpi acpi4linux adns agg aiglx alsa amd amuled ao aqua_theme archive ares asf asm async asyncns atm auctex automount avahi bash-completion berkdb bidi binary binary-drivers bindist bittorrent bl bonjour bookmarks bootsplash branding bzip2 bzlib cairo captury cdda cddb cdio cdparanoia cdr cdrom cgi cli clisp clucene cmake codecs corba cracklib crypt cups curl custreloc dbus dedicated dga dhcp disk-partition divx4linux dlopen dmi dnd dri dts dv dvb dvd dvdnav dvdr dvdread eds emboss encode esd evo exif faad fam fame ffmpeg firefox flac flash font-server foomaticdb fortran fpx freetype ftp fuse galago gcj gcl gd gdbm ggi gif gimp gl glib glitz glslideshow glut gnome gphoto2 gpm gprof graphviz gs gstreamer gtk gtk2 gzip h323 hal haskell howl howl-compat html httpd hyperestraier iconv icq id3 id3tag imagemagick imap imlib imlib2 inotify insecure-drivers ipv6 isdnlog ithreads jack java jbig jikes jit jpeg jpeg2k kde kerberos lame latex lcms ldap libcaca libnotify libwww linuxthreads-tls live lzo mad matroska mbox mdnsresponder-compat midi mikmod mjpeg mmx mmxext mng mod modplug mozbranding mozcalendar mozilla mp2 mp3 mp4 mp4live mpeg mpeg2 mpeg4 mplayer mppe-mppc mudflap multislot musepack musicbrainz mysql nautilus ncurses nemesi nepomuk net network njb nls nntp nptl nptlonly nsplugin ntfs objc offensive ogg oggvorbis openal opengl openmp oss pam pascal pch pcre pdf perl php plasma png pop posix ppds pppd prebuilt-system pthreads pulseaudio python qt qt3 qt3support qt4 quicktime rar rdesktop readline real realmedia reflection rogue rplay rtc rtsp ruby samba sasl schroedinger screen sdl semantic-desktop server session shorten shout silvercity silverxp skins slp sndfile sockets solver speedo speex spell spl sqlite srt sse sse2 ssh ssl ssse3 startup-notification stream subversion svg sysfs tagwriting tcltk tcpd teamarena teletext tetex tga themes theora threads threadsafe thumbnail tiff transcode truetype type1 unicode urandom usb v4l v4l2 vcd vdr vidix visualization vlm vorbis win32codecs wma wmf wxwindows x264 x86 xanim xatrix xcomposite xext xface xforms xine xml xorg xosd xpm xprint xrandr xrender xscreensaver xsettings xterm xulrunner xv xvid xvmc zeroconf zip zlib zvbi" ALSA_CARDS="emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="nvidia nv apm"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 2 Albert Zeyer 2008-10-23 18:26:50 UTC
az@acompneu ~ $ java-config-1 -L
The following JDKs are available for generation-1:
*)	Sun JDK 1.4.2.18 [sun-jdk-1.4.2.18]
az@acompneu ~ $ java-config-2 -L
The following VMs are available for generation-2:
*)	Sun JDK 1.4.2.18 [sun-jdk-1.4]
2)	Sun JDK 1.6.0.07 [sun-jdk-1.6]

But I also have tried to change the generation-2 VM to Sun JDK 1.6 but it doesn't change anything.

In Eclipse, I can start my Java applet without problems. In Opera, it also works (though they are displayed in kind of "old-style", with darker background, non-alaising font and the buttons look different; in Eclipse, they just show up normally, but I think that Eclipse also uses JRE 1.6 and Opera uses 1.4).
Comment 3 Albert Zeyer 2008-10-23 18:28:32 UTC
When I start Firefox on console, I don't get any messages. As I am not sure how to call the Java console in Firefox (I just don't see the menu entry for it, I am not sure where it should be), I cannot get any error message and thus just no hint where the problem could be.
Comment 4 Albert Zeyer 2008-10-23 18:31:55 UTC
I would think that perhaps java-check-environment could help me out, but it just says that everything is ok (it even congratulates me):

az@acompneu ~ $ java-check-environment 
 * === Java Environment Checker ===
 * The purpose of this script is to check the sanity of your Java Environment.
 * We have significantly changed and improved the way Java is handled in many
 * respects.
 * Please refer to our upgrade guide for details:
 * 	http://www.gentoo.org/proj/en/java/java-upgrade.xml

 * Checking fastjar ...                                                   [ ok ]

 * Checking vm_environment_files ...                                      [ ok ]

 * Checking user_settings ...                                             [ ok ]

 * Checking generation_1_system_vm ...                                    [ ok ]

 * Checking virtual_provides ...                                          [ ok ]

 * Checking overlays_eclasses ...                                         [ ok ]

 * Checking package_env ...                                               [ ok ]

 * Java environment is sane. Congratulations!
Comment 5 Albert Zeyer 2008-10-23 18:38:43 UTC
When I look at the stuff in "about:config", I am a bit wondering about these:

java.default_java_location_others = /usr/java
java.global_java_version_file = /etc/.java/versions

Both paths/files just don't exist. But these are the default values of Firefox. Do I have to change something there? Why are these values not correct by default?

Then I am wondering about this:

java.java_plugin_library_name = javaplugin_oji

Where does it try to search for it? In the above (non-existing) paths? Or how can I check in which paths it searchs for this file?
Comment 6 Albert Zeyer 2008-10-23 18:40:42 UTC
Ok, I was just searching a bit around through my file system for some paths where perhaps Firefox could search for plugins (I still don't know how to get a list of these paths).

I get to the path /opt/mozilla/plugins and I am wondering about this:

az@acompneu ~ $ ls -la /opt/mozilla/plugins/
total 1329
drwxr-xr-x 2 root root   1408 2008-10-22 19:00 .
drwxr-xr-x 3 root root     72 2004-09-26 06:23 ..
lrwxrwxrwx 1 root root     59 2006-07-29 01:47 javaplugin.so -> /usr/share/java-config-2/nsplugin/sun-jdk-1.5-javaplugin.so
...

This is an invalid link, the file /usr/share/java-config-2/nsplugin/sun-jdk-1.5-javaplugin.so does not exist.

Could that be the problem?
Comment 7 Albert Zeyer 2008-10-23 18:48:42 UTC
(In reply to comment #6)
> I get to the path /opt/mozilla/plugins and I am wondering about this:
> 
> az@acompneu ~ $ ls -la /opt/mozilla/plugins/
> total 1329
> drwxr-xr-x 2 root root   1408 2008-10-22 19:00 .
> drwxr-xr-x 3 root root     72 2004-09-26 06:23 ..
> lrwxrwxrwx 1 root root     59 2006-07-29 01:47 javaplugin.so ->
> /usr/share/java-config-2/nsplugin/sun-jdk-1.5-javaplugin.so
> ...
> 
> This is an invalid link, the file
> /usr/share/java-config-2/nsplugin/sun-jdk-1.5-javaplugin.so does not exist.
> 

I have just deleted the file, but it does not make a difference (as I expected...).
Comment 8 Albert Zeyer 2008-10-23 18:50:45 UTC
acompneu ~ # equery f sun-jdk | grep javaplugin
/opt/sun-jdk-1.4.2.18/jre/lib/i386/libjavaplugin_jni.so
/opt/sun-jdk-1.4.2.18/jre/plugin/i386/ns4/libjavaplugin.so
/opt/sun-jdk-1.4.2.18/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so
/opt/sun-jdk-1.4.2.18/jre/plugin/i386/ns610/libjavaplugin_oji.so
/usr/share/java-config-2/nsplugin/sun-jdk-1.4-javaplugin.so
/opt/sun-jdk-1.6.0.07/jre/lib/i386/libjavaplugin_jni.so
/opt/sun-jdk-1.6.0.07/jre/lib/i386/libjavaplugin_nscp.so
/opt/sun-jdk-1.6.0.07/jre/lib/i386/libjavaplugin_nscp_gcc29.so
/opt/sun-jdk-1.6.0.07/jre/plugin/i386/ns7-gcc29/libjavaplugin_oji.so
/opt/sun-jdk-1.6.0.07/jre/plugin/i386/ns7/libjavaplugin_oji.so
/usr/share/java-config-2/nsplugin/sun-jdk-1.6-javaplugin.so

So, why does FF not use this plugin?
Comment 9 Albert Zeyer 2008-10-23 18:56:36 UTC
Ok, I solved it!

After reemerging sun-jdk-1.6, it workes. This is after I removed this bad link.

And what I see from the output, it seems that because I have deleted the link, the ebuild just creates a new link, but this time a valid one.

...
--- replaced dir /opt
--- replaced obj /etc/revdep-rebuild/61-sun-jdk-1.6
--- replaced dir /etc/revdep-rebuild
--- replaced dir /etc
 * Updating desktop mime database ...
>>> Original instance of package unmerged safely.
 * JREs and 1.5+ JDKs are not supported for use with generation-1.
 * This is because generation-1 is only for use for building packages.
 * Only generation-2 should be used by end-users,
 * where all JREs and JDKs will be available

 * No system nsplugin currently set.
 * Setting nsplugin to sun-jdk-1.6...
 * You can change nsplugin with eselect java-nsplugin.
 * Updating desktop mime database ...
 * Please reinstall eclipse-sdk if you have it installed and want
 * workaround for bug #215150.
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * Messages for package dev-java/sun-jdk-1.6.0.07:
...

I didn't know that there is something like eselect java-nsplugin.

I probably had the JDK 1.5 installed earlier but after unmerging it, it did not fix this link. That is what this whole bug is about:

If unmerging a JRE/JDK and that makes the plugin.so-link invalid, it should reset it to a valid JRE/JDK if possible.