Bug 498831
Summary: | portecle fails to start: "unrecognized option -- `-splash.....', etc. | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Tom London <selinux> |
Component: | portecle | Assignee: | Ville Skyttä <ville.skytta> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | rawhide | CC: | ville.skytta |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | 1.4-5 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-11-12 22:01:44 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 461683 | ||
Bug Blocks: |
Description
Tom London
2009-05-03 18:10:40 UTC
Which platform is this? Have you changed the default Java for your system? Portecle can't be run with gij/gcj, it requires Java 1.6 (OpenJDK). What do the following commands output? which java java -version /usr/sbin/update-alternatives --display java Platform is x86_64; believe it is a "stock" F11-x86_64 Beta install, updated every day or so to Rawhide. I haven't touched/changed Java (at least to my knowledege). [tbl@tlondon ~]$ which java /usr/bin/java [tbl@tlondon ~]$ rpm -qa java\* java-1.6.0-openjdk-1.6.0.0-20.b14.fc11.x86_64 java_cup-0.10k-2.x86_64 java-1.5.0-gcj-javadoc-1.5.0.0-25.fc11.x86_64 java-1.5.0-gcj-1.5.0.0-25.fc11.x86_64 java-1.5.0-gcj-devel-1.5.0.0-25.fc11.x86_64 java-1.6.0-openjdk-plugin-1.6.0.0-20.b14.fc11.x86_64 [tbl@tlondon ~]$ java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.4.1) (fedora-20.b14.fc11-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b08, mixed mode) [tbl@tlondon ~]$ /usr/sbin/update-alternatives --display java java - status is auto. link currently points to /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - priority 16000 slave javaws: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/javaws slave keytool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/keytool slave orbd: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/orbd slave pack200: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/pack200 slave policytool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/policytool slave rmid: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/rmid slave rmiregistry: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/rmiregistry slave servertool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/servertool slave tnameserv: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/tnameserv slave unpack200: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/unpack200 slave jre_exports: /usr/lib/jvm-exports/jre-1.6.0-openjdk.x86_64 slave jre: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64 slave java.1.gz: /usr/share/man/man1/java-java-1.6.0-openjdk.1.gz slave keytool.1.gz: /usr/share/man/man1/keytool-java-1.6.0-openjdk.1.gz slave orbd.1.gz: /usr/share/man/man1/orbd-java-1.6.0-openjdk.1.gz slave pack200.1.gz: /usr/share/man/man1/pack200-java-1.6.0-openjdk.1.gz slave policytool.1.gz: /usr/share/man/man1/policytool-java-1.6.0-openjdk.1.gz slave rmid.1.gz: /usr/share/man/man1/rmid-java-1.6.0-openjdk.1.gz slave rmiregistry.1.gz: /usr/share/man/man1/rmiregistry-java-1.6.0-openjdk.1.gz slave servertool.1.gz: /usr/share/man/man1/servertool-java-1.6.0-openjdk.1.gz slave tnameserv.1.gz: /usr/share/man/man1/tnameserv-java-1.6.0-openjdk.1.gz slave unpack200.1.gz: /usr/share/man/man1/unpack200-java-1.6.0-openjdk.1.gz /usr/lib/jvm/jre-1.5.0-gcj/bin/java - priority 1500 slave javaws: (null) slave keytool: /usr/lib/jvm/jre-1.5.0-gcj/bin/keytool slave orbd: (null) slave pack200: (null) slave policytool: (null) slave rmid: (null) slave rmiregistry: /usr/lib/jvm/jre-1.5.0-gcj/bin/rmiregistry slave servertool: (null) slave tnameserv: (null) slave unpack200: (null) slave jre_exports: /usr/lib/jvm-exports/jre-1.5.0-gcj slave jre: /usr/lib/jvm/jre-1.5.0-gcj slave java.1.gz: (null) slave keytool.1.gz: (null) slave orbd.1.gz: (null) slave pack200.1.gz: (null) slave policytool.1.gz: (null) slave rmid.1.gz: (null) slave rmiregistry.1.gz: (null) slave servertool.1.gz: (null) slave tnameserv.1.gz: (null) slave unpack200.1.gz: (null) Current `best' version is /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java. [tbl@tlondon ~]$ A bit more: [tbl@tlondon ~]$ sh -x portecle + . /usr/share/java-utils/java-functions ++ _JAVA_HOME= ++ '[' -f /etc/java/java.conf ']' ++ . /etc/java/java.conf +++ JAVA_LIBDIR=/usr/share/java +++ JNI_LIBDIR=/usr/lib/java +++ JVM_ROOT=/usr/lib/jvm +++ JAVACMD_OPTS= ++ '[' -f /home/tbl/.java/java.conf ']' ++ '[' '!' -z '' -a -d '' ']' ++ '[' -z '' -a -d /usr/lib/jvm/java ']' ++ JAVA_HOME=/usr/lib/jvm/java ++ '[' -z /usr/lib/jvm/java -a -d /usr/lib/jvm/jre ']' + '[' -f /etc/java/portecle.conf ']' + '[' -f /home/tbl/.porteclerc ']' + MAIN_CLASS=net.sf.portecle.FPortecle + BASE_FLAGS=-splash:/usr/share/doc/portecle-1.4/doc/images/splash.png + BASE_OPTIONS= + BASE_JARS='bcprov portecle' + set_jvm + '[' -n /usr/lib/jvm/java ']' + return + set_classpath bcprov portecle + jars='bcprov portecle' + '[' -n '' ']' ++ /usr/bin/build-classpath bcprov portecle + LOCAL_CLASSPATH=/usr/share/java/bcprov.jar:/usr/share/java/portecle.jar + CLASSPATH=/usr/share/java/bcprov.jar:/usr/share/java/portecle.jar: + set_flags -splash:/usr/share/doc/portecle-1.4/doc/images/splash.png + FLAGS=-splash:/usr/share/doc/portecle-1.4/doc/images/splash.png + '[' -n '' ']' + set_options + OPTIONS= + '[' -n '' ']' + run + set_javacmd + '[' -x '' ']' + set_jvm + '[' -n /usr/lib/jvm/java ']' + return + '[' -x /usr/lib/jvm/java/jre/sh/java ']' + '[' -x /usr/lib/jvm/java/bin/java ']' + JAVACMD=/usr/lib/jvm/java/bin/java + '[' '!' -x /usr/lib/jvm/java/bin/java ']' + '[' -n '' ']' + return 0 + '[' -n '' ']' + exec /usr/lib/jvm/java/bin/java -splash:/usr/share/doc/portecle-1.4/doc/images/splash.png -classpath /usr/share/java/bcprov.jar:/usr/share/java/portecle.jar: net.sf.portecle.FPortecle gij: unrecognized option -- `-splash:/usr/share/doc/portecle-1.4/doc/images/splash.png' Try `gij --help' for more information. [tbl@tlondon ~]$ But: [root@tlondon ~]# ls -l /usr/lib/jvm/java/bin/java lrwxrwxrwx. 1 root root 19 2009-04-14 16:37 /usr/lib/jvm/java/bin/java -> ../../../../bin/gij [root@tlondon ~]# [root@tlondon ~]# ls -l /etc/alternatives/java_sdk lrwxrwxrwx. 1 root root 27 2009-04-14 16:37 /etc/alternatives/java_sdk -> /usr/lib/jvm/java-1.5.0-gcj [root@tlondon ~]# Hmm, it looks to me that the jpackage scripts prefer a full java sdk (-devel) instead of just a jre when locating a java home. What does 'rpm -qa "java*"' output? I guess that you have the gcj devel package installed but do not have the openjdk devel one. If that's correct, I suppose either removing java-1.5.0-gcj-devel or installing java-1.6.0-openjdk-devel would work around the problem. Portecle should probably try harder to locate a 1.6.0+ java but I think this is also a jpackage-utils bug (assuming my guess above was correct). [tbl@tlondon ~]$ rpm -qa java\* java-1.6.0-openjdk-1.6.0.0-20.b14.fc11.x86_64 java_cup-0.10k-2.x86_64 java-1.5.0-gcj-javadoc-1.5.0.0-25.fc11.x86_64 java-1.5.0-gcj-1.5.0.0-25.fc11.x86_64 java-1.5.0-gcj-devel-1.5.0.0-25.fc11.x86_64 java-1.6.0-openjdk-plugin-1.6.0.0-20.b14.fc11.x86_64 [tbl@tlondon ~]$ Hmmm... Can't seem to cleanly be able to uninstall java-1.5.0-gcj-devel-1.5.0.0-25.fc11.x86_64, as eclipse-jdt and and seem to depend on it. I installed java-1.6.0-openjdk-devel-1.6.0.0-20.b14.fc11.x86_64.rpm, and afterwards portecle works fine. [tbl@tlondon ~]$ portecle May 4, 2009 9:35:05 AM java.util.prefs.FileSystemPreferences$2 run INFO: Created user preferences directory. [tbl@tlondon ~]$ Also, I can now uninstall java-1.5.0-gcj-devel without ant and eclipse-jdt complaining. Not sure why/how java*gcj-devel got installed. Is it possible that somehow java*gcj would be "preferred" over java*openjdk? Yep, as said, the scripts used to launch portecle (from jpackage-utils) always prefer a SDK (-devel) java instead of a jre which I think is a bug, see bug 461683. Because you had java-1.5.0-gcj-devel installed and no other java*-devel packages, the scripts prefer gcj. One more possible workaround that doesn't require installing/erasing any java-*-devel packages could be to add this to the top of your /usr/bin/portecle, before ". /usr/share/java-utils/java-functions": JAVA_HOME=/usr/lib/jvm/jre-1.6.0 ...but this is just a portecle specific hack and I think a more overall fix is required (most likely in jpackage-utils). This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle. Changing version to '11'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping I'm running rawhide now, and portecle-1.4-3.fc12.noarch works..... Not sure how to resolve this BZ..... It's possible that the problem reappears in some setups, I'll fix it in portecle once bug 461683 has been resolved. Just updating..... I'm seeing this with current Rawhide: [tbl@tlondon ~]$ portecle gij: unrecognized option -- `-splash:/usr/share/doc/portecle-1.4/doc/images/splash.png' Try `gij --help' for more information. [tbl@tlondon ~]$ Still have only gcj-devel installed: [tbl@tlondon ~]$ rpm -qa java\*devel\* java-1.5.0-gcj-devel-1.5.0.0-29.fc12.x86_64 [tbl@tlondon ~]$ Per comments above, I tried installing java-1.6.0-openjdk-devel (and javahelp2, netbeans-platform and swing-layout). After that, portecle starts up like a champ. Resetting this to "rawhide". No maintainer comments in bug 461683 so I've added a workaround in portecle 1.4-5. http://koji.fedoraproject.org/koji/taskinfo?taskID=1804118 Workaround purged in 1.5-2 now that bug 461683 is taken care of. |