IBM Support

'Could not load tm1api.dll due to: The specified module could not be found' when starting FAP service, caused by incorrect TM1 client/PATH configuration

Troubleshooting


Problem

Customer is trying to configure the Controller feature 'Financial Analytics Publisher' (FAP) on the application server(s). Administrator starts the FAP service. An error appears inside the 'FAPFatalError.log' file.

Symptom

FAPFatalError.log:

java.lang.ExceptionInInitializerError
at com.ibm.cognos.fap.common.persistence.tm1.
TM1Context.<clinit>(TM1Context.java:51)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize
(J9VMInternals.java:200)
at com.ibm.cognos.fap.service.schedule.Scheduler.
updateDatamarts(Scheduler.java:456)
at com.ibm.cognos.fap.service.schedule.Scheduler.
run(Scheduler.java:251)
at com.ibm.cognos.fap.service.schedule.
Scheduler$1.run(Scheduler.java:135)
at java.lang.Thread.run(Thread.java:736)
Caused by: com.ibm.cognos.tm1.TM1Exception: Could not load tm1api.dll
due to: The specified module could not be found.
at com.ibm.cognos.tm1.API.internalInitialize (Native Method)
at com.ibm.cognos.tm1.API.initialize(API.java:357)
at com.ibm.cognos.tm1.API.initialize(API.java:97)
at com.ibm.cognos.fap.common.persistence.tm1.TM1Context.<clinit>(TM1Context.java:48) ... 6 more

Cause

There are several possible causes for the 'Could not load tm1api.dll' error.

  • TIP: See separate IBM Technote #2006103.

This Technote specifically relates to the scenarios where the cause is that the FAP service cannot locate the TM1 shared DLL library files because either:
(a) the TM1 DLL files have not been installed
or (b) the Windows system variable PATH has not been updated to point to their location.

More Information
The TM1 client includes the .dll files that are required for the Financial Analytics Publisher server and the client to communicate with the TM1 server.
  • Therefore it is necessary to install the TM1 client on the server where the Financial Analytics Publisher (FAP) service is installed.
This is to allow the Financial Analytics Publisher service to communicate with the TM1 Server (as well as to allow the user to create the required TM1 local servers).
  • See also Technote # 1456320

In addition, the PATH variable must include the folder where these DLL files are located.
  • Controller 10.2 onwards is a 64-bit server, so requires 64-bit TM1 DLL files
  • Controller 10.1.1 and earlier is a 32-bit server, so requires 32-bit TM1 DLL files

Environment

This Technote relates to Controller configured with standard TM1.

  • If using Cognos Express, see Technote #1692693 for more information.

Resolving The Problem

Install the TM1 client on the Controller application server, and check that the PATH variable is correct.

  • VITAL: Make sure that you install/configure the correct TM1 client version and bitness (depending on what version of Controller you are using).

Steps:

Installing TM1 client:


1. Obtain a short period of downtime (no users on the system)
2. Logon to the Controller application server
3. Obtain the correct version and bitness (32 or 64-bit) of TM1.

For example:
  • If using Controller 10.2.0 then download TM1 64-bit 10.2.2 Microsoft Windows Multilingual (CIYF7ML)
  • If using Controller 10.1.0 RTM (10.1.332), then (for example) download the v9.5.2 32-bit installation media,

3. Browse to the TM1 installation media, and double-click on setup.exe
4. Click OK, OK, Next, I accept, Next
5. In the Choose a Product to Install, select the TM1 (Server and Client) option, and then click Next.
6. Assuming that you have not installed MS .NET Framework 3.0, you will get a “TM1 Rules Editor requires Microsoft .NET Framework Manager Version 3.0” warning. Simply click OK to this warning
7. Typically leave the install location as the default
  • For example, for TM1 v9.5.2 this is: C:\Program Files\Cognos\TM1

8. Choose Custom install, then Next
9. Inside ‘Component Selection’ ensure that the following is selected: IBM Cognos TM1\Clients
Deselect the following: IBM Cognos TM1\Developer's Environment , IBM Cognos TM1\Servers

10. Next
11. Click Next to accept the default TCP/IP Port Configuration.
12. Accept the defaults for the Admin Server Host configuration, then click ‘Next
13. Click Install
14. Click Finish.

Add/check PATH variable:

  1. On the Controller application server, right-click on My Computer, and select Properties
  2. Go to the Advanced (or Advanced system settings) tab
  3. Click Environment Variables
  4. Under System Variables, select Path, and click Edit
  5. Append this with an extra entry at the end, for the path to the TM1\bin directory, for example: ;C:\Program Files\Cognos\TM1\bin
  6. Click OK to all dialog boxes that follow
  7. If you have changed your PATH, then you may need to restart the application server, to allow the change to take place.

IMPORTANT: Do not forget to add the semi-colon (;). This separates all the entries listed in the Path.
For example, your Path may afterwards look similar to:
    C:\Program Files\Support Tools\;C:\oracle\product\10.2.0\client_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem; C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;C:\Program Files\Cognos\TM1\bin

[{"Product":{"code":"SS9S6B","label":"IBM Cognos Controller"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Controller","Platform":[{"code":"PF033","label":"Windows"}],"Version":"10.2.0;10.1.1;10.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
15 June 2018

UID

swg21516806