LegacyForum ✭✭

About

Username
LegacyForum
Joined
Visits
0
Last Active
Roles
Members
Points
80
Posts
1,669
Badges
6
  • Building on One machine to run on another with the same architecture

    In order to build on one machine and run on another machine of
    the same architecture

    First the concerns for all Unix based platforms

    The bin and lib directories have to have been created
    on the run machine in the same directory tree as on the build
    machine. So if you were running on a Solaris machine and on
    your build machine you have created /usr/local/insure in this
    location you should have both of these on your run machine.

    /usr/local/insure/bin
    /usr/local/insure/lib

    In your bin directory the following binaries have to
    have been copied from your build machine.

    gus insra islave pslic psrcdump

    On 64 bit architectures you will also need

    gus_64 islave_64

    Then in your base directory /usr/local/insure in this example.
    You will need to make sure that you have a .psrc file with
    a runtime license or entries telling it where Licenseserver
    is running as well as the various options you want set.

    Some platform specific concerns:

    On Linux Solaris HP

    copy all of Insure's libraries from the lib directory on
    the build machine to the lib directory you created on
    the run machine.

    For Linux or Solaris set the environment variable
    LD_LIBRARY_PATH to include the lib directory

    For HP set the environment variable SHLIB_PATH to
    include the lib directory.


    On AIX

    The concerns are if the machines have the same basic oslevel
    Type

    oslevel

    on both machines to determine if the same thing is returned.

    And if they are the same oslevel do they have different libc's
    and/or libpthread libraries. Insure creates it's libraries
    below what amounts to

    <your base insure directory>/lib.aix5/`oslevel`

    And if you have one machine that oslevel returns 5.1.0.0 and
    one that returns 5.2.0.0 you would merely

    cd <your base insure directory>
    slibclean
    ./configure aixlibs

    on both of those machines and you would end up with directories of

    <your base insure directory>/lib.aix5/5.1.0.0
    <your base insure directory>/lib.aix5/5.2.0.0

    and this present's no problem as it only requires that we build
    with the correct -blibpath set.

    But if machine A and machine B both return the same value
    for oslevel and have different libraries installed then the
    replacement libraries that insure has to create will not be
    compatible.


    However you could workaround this by first configuring
    for an individual Developer then

    cd <your base insure directory>
    cp -R lib.aix5 Developer.lib.aix5

    Then Developer would need to set his LIBPATH for anything
    that he built with insure like

    env LIBPATH=<your base insure directory>/Developer.lib:<your base insure directory>/Developer.lib5/5.2.0.0 ./a.out


    On Windows:

    First, consider, can you simply install a copy of Insure++
    on the target machine and get a runtime license for that
    installation?

    That is by far the easiest approach.

    If Visual Studio is not on the target machine, the easiest
    way to get Insure++ to successfully install on the target is
    to have it first invoke msdev through a network share. e.g. run

    \\ahost\shared-C\Program\ Files\Microsoft\ Visual\ Studio\Common\msdev98\bin\msd
    ev.exe

    and then close DevStudio.

    If the network share is still available when Insure++ is
    installed, the installation should proceed normally, even
    though DevStudio is not technically installed on the target.

    If for some reason the above is not acceptable and the two
    machines have the same exact OS, proceed with the following steps:

    1. Copy the instrumented executables and the pdbs from host to target.
    e.g. copy \\ahost\myprogram.exe C:\myprogram.exe ;
    copy \\ahost\myprogram.pdb C:\myprogram.pdb

    2. Copy required executables from host to target
    (note that the directory must be named bin.Win32).:

    insure.dll, vahfer.dll InsureSpy.exe gus.exe mspdb60.dll
    msdia20.dll or msdia71.dll if using vc7 compiled executables,
    insfixreg.exe InsurePanel.exe InsureVc7Addin.dll insure.exe
    (insfixreg.exe checks for the existence of InsureVc7AddIn.dll
    insure.exe, and InsureSpy).

    e.g. copy \\ahost\Program\ Files\Parasoft\Insure++\bin.Win32\Inject.exe C:
    \Insure\bin.Win32

    3. You will probably also want to copy optional executables from
    host to target:

    islave.exe psrcdump.exe Insra.exe TCA.exe Inuse.exe inject.exe

    4. Copy the ins.reg files from the host to the target.
    Note that these must be located in a directory called lib.Win32
    that is a sibling directory to the Insure_bin directory.

    e.g. copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\ins.reg
    C:\Insure\lib.Win32

    copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\Win32\ins.reg
    C:\Insure\lib.Win32\Win32

    copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\MSVC++-5.0\ins.reg
    C:\Insure\lib.Win32\MSVC++-5.0

    copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\MSVC++-6.0\ins.reg
    C:\Insure\lib.Win32\MSVC++-6.0

    copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\MSVC++-7.0\ins.reg
    C:\Insure\lib.Win32\MSVC++-7.0

    copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\MSVC++-7.1\ins.reg
    C:\Insure\lib.Win32\MSVC++-7.1

    5. When the target machine has any version of Visual Studio installed:
    A. Copy the necessary libtql* and tql files from the host.
    e.g. copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\libtql*
    C:\Insure\lib.Win32

    copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\Win32\*.tql
    C:\Insure\lib.Win32\Win32

    copy \\ahost\Program\Files\Parasoft\Insure++\lib.Win32\MSVC++-5.0\*.tql
    C:\Insure\lib.Win32\MSVC++-5.0
    B. run
    insfixreg.exe -install
    from the command line.
    This will create the lrt cache.

    6. When the target machine does not have any Visual Studio installed.
    A. run insfixreg -nospy -nointegration on the target machine.
    B. Copy the contents of the lrt-cache on the host to the target
    (note1 that target OS must be the same as the host OS)
    (note2- the lrt-cache must be located inside the lib.Win32 directory on the target).
    e.g.
    copy \\ahost\Program\ Files\Parasoft\Insure++\lib.Win32\lrt-cache
    C:\Insure\lib.Win32\lrt-cache

    7. Optionally set gus-cache in the advanced tab of the InsurePanel.exe
    e.g. gus_cache C:\gus-cache

    8. Run the executable under inject.exe or InsureSpy.exe.

    If the target windows OS is different than the host windows OS we may
    be able to create the lrt-cache for you but this would only be done for
    existing customers.