hi, Since a new fresh install of Mageia 4 for x86_64 (full DVD) sweethome3d does not start, here the log: Real hw mga4(Official) for x86_64 (Full DVD) : $ sweethome3d Java virtual machine used: /usr/lib/jvm/java/bin/java classpath used: /usr/share/java/sweethome3d/SweetHome3D-4.3.jar:/usr/share/java/sweethome3d/jmf.jar:/usr/share/java/sweethome3d/freehep-vectorgraphics-svg-2.1.1b.jar:/usr/share/java/sweethome3d/Furniture.jar:/usr/share/java/sweethome3d/SweetHome3D.jar:/usr/share/java/sweethome3d/Help.jar:/usr/share/java/sweethome3d/Textures.jar:/usr/share/java/batik-all.jar:/usr/share/java/java3d/j3dutils-1.5.2.jar:/usr/share/java/java3d/j3dutils.jar:/usr/share/java/java3d/j3dcore-1.5.2.jar:/usr/share/java/java3d/j3dcore.jar:/usr/share/java/java3ds-fileloader.jar:/usr/share/java/janino/commons-compiler.jar:/usr/share/java/janino/janino.jar:/usr/share/java/janino/commons-compiler-jdk.jar:/usr/share/java/sunflow.jar:/usr/share/java/itext.jar:/usr/share/java/vecmath.jar:/usr/share/java-1.5.0/../icedtea-web/netx.jar main class used: com.eteks.sweethome3d.SweetHome3D flags used: options used: -Djava.library.path=/usr/lib64:/usr/lib arguments used: 3D [dev] 1.5.2-build4-experimental 21 Oct 2013 22:57:42 GMT Exception in thread "main" java.lang.NoClassDefFoundError: javax.media.j3d.X11NativeConfigTemplate3D at java.lang.Class.initializeClass(libgcj.so.14) at java.lang.Class.forName(libgcj.so.14) at javax.media.j3d.NativeConfigTemplate3D$1.run(NativeConfigTemplate3D.java:79) at java.security.AccessController.doPrivileged(libgcj.so.14) at javax.media.j3d.NativeConfigTemplate3D.createNativeConfigTemplate3D(NativeConfigTemplate3D.java:74) at javax.media.j3d.NativePipeline.initialize(NativePipeline.java:127) at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:170) at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:965) at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:299) at java.lang.Class.initializeClass(libgcj.so.14) at javax.media.j3d.GraphicsConfigTemplate3D.getBestConfiguration(GraphicsConfigTemplate3D.java:321) at java.awt.GraphicsDevice.getBestConfiguration(libgcj.so.14) at com.eteks.sweethome3d.j3d.Component3DManager.<init>(Unknown Source) at com.eteks.sweethome3d.j3d.Component3DManager.getInstance(Unknown Source) at com.eteks.sweethome3d.SweetHome3D.addComponent3DRenderingErrorObserver(Unknown Source) at com.eteks.sweethome3d.SweetHome3D.init(Unknown Source) at com.eteks.sweethome3d.SweetHome3D.main(Unknown Source) Caused by: java.lang.ClassNotFoundException: sun.awt.X11GraphicsDevice not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/share/java/sweethome3d/SweetHome3D-4.3.jar,file:/usr/share/java/sweethome3d/jmf.jar,file:/usr/share/java/sweethome3d/freehep-vectorgraphics-svg-2.1.1b.jar,file:/usr/share/java/sweethome3d/Furniture.jar,file:/usr/share/java/sweethome3d/SweetHome3D.jar,file:/usr/share/java/sweethome3d/Help.jar,file:/usr/share/java/sweethome3d/Textures.jar,file:/usr/share/java/batik-all.jar,file:/usr/share/java/java3d/j3dutils-1.5.2.jar,file:/usr/share/java/java3d/j3dutils.jar,file:/usr/share/java/java3d/j3dcore-1.5.2.jar,file:/usr/share/java/java3d/j3dcore.jar,file:/usr/share/java/java3ds-fileloader.jar,file:/usr/share/java/janino/commons-compiler.jar,file:/usr/share/java/janino/janino.jar,file:/usr/share/java/janino/commons-compiler-jdk.jar,file:/usr/share/java/sunflow.jar,file:/usr/share/java/itext.jar,file:/usr/share/java/vecmath.jar,file:/usr/share/java-1.5.0/../icedtea-web/netx.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}} at java.net.URLClassLoader.findClass(libgcj.so.14) at java.lang.ClassLoader.loadClass(libgcj.so.14) at java.lang.ClassLoader.loadClass(libgcj.so.14) at java.lang.Class.forName(libgcj.so.14) at java.lang.Class.initializeClass(libgcj.so.14) ...16 more ------------------------------------------------------------------------------- The most unlikely is that on my mageia 4 (Cauldron in VB, i586 and x86_64) it starts and runs perfectly, see log : Virtualbox mga4(Cauldron) for x86_64 (live_DVD_KDE): $ sweethome3d Java virtual machine used: /usr/lib/jvm/java/bin/java classpath used: /usr/share/java/sweethome3d/SweetHome3D-4.3.jar:/usr/share/java/sweethome3d/Textures.jar:/usr/share/java/sweethome3d/freehep-vectorgraphics-svg-2.1.1b.jar:/usr/share/java/sweethome3d/SweetHome3D.jar:/usr/share/java/sweethome3d/jmf.jar:/usr/share/java/sweethome3d/Furniture.jar:/usr/share/java/sweethome3d/Help.jar:/usr/share/java/batik-all.jar:/usr/share/java/java3d/j3dutils.jar:/usr/share/java/java3d/j3dutils-1.5.2.jar:/usr/share/java/java3d/j3dcore-1.5.2.jar:/usr/share/java/java3d/j3dcore.jar:/usr/share/java/java3ds-fileloader.jar:/usr/share/java/janino/janino.jar:/usr/share/java/janino/commons-compiler-jdk.jar:/usr/share/java/janino/commons-compiler.jar:/usr/share/java/sunflow.jar:/usr/share/java/itext.jar:/usr/share/java/vecmath.jar:/usr/share/java-1.7.0/../icedtea-web/netx.jar main class used: com.eteks.sweethome3d.SweetHome3D flags used: options used: -Djava.library.path=/usr/lib64:/usr/lib arguments used: 3D [dev] 1.5.2-build4-experimental 21 Oct 2013 22:57:42 GMT ---------------------------------------------------------------------------- One of the only differences I see is: -:/usr/share/java-1.5.0/ = does not start -:/usr/share/java-1.7.0/ = start ok Reproducible: Steps to Reproduce:
Keywords: (none) => TriagedCC: (none) => dmorganec, joequantVersion: 4 => Cauldron
Can you attach the "rpm -qa" for both a working and a non-working system. It's very, very odd that the non-working system is trying to pull in libgcj, so this suggests that the wrong java is getting pulled in.
Created attachment 4927 [details] rpm -qa (mga4 Official) Here the result on mga4 (Official), sweethome3d doesn't start and doesn't work
Created attachment 4928 [details] rpm -qa (mga4 Cauldron) Here the result on mga4 (Cauldron), sweethome3d start and work.
Ok found the problem : on spec file is a missing requires package, and it is java-1.7.0-openjdk-devel. -Install java-1.7.0-openjdk-devel package -try to start sweethome3d -bingo !! sweethome3d start and work. Joseph Wang can you review the spec file and add java-1.7.0-openjdk-devel package as a Requires ? Thank you in advance.
Created attachment 4954 [details] spec with fix_sweethome3d_start.patch
Thanks. I'll fix the file and submit it to backports also.
I put in the requires as java-devel >= 1.7.0 It's been submitted to cauldron. Once it works there, I'll push it back to 4.
Hi joequant, You have added 'java-devel >= 1.7.0' as a BuildRequires but not as a Requires Can you do it again? Requires: java-devel >= 1.7.0 http://svnweb.mageia.org/packages/cauldron/sweethome3d/current/SPECS/sweethome3d.spec?r1=587090&r2=587089&pathrev=587090
Version: Cauldron => 4
ok added that there
i think this is a bad idea as this will pull a lot of devel packages. This is better to find which package is really missing. We are talking of this on irc right now. And so i tested to start it => it works and java-devel is not installed.
CC: (none) => mageia
About the java-devel, sweethome3d requires janino which (for no good reason) requires ant which requires java-devel >= 0:1.5.0. In order to satisfy the 'java-devel[>= 0:1.5.0]' dependency, one of the following packages is needed: 1- java-1.7.0-openjdk-devel-1.7.0.60-2.4.4.2.mga4.x86_64: OpenJDK Development Environment (to install) 2- java-1.5.0-gcj-devel-1.5.0.0-17.1.29.mga4.x86_64: JPackage development scripts for GCJ (to install) Uninstalling (with nodeps) java-1.5.0-gcj-devel and ant also allows it to start. So it seems sweethome3d doesn't really need java-1.7.0-openjdk-devel at runtime but if installed it prevents from using the broken java-1.5.0-gcj-devel.
CC: (none) => pterjan
Bingo Pascal Terjan, Without 'ant' and 'java-1.5.0-gcj-devel' (and 'java-1.7.0-openjdk-devel' too) sweethome3d start and work.
In conclusion: package, which is at fault, is "janino", a Requires for sweethome3d. Is it really needed for the operation of sweethome3d ? If yes, should then review the build package "janino" to create a package named "janino" with only janino.jar file and not devel package in Requires. And another package named "ant-janino" used for build with packages devel in Requires. If not, Then simply remove "janino" package of Requires for sweethome3d, and remove "janino" too of sweethome3d-4.3-script on line 6 (BASE_JARS=.....). What do you think? is it feasible? is this correct?
Ok, now is fixed on Cauldron (.mga5) with a new release for sweethome3d-4.3-4.mga5 and also a new release for sunflow-0.07.3-3.mga5. With this new release we have drop the 'janino' package as a Requires on both packages. janino is not needed for sweethome3d and sunflow too. 'janino' is rather necessary for building packages for itself requires 'ant' package. Now with the new release we have a considerable number of less Requires: # LC_ALL=C urpmi sweethome3d-textures To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release (distrib1)") batik 1.8 0.1.svn12308> noarch bouncycastle-mail 1.46 9.mga4 noarch bouncycastle-tsp 1.46 8.mga4 noarch icedtea-web 1.4.2 1.mga5 x86_64 itext-core 2.1.7 18.mga4 noarch jai-imageio-core 1.2 0.9.20100217> noarch java3d 1.5.2 6.mga4 x86_64 java3ds-fileloader 1.2 2.mga4 noarch javamail 1.5.0 3.mga4 noarch mozilla-filesystem 1.9 3.mga4 x86_64 sac 1.3 17.mga4 noarch sunflow 0.07.3 3.mga5 noarch sweethome3d 4.3 4.mga5 noarch sweethome3d-textures 4.3 4.mga5 noarch vecmath 1.6.0 0.1.20130710> noarch xalan-j2 2.7.1 6.mga4 noarch xerces-j2 2.11.0 10.mga4 noarch xml-commons-resolver 1.2 13.mga4 noarch 53MB of additional disk space will be used. 30MB of packages will be retrieved. Proceed with the installation of the 18 packages? (Y/n) y installing sweethome3d-textures-4.3-4.mga5.noarch.rpm sweethome3d-4.3-4.mga5.noarch.rpm from /var/cache/urpmi/rpms Preparing... ############################################# 17/18: sweethome3d ############################################# 18/18: sweethome3d-textures ############################################# ------------------------------------------------------------------------------- And sweethome3d starts and works fine : $ sweethome3d Java virtual machine used: /usr/lib/jvm/jre/bin/java classpath used: /usr/share/java/sweethome3d/Furniture.jar:/usr/share/java/sweethome3d/Textures.jar :/usr/share/java/sweethome3d/jmf.jar:/usr/share/java/sweethome3d/SweetHome3D-4.3.jar :/usr/share/java/sweethome3d/jnlp.jar:/usr/share/java/sweethome3d/Help.jar :/usr/share/java/sweethome3d/SweetHome3D.jar:/usr/share/java/sweethome3d/freehep-vectorgraphics-svg-2.1.1b.jar :/usr/share/java/batik-all.jar:/usr/share/java/java3d/j3dutils-1.5.2.jar :/usr/share/java/java3d/j3dcore-1.5.2.jar:/usr/share/java/java3d/j3dutils.jar :/usr/share/java/java3d/j3dcore.jar:/usr/share/java/java3ds-fileloader.jar :/usr/share/java/sunflow.jar:/usr/share/java/itext.jar:/usr/share/java/vecmath.jar :/usr/share/java-1.7.0/../icedtea-web/netx.jar main class used: com.eteks.sweethome3d.SweetHome3D flags used: options used: -Djava.library.path=/usr/lib64:/usr/lib arguments used: 3D [dev] 1.5.2-build4-experimental 21 Oct 2013 22:57:42 GMT Java 3D: implicit antialiasing enabled ----------------------------------------------------------------------------- If it's good for others users, then we can push an update for mga4 too.
Advisory: ======================== On a fresh install of Mageia 4 we found that sweethome3d package does not launch after its installation. This is due to dependencies not necessary for its operation but that are installed relative to other packages. Especially the offending package is 'java-1.5.0-gcj-devel'. A dependency problem in chain has been corrected in janino to avoid installing 'java-1.5.0-gcj-devel'. To fix this problem we removed the package 'janino' of required to'sweethome3d' and 'sunflow' packages too, and we added a conflict package on 'java-1.5.0-gcj-devel' to make sure that this one is not installed on the system. ======================== Packages in 4/core/updates_testing: ======================== sweethome3d-4.3-1.2.mga4.noarch.rpm sweethome3d-3dmodels-4.3-1.2.mga4.noarch.rpm sweethome3d-javadoc-4.3-1.2.mga4.noarch.rpm sunflow-0.07.3-2.1.mga4.noarch.rpm sunflow-javadoc-0.07.3-2.1.mga4.noarch.rpm Source RPM: ======================== sweethome3d-4.3-1.2.mga4.src.rpm sunflow-0.07.3-2.1.mga4.src.rpm How to test this update request: ======================== Important: During the installation of sweethome3d if 'urpmi' or 'drakrpm' asks you to choose between 'java-1.5.0-gcj-devel' and 'java-1.7.0-openjdk-devel', choose 'java-1.5.0-gcj-devel' to reproduce this bug. Test procedure: - Install 'sweethome3d' from core/release and accept all dependencies. - Try to launch 'sweethome3d' (normally it should not launch and run and you should have same message as Comment 0). - Install now 'sweethome3d' and 'sunflow' packages from core/updates_testing. - He asks you to uninstall 'java-1.5.0-gcj-devel' and proposes to install 'java-1.7.0-openjdk-devel' as a replacement, then accept it. (Check especially that the package 'java-1.5.0-gcj-devel' is uninstalled, he is the traitor. :) ) - Try again to launch 'sweethome3d', now it should start and run. If you want clean your system with old packages required by sweethome3d(it is not mandatory): - You can remove orphaned packages (because now there must be in the list), You can use this command: "urpme --auto-orphans". - You should have the following packages (this list can be different depending on what you have already installed on your system): ant-1.9.2-2.mga4.noarch gcc-java-4.8.2-3.mga4.x86_64 / gcc-java-4.8.2-3.mga4.i586 janino-2.6.1-5.mga4.noarch java_cup-0.11a-15.mga4.noarch gcj-tools-4.8.2-3.mga4.x86_64 / gcj-tools-4.8.2-3.mga4.i586 java-1.5.0-gcj-5.0.0-17.1.29.mga4.x86_64 / java-1.5.0-gcj-5.0.0-17.1.29.mga4.i586 lib64gcj14-4.8.2-3.mga4.x86_64 / libgcj14-4.8.2-3.mga4.i586 lib64gcj_bc1-4.8.2-3.mga4.x86_64 / libgcj_bc1-4.8.2-3.mga4.i586 libgcj14-base-4.8.2-3.mga4.x86_64 / libgcj14-base-4.8.2-3.mga4.i586 lib64gcj-devel-4.8.2-3.mga4.x86_64 / lib64gcj-devel-4.8.2-3.mga4.i586 lib64zlib-devel-1.2.8-3.mga4.x86_64 / lib64zlib-devel-1.2.8-3.mga4.i586 sinjdoc-0.5-4.10.mga4.x86_64 / sinjdoc-0.5-4.10.mga4.i586 itext-2.1.7-18.mga4.x86_64 / itext-2.1.7-18.mga4.i586
Assignee: bugsquad => qa-bugs
Whiteboard: (none) => has_procedure
could reproduce error message. After activating testing repos: [root@localhost marc]# urpmi sweethome3d The following package has to be removed for others to be upgraded: java-1.5.0-gcj-devel-1.5.0.0-17.1.29.mga4.i586 (due to conflicts with sweethome3d-4.3-1.2.mga4.noarch) (y/N) y To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") java-1.7.0-openjdk-devel 1.7.0.60 2.4.4.2.mga4 i586 (medium "Core Updates Testing") sweethome3d 4.3 1.2.mga4 noarch 35MB of additional disk space will be used. 20MB of packages will be retrieved. Proceed with the installation of the 2 packages? (Y/n) after update sweethome3d starts fine. Tested for MGA4 32bit.
CC: (none) => marc.lattemannWhiteboard: has_procedure => has_procedure MGA4-32-OK
tested successfully for MGA4 64bit as well. After upload advisory from comment #15 it can be validated and pushed to core_updates.
Whiteboard: has_procedure MGA4-32-OK => has_procedure MGA4-32-OK MGA4-64-OK
Advisory uploaded. Validating. Could sysadmin please push to updates Thanks
Keywords: (none) => validated_updateWhiteboard: has_procedure MGA4-32-OK MGA4-64-OK => has_procedure advisory MGA4-32-OK MGA4-64-OKCC: (none) => sysadmin-bugs
Update pushed: http://advisories.mageia.org/MGAA-2014-0081.html
Status: NEW => RESOLVEDCC: (none) => tmbResolution: (none) => FIXED