8 Replies Latest reply: Nov 9, 2006 1:48 PM by 538402 RSS

    UnsatisfiedLink

    431993
      I am trying to get one of the Java Mail SDK examples (on creating and granting shared folders) from the "Email Application Developer's Guide" working. The errors that appear are listed below. Basically it complains about missing "jmisc".

      There was a slightly similar post on this on Technet that talked about JDev10 and 9iAS 9.0.3 incompatibilities, but nothing much more. I use 9iAS 9.0.4 and JDK 1.3 and have no JDeveloper (basically I am using vi and command line!). All the required jars and zips are installed and on classpath. They are both in jlib and jre/lib/ext. ("ojmisc.jar" is avaiable and can be found).

      Appreciate any help or pointers.

      Thanks.

      -- Jaidev
        • 1. Re: UnsatisfiedLink
          431993
          Apologies... did not paste the error. Here it is...

          DEBUG: getProvider() returning javax.mail.Provider[STORE,esmail,oracle.mail.sdk.esmail.OracleStore,oracle]
          DEBUG: [connect]
          User = sit2
          Address = sit2@myserver.com
          Profile = null
          Exception in thread "main" java.lang.UnsatisfiedLinkError: no jmisc in java.library.path
          at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1344)
          at java.lang.Runtime.loadLibrary0(Runtime.java:744)
          at java.lang.System.loadLibrary(System.java:815)
          at oracle.security.misc.C01.c(C01)
          at oracle.security.misc.Checksum.SHA(Checksum)
          at oracle.ias.repository.IASSchema$Enc.d(IASSchema.java:1326)
          at oracle.ias.repository.IASSchema.init(IASSchema.java:146)
          at oracle.ias.repository.IASSchema.<init>(IASSchema.java:106)
          at oracle.ias.repository.SchemaManager.<init>(SchemaManager.java:64)
          at oracle.mail.ldap.IASRepositoryUtils.<init>(IASRepositoryUtils.java:59)
          at oracle.mail.ldap.ESDSLdapConnectionPool.initLDAPHandle(ESDSLdapConnectionPool.java:205)
          at oracle.mail.ldap.ESDSPoolManager.ESDSLDAPBind(ESDSPoolManager.java:85)
          at oracle.mail.ldap.ESDSDirServerAccess.ESDSClientLogon(ESDSDirServerAccess.java:840)
          at oracle.mail.sdk.esmail.OracleStore.connect(OracleStore.java:881)
          at SharedFolderCreate.main(SharedFolderCreate.java:87)

          • 2. Re: UnsatisfiedLink
            55511
            Did you figure out what the problem was with the Exception in thread "main" java.lang.UnsatisfiedLinkError: no jmisc in java.library.path???

            I'm having the same problem...
            • 3. Re: UnsatisfiedLink
              272931
              I see this exception in the Calendar SDK if I do not have the native libaries in the path, either add

              -Djava.library.path=<path to libraries>

              to your java command line, or add the native library directories to your system path.

              Chris
              • 4. Re: UnsatisfiedLink
                55511
                Thanks for the quick reply. I've added the csdkjni.dll to the system32 directory. I've also checked the system PATH to insure that it contains c:\windows\system32.

                Here is the output...

                Exception in thread main
                java.lang.UnsatisfiedLinkError: no csdkjni in java.library.path

                     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)

                     at java.lang.Runtime.loadLibrary0(Runtime.java:788)

                     at java.lang.System.loadLibrary(System.java:834)

                     at oracle.calendar.sdk.Api.<clinit>(Api.java:63)

                     at Calendar.main(Calendar.java:21)

                Process exited with exit code 1.
                • 5. Re: UnsatisfiedLink
                  272931
                  I have never tried adding the SDK native libs to system32, although I would expect it to work. I do the following:

                  set PATH=%PATH%;C:\Apps\capi9.0.4.2\java;C:\Apps\capi9.0.4.2\lib

                  where C:\Apps\capi9.0.4.2\java contains csdkjni.dll
                  and C:\Apps\capi9.0.4.2\lib contains all the other dll's

                  Chris
                  • 6. Re: UnsatisfiedLink
                    385556
                    Putting the SDK libraries in Windows\System32 is not a good idea. If you happen to upgrade your installation at some point you may not remember that some libraries are there. Also, if you happen to put some libraries there which are used by other Oracle Calendar applications (such as the Windows client, or OCFO), then those applications may find the libraries in Windows\System32 instead of the ones they were bundled with, potentially causing problems.

                    It's recommended instead that you add the path to your SDK library directory to your PATH environment variable. There are several libraries in the package that the csdkjni.dll library depends on, and if any of them can't be found you will still have the same error (as the JVM will be unable to load csdkjni.dll without its dependencies).

                    Graham
                    • 7. Re: UnsatisfiedLink
                      480794
                      I am trying to call the CSDK from inside a servlet so that the calendar can be accesible from the internet. But while setting the session with the calendar server it gives me a unsatisfiedLink error message;

                      I have the path variable set to the correct path and also have set the java.library.path pointing to the correct directories with the dll and the csdk.jar and csdkjni.dll

                      Do i have to set some other variable also in case of servlets!!!!

                      Joyce
                      • 8. Re: UnsatisfiedLink
                        538402
                        Hope you got resolution to this...
                        If not, I am able to resolve this when I used the below option while running the class file :

                        -Djava.library.path=$ORACLE_HOME/lib

                        Esh.