Menu

Vista x64

Help
Anonymous
2009-01-12
2013-04-26
  • Anonymous

    Anonymous - 2009-01-12

    Hi!

    I'm using Vista x64 with the 64 bit version of Eclipse. I already read the notes about Vista and moved the Eclipse folder out of C:\Program Files. The java3d plugin can be installed successfully, but when I try to compile my project (which compiles on other machines flawlessly) then I get a lot of errors: "Access restriction: The constructor ... is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\ext\vecmath.jar" and so on. I already tried to move the "Plugin Dependencies" above the "JRE System Library" in the build path settings ("Order and Export"), but that did not make any difference.

    I noticed a difference between the 586 version of the java3d plugin and the amd64 one: The first one uses different fragments for each Java3D library (j3dcore.jar, j3dutils.jar and vecmath.jar). The 64 bit version uses only one fragment which references these libraries in its classpath.

    Could it be that this is the problem? How do I resolve it?

    Thanks in advance
    michel

     
    • Aleksandar Ristovski

      Hello,

      I have to make a disclaimer first: I do not have a 64-bit machine handy to test it myself.

      I see from your message that you have java3d jars in your jre. Note that for the plugin to work you do not need them there. That was the idea of the plugin, to avoid having to install java3d separatly, but rather to use the plugin with your eclipse.

      The difference you are seeing is not clear to me: both plugins (586 and 64) should have those three jars. They may differ, however, in number of libraries under os/win32. The naming of sub-directory under os/<platform>/ will differ too.

      Now that I look at it, maybe the 'win32' name there is the problem. Maybe it should be 'win64'. And this would be my best bet. Could you try renaming that directory to 'win64'?

      So the directory will be in your
      <eclipse install>\plugins\java3d_windows_amd64_1.5.1\os\win32

      Change it to win64. It should look something like:

      <eclipse install>\plugins\java3d_....\os\win64

      NOTE: I guessed 'win64' name; to be sure what the name should be, compare it with property 'os.name' in eclipse application.

      Please let me know if it worked.

      Thanks,

      Aleksandar

       
    • Aleksandar Ristovski

      The properties that would be nice to check are

      osgi.os and osgi.arch

      and NOT like I suggested above "os.name".

      Sorry about that.

       
    • Anonymous

      Anonymous - 2009-01-13

      Hallo Aleksandar,

      thank you for your answer. The osgi.os variable is still "win32". os.arch is "x86_64".

      Let me describe the difference between the 568 and the x64 plugin a little bit better:

      When I use the 586 one on my 32-bit system the plugin directory will contain the following:
      - A directory called "java3d_windows_i586_1.5.1" which contains the needed dll files under "os\win32" and the jars under "lib\ext".
      - A file "java3d_1.5.1.jar"

      My project has the following dependencies (which will be listed in Eclipse under "Plug-in Dependencies")
      - java3d_1.5.1.jar
      - j3dcore.jar
      - j3dutils.jar
      - vecmath.jar

      Now to the x64 version. The plugin directory contains the following files:
      - "java3d_1.5.1.jar", the same as above
      - "java3d_windows_amd64_1.5.1.jar" which contains the dll files under "os\win32\x86_64" (should be correct) and the jars under "lib\ext".

      The plugin dependencies shows the following:
      - java3d_1.5.1.jar
      - java3d_windows_amd64_1.5.1.jar

      So there is no "j3dcore.jar" and so on! I realized that "java3d_windows_amd64_1.5.1" is simply a compressed version of the directory which can also be found on the 32-bit version, but when I uncompress it and restart eclipse the plugin dependecies will be as follows:
      - java3d_1.5.1.jar

      And nothing else... :-(

      By the way: I do have the Java3d libraries in my jre, because I have both, Eclipse plugins and "normal" Java projects using Java3d. Besides, it works like that on my 32-bit system. There I also have Java3d installed in the jre.

      Any ideas?

      Thanks,
      Michel

       
      • Aleksandar Ristovski

        Ok, then it is definitely something with the fragment setup.

        Next I would compare the two directories, in particular MANIFEST.MF in each: in the working one (java3d_windows_i586_1.5.1) and java3d_windows_amd64_1.5.1.jar.

        You can leave dlls/jars uncompressed, I don't recall leaving them compressed intentionally, that must have slipped in by mistake. In theory that should also work, but I did not have intention to make amd64 fragment different than the others.

        In: eclipse\plugins\java3d_windows_i586_1.5.1\META-INF directory (and corresponding amd64 directory) there is a MANIFEST.MF file. Compare the content, they should be similar. If any differences, edit the amd64 manifest to look like the working one, but remain relevant names correspond to amd64.

        For example, amd64 should look something like:

        Manifest-Version: 1.0
        Bundle-ManifestVersion: 2
        Bundle-Name: Java3d_1_5_windows_amd64 Fragment
        Bundle-SymbolicName: java3d_windows_amd64
        Bundle-Version: 1.5.1
        Fragment-Host: java3d;bundle-version="[1.5.1,1.6.0)"
        Bundle-Localization: plugin
        Bundle-ClassPath: lib/ext/j3dcore.jar,
        lib/ext/j3dutils.jar,
        lib/ext/vecmath.jar
        Export-Package: com.sun.j3d.audioengines,
        com.sun.j3d.audioengines.javasound,
        .....

        The rest of the file sould be the same.

        Let me know if this helps.

        Thanks,

        Aleksandar

         
    • Anonymous

      Anonymous - 2009-01-13

      Hi!

      The two manifest files look exactly the same.

      By the way: I solved the errors by importing the "java3d_windows_amd64.jar" as a plugin into the eclipse workspace with "File/Import.../Plugins and Fragments". Now everything compiles and I can live with it, but it's kind of weird and I guess you would like to find a real solution. If so, I will be happy to help you.

      Thanks,
      Michel

       
      • Aleksandar Ristovski

        ok, if you have time, could you do the following (on your x64 machine):

        In your eclipse, go to

        "Help"->"About Eclpse SDK"

        Then click on the Duke button (it should be there). This should open a dialog and then click on "Plug-in details" button. This should open yet another dialog and two items should be listed: your java3d plugin and your fragment.

        The Fragment entry should have "java3d_1_5_windows_amd64 Fragment"  in Plugin Name column and in Plugin-Id it should say "java3d_windows_amd64".

        Let me know if you see as described above, and if something is missing (and what).

        Thank you for your help!

         
    • Anonymous

      Anonymous - 2009-01-14

      Hi!

      Yes, there are two items in this list. The provider is "java3declipse.org". The names are "Java3d 1.5.x Plug-in" and "Java3d_1_5_windows_amd64 Fragment". The plug-in IDs are "java3d" and "java3d_windows_amd64".

      Thanks,
      Michel

       
      • Aleksandar Ristovski

        It looks like the fragment is correctly set up.

        Maybe it is something with your project setup?

        Could you try this:

        In a clean workspace, create a sample RCP application (using, for example Hello World template) - therefore, an RCP that will ahve UI.

        Then in it's manifest file editor, open tab "dependencies" and include "java3d".

        This should implicitly include all java3d dependencies (all the jars), and you can verify that when you expand "plugin dependencies" in the package explorer.

        Thanks,

        Aleksandar

         
        • Anonymous

          Anonymous - 2009-01-20

          Hi!

          Sorry for my late answer. I was very busy lately.

          I did as you said and created a new workspace and a new HelloWorld project. I added java3d to the dependencies. When I open the "Plugin dependencies" in the "Package Explorer" it includes the following entries:
          java3d_1.5.1.jar
          java3d_windows_amd64_1.5.1.jar

          So it looks just the same as in my other projects.

          I also added a little bit code. For example:

            javax.media.j3d.PickInfo pi;

          This leads to the access restriction error I described before. It cannot access the j3dcore.jar in my JRE directory. When I remove Java3D from my JRE I get the following error:

            javax.media cannot be resolved to a type

          Thanks for your help.

          Sincerely,
          Michel

           
          • Aleksandar Ristovski

            My guess is, then, that there is a collision with your java3d in your jre. I do not exactly understand why.

            I wonder if it would work if you removed java3d from your jre? My guess is that it would, since in that case jre java3d would not be found (and therefore there would be no access restriction errors).

            Thanks,

            Aleksandar

             
            • Anonymous

              Anonymous - 2009-01-21

              Hi!

              As I said before: "When I remove Java3D from my JRE I get the following error: javax.media cannot be resolved to a type". :-/

              Sincerely,
              Michel Krämer

               
              • Aleksandar Ristovski

                Ah, yes, I missed that. Sorry.

                The only remaining thing I can think of is: I can rebuild that particular fragment to not be in the archive (but rather separate files as on the other platforms).

                I guess it is time for me to switch to 64-bits :-)

                 
                • Nobody/Anonymous

                  Hi!

                  Yes, it would be a good idea to rebuild the package. I can test it as soon as it's ready. Thanks!

                  Regards,
                  Michel

                   
                  • Aleksandar Ristovski

                    Hello Michel,

                    I sent you an e-mail to your sourceforge account with links to new archived update site.

                    Let me know when you get a chance to test it and then I will publish it.

                    Thanks,

                    Aleksandar

                     
                    • Nobody/Anonymous

                      Hi Aleksandar!

                      Sorry for my late reply.

                      Your new package does not change a thing. The "java3d_windows_amd64_1.5.1.jar" file is still packed as before.

                      Regards,
                      Michel

                       
                      • Aleksandar Ristovski

                        I will have new package soon, this time with properly setup fragment.

                        Sorry about that.

                         
                      • Aleksandar Ristovski

                        Michel, could you try again? The same link, the file is named the same but it is a different file.

                        You probably know already, you have to remove previous plugin before installing new one (the versions are the same and eclipse will not update it if it is already installed).

                        Let me know if this changes anything.

                        Thanks for your help,

                        Aleksandar

                         
                        • Anonymous

                          Anonymous - 2009-02-10

                          Hi!

                          I uninstalled the old version and installed your new one, but that did not change anything. Now both archives "java3d_1.5.1.jar" and "java3d_windows_amd64_1.5.1" are packed, but I think that should not make any difference. I guess it has something to do with the x64 version of the JRE, because this time when I had just uninstalled the java3d plugin I noticed that I got the same "access restriction" errors I get when the plugin is actually installed but not imported into the workspace. Very weird!

                          Regards,
                          Michel

                           
                          • Aleksandar Ristovski

                            Hello Michel,

                            I was wondering if you had time to try with the latest plugin. I repackaged java3d plugin and moved all three jars under the plugin itself, while fragments still hold native rendering libraries.

                            Maybe this makes a difference on your x86_64 machine?

                            Thanks,

                            Aleksandar

                             
                            • Anonymous

                              Anonymous - 2009-03-09

                              Hi!

                              I'm sorry, I did not notice you uploaded a new version. I just downloaded it and what can I say? It works!! No more error messages, no more extra java3d projects in my workspace! Thank you very much for your effort!

                              Keep up that good work!

                              Michel

                               

Log in to post a comment.