Select Page
This was quite interesting when i was reviewing few Knowledge Base articles in MicroStrategy KB Site… Hope it helps to the end users as well…

How to apply patch library files to a MicroStrategy installation on Windows and Unix/Linux


MicroStrategy may release under very specific circumstances, a patch release with a few library files to be changed for MicroStrategy products.
For MicroStrategy Intelligence Server on Microsoft Windows, or components of MicroStrategy Intelligence Server used by client applications such as MicroStrategy Desktop, these files will be released as dll files. For MicroStrategy Intelligence Server Universal on Unix / Linux, the patch library file names will be libM*.so (Linux/Solaris/HP-UX) or libM*.a (AIX). 
  
This technical note describes how users can apply such patch libraries to MicroStrategy Intelligence Server installation.
  1. Understanding the readme file:
    Every patch release comes along with a readme.txt file outlining the files that have been changed in the release. An example of such a readme file is reproduced below. In this example the patch “9.0.0 Hotfix 2 Patch 3” is used:

    --------------------------------------------------------------------------------


    MicroStrategy 9.0.0 Hotfix 2 Patch 3 (9.0.236.090) Readme


    --------------------------------------------------------------------------------


    This build was completed on 11/03/2009 and fixes the following issues:




    Microstrategy Intelligence Server


    ---------------------------------


    Issue description: RWD execution fails randomly when answering a filter object prompt within a relationship set qualification.


    MicroStrategy Technical Support case number: NA


    MicroStrategy Internal case number: 374363




    Issue description: AV when executing a RWD which contains reports sharing a data prompted filter or data prompted template.


    (link to template/filter).


    MicroStrategy Technical Support case number: NA


    MicroStrategy Internal case number: 378520




    Issue description: AIX / WIN32 /SUN: AIX: I Server assertion failed on CDSSBindingTable.cpp


    MicroStrategy Technical Support case number: NA


    MicroStrategy Internal case number: 379474




    --------------------------------------------------------------------------------


    Installation instructions


    --------------------------------------------------------------------------------


    This patch should be applied on top of MicroStrategy 9.0.0 Hotfix 2 (9.0.230.090)




    1. Stop the MicroStrategy Intelligence Server and close the Desktop application.


    2. Create a backup of the files changed below.


    3. Copy the patch files to the required locations.


    4. Restart the MicroStrategy Intelligence Server.


    5. Repeat these steps on every machine used the Server cluster.




    --------------------------------------------------------------------------------


    Files changed


    --------------------------------------------------------------------------------


    On Windows (IServer)


    MHOBJCTX.dll


    MIXTBFCT.DLL


    MHRPTSRV.DLL




    On Windows (Desktop)


    M5OBJCTX.dll


    M7XTBFCT.DLL


    M5RPTSRV.DLL




    On Linux (IServer)


    libMHOBJCTX.so


    libMIXTBFCT.so


    libMHRPTSRV.so

    The first line in the readme file indicates the version of the patch and the build number. The version name implicitly indicates the prerequisite installed version required prior to applying the patch. In this example the current patch is “Patch 3” and must be applied over the 9.0.0 Hotfix 2 Installation only. The Build number indicates the number assigned by the internal build process used to create the libraries and is unique for a patch or patch family. 
    The next lines in the readme file indicate the products that are affected by the patch, and the specific issues that are addressed in the patch files. Since we are only concerned with the Intelligence Server product here, we will ignore the requirements that may be needed for other products in this discussion.
    The remaining information in the readme indicates the steps to install the library file which will be addressed in detail below, and the actual files that are present in the patch release. Users should note that the files that changed identify the specific products for which the files changed, and may affect the installation location for the libraries as well.
  2. To install patches for changed MicroStrategy files on a Microsoft Windows Intelligence Server installation:
    1. To install the new DLL files for the patches on the MicroStrategy Intelligence Server on Microsoft Windows, users should identify the installation folder chosen for the Intelligence Server installation. This information can be typically found in the “Program FilesCommon FilesMicroStrategy” location in the “install.log” file. The default location for the Intelligence Server installation is “Program FilesMicroStrategyIntelligence Server”.
    2. Once the Intelligence Server location is identified, users should find the DLL files that are changed and named in the patch readme (above), and rename or move the files from the location. Note that the Intelligence Server should be stopped before this time.
      For this example, the user could rename the files as (MHOBJCTX.dll.900HF2, MIXTBFCT.DLL.900HF2, MHRPTSRV.DLL.900HF2). If the files are not found in the MicroStrategy Intelligence Server installation location, then they are likely to be libraries used by multiple MicroStrategy applications and located in the “Program FilesCommon FilesMicroStrategy” location.
    3. Users can then place the new libraries provided with the patch in the MicroStrategy Intelligence Server folder location or the “Program FilesCommon FilesMicroStrategy” location as needed. If the readme states that any patch files need to be registered, users can use the “regsvr32” command to carry this out.
    4. If the patch needs to be rolled back at any point, the newly copied files can be deleted, and the original libraries renamed from *DLL.900HF2 to *.DLL. Users should ensure that the Intelligence Server is not running at the time these changes are made.
    5. If any other DLL files are changed in the patch and must be applied to the appropriate products (in this example the M5OBJCTX.dll, M7XTBFCT.DLL and M5RPTSRV.DLL patch files must be applied to MicroStrategy Desktop), these can be applied using the same procedure by renaming / moving the files and replacing them with the new ones. Users should ensure that the appropriate products are not running at the time when the library files are changed.
  3. To install patches for changed MicroStrategy files on a Unix/Linux installation:
    1. The location of the MicroStrategy Intelligence Server installation folder on Unix/Linux systems is chosen at installation time. By default the installer prompts users for an “Install” path – the default path is /opt/MicroStrategy. The “lib” folder is created inside this location and the Intelligence Server libraries are placed in the lib folder.

      Users should be aware that patches that target the 32 bit MultiProcess components in the Intelligence server (example ODBC driver patches), are 32 bit libraries and are located in the <MSTR_INSTALL_PATH>/lib32 folder.

      The Intelligence Server process must be stopped before changing any files.
    2. Inside the lib folder users will see that there are two entries for most library files. One file has a suffix indicating the build number, and the second file is a symbolic link to the first, usually with the name “libM*.so” (libM*.a on AIX).

      lrwxrwxrwx   1 test test        28 Mar 10 14:43 libMHOBJCTX.so -> ./libMHOBJCTX.so.9.0.230.090*


      -r-xr-x---   1 test test   3244968 Nov  5 18:47 libMHOBJCTX.so.9.0.230.090*

      The Intelligence Server on startup attempts to load the libM*.so files (libM*.a on AIX), and because of the soft link, the appropriate libM*.so.BUILD_NUMBER library file is loaded.
        
    3. To install the patch files therefore, the user should rename the library files to libM*.so.BUILD_NUMBER, where BUILD_NUMBER is the patch build from the readme file, before copying the file to the “lib” folder. In this example the user would rename the patch library files libMHOBJCTX.so.9.0.236.090, libMIXTBFCT.so.9.0.236.090, libMHRPTSRV.so.9.0.236.090.
      These files can now be copied into the <MSTR_INSTALL_PATH>/lib folder. Now the users should delete the symbolic links that pointed to the original library files and create new links for the libM*.so files pointing to the patch libraries. For example:

      $ rm libMHOBJCTX.so


      rm: remove symbolic link `libMHOBJCTX.so'? y


      $ ln -s libMHOBJCTX.so.9.0.236.090 libMHOBJCTX.so

       

      Users should repeat this process for all the Intelligence Server library files provided as part of the patch.
    4. If the patch library files are not needed any longer, the user can simply remove and recreate the libM*.so link to point to the original library file.For example:

      $ rm libMHOBJCTX.so


      rm: remove symbolic link `libMHOBJCTX.so'? y


      $ ln -s libMHOBJCTX.so.9.0.230.090 libMHOBJCTX.so

    5. An alternative to (c) is to copy the patch files directly to the <MSTR_INSTALL_PATH>/lib folder without renaming them. Since the patch files are released as libM*.so or libM*.a files, they will overwrite the existing symbolic links and be read directly by the Intelligence Server. This is an acceptable means of installing the patch libraries as well, though users may not be able to identify the installed patches easily through this method. Again, to reverse the changes, the patch file would need to be deleted, and the libM*.so symbolic link recreated to point to the original library file.
Note: If the files replaced have extention .swf, then it is necessary to purge the Browser cache of each client machine so it uses the newer .swf file.

Secured By miniOrange