Tech

20160331

ODI 12c install Bug: Cyclic dependency detected among featureset libraries oracle.odi.sdk.clientLib.jar


I am currently installing WLS 12.2.1 Enterprise with multiple products on multiple environments; During the installation on ODI over FMW  Infrastructure, and I faced the following Exception printed out on the installation log located at the tmp directory:

Caused by: oracle.sysman.oii.oiif.oiifb.OiifbEndIterateException: com.oracle.cie.gdr.libraries.LibraryHandlerException: Cyclic dependency detected among featureset libraries: [/u01/oracle/products/fmw/modules/clients/oracle.odi.sdk.clientLib.jar]

What I know about the problem:


  1. The issue happen only during the ODI 12c install, and any other product such as SOA and OSB the installation was successfully. By investigating I heard that a college could run the installation without a problem; 
  2. I looked into the Oracle Support and found that is a bug on description phase, which means it would take a long time for a final solution: Bug 22262514 : ERROR WHEN INSTALLING ODI 12.2.1 ON HP UX 11.31; 
  3. The ODI installation is the only installation with the double jars to install: 
  4. The Oracles documentation provided me with the following step to install the ODI: 
  •  /home/Oracle/jdk1.8.0_60/bin/java -jar fmw_12.2.1.0.0_odi.jar

What I was doing:

Since I had to install the application on silent mode, I had something similar to the script bellow:

#!/bin/bash 
export JAVA_HOME=/home/Oracle/jdk1.8.0_60 
export PATH=$JAVA_HOME/bin:$PATH 
java -version 
java -d64 -Xms4g -Xmx4g -jar fmw_12.2.1.0.0_odi.jar -silent etc...

As you can see, the steps were done correctly and running similar scripts worked on the SOA and OSB installation; After some long hours looking and trying to install a successful ODI install, I remember something about how the JVM actually loads classes. By following the instruction from Oracle in providing a full path of the JDK, the JVM seems to load the second fmw_12.2.1.0.0_odi2.jar, therefore the issue was on my script and how I am calling the fmw_12.2.1.0.0_odi.jar; By setting the global PATH variable, I was not allowing the java command to load all needed classes and jars. 

Therefore the solution is simple, was just changing how I was calling the java command or use the -cp to set the classpath: 

java -d64 -Xms4g -Xmx4g -cp /fmw_12.2.1.0.0_odi2.jar -jar /fmw_12.2.1.0.0_odi.jar -silent etc...

If you do the above command and still get an error like bellow, its a good change the you had an failed installation on the FMW Infrastructure previously and you need to delete and reinstall the whole environment again. 

oracle.sysman.nextgen.NextGenInstallerException: oracle.sysman.oii.oiif.oiifb.OiifbEndIterateException: com.oracle.cie.gdr.maven.PomException: Errors were found during
POM generation. Please check the logs for more informatio



6 comments:

  1. when I am running this command I am getting error unable to access jar file :
    java -d64 -Xms4g -Xmx4g -cp /fmw_12.2.1.0.0_odi2.jar -jar /fmw_12.2.1.0.0_odi.jar -silent etc...

    ReplyDelete
  2. Thank you My issue is resolved , I did a typo in previous command .

    ReplyDelete
  3. Another workaround is to remove the oracle client from the PATH and from the LIBRARY PATH.

    ReplyDelete
  4. Also, check the groups of the user on the operating system for
    - the files and folders of the install kit and of the destination folder
    - the install configuration files

    ReplyDelete
  5. Also, check the destination folders should be different for odi and weblogic.
    ODI folder should be within the weblogic folder.

    ReplyDelete
  6. Workaround:
    * install weblogic, then zip the folder and delete contents
    * install odi, then zip the folder and delete contents
    * unzip weblogic archive
    * unzip odi archive

    ReplyDelete