Hi everyone,

I know this list has not received much traffic lately.  I'm
wondering if other people are having a tough time installing ARSPerl
in a 64 bit environment.  It has not been the easiest thing for me
to accomplish either, but I have been able to get it working with
32 bit Perl on a 64 bit RHEL 6.6 Linux machine.  I want to share
the steps I took, in case it helps someone else.  If anyone wants to
improve upon these instructions, please feel free!

As a side note, Tim Lank posted his recipe for installing ARSPerl
compiled with 64 bit libraries.  While I was able to get it compiled
and installed with no problems by following his instructions, I got
errors when I tried running a script that connects to a 6.3 server.
(I'm in the process of upgrading to an 8.1.02 server.)  Also, Tim's
subsequent comment about the LD_LIBRARY_PATH was helpful.

Install 32 Bit Perl
-------------------
10. Install CPAN if it is not already installed.
    yum install cpan
    Note: This step is probably optional, but it was in my notes.

11. A 32 bit Perl interpreter is required to use ARSperl.  Did the following:
    A. Installed 32 bit RHEL 6.5 VM on local workstation.
    B. Made a tar file of /usr/lib/perl5
       cd /usr/lib ; tar -cvf /tmp/perl5lib.tar perl5
    C. Copied tar file and /usr/bin/perl to the target server
       scp /usr/bin/perl account@server:/tmp/perl32
       scp /tmp/perl5lib.tar account@server:/tmp
    D. Renamed /usr/lib/perl5 to /usr/lib/perl5.old
       cd /usr/lib ; mv perl5 perl5.old
       Note: I did not see this directory on a freshly installed 6.6 machine.
    E. Untarred perl5 tar file to /usr/bin
       cd /usr/bin ; tar -xvf /tmp/perl5lib.tar
    F. Copied /tmp/perl to /usr/bin/perl32
       cp /tmp/perl32 /usr/bin
    G. Moved perl interpreter and tar file to /usr/local/src
       1. cd /usr/local/src
       2. mkdir perl32 ; cd perl32
       3. mv /tmp/perl5lib.tar .
       4. mv /tmp/perl32 .
    Note:  When working on the local 32 bit VM, if additional packages need
           to be installed from the RHEL6 DVD, review the following web page:
      
http://advancelinux.blogspot.com/2013/10/how-to-set-up-yum-repository-to-use.html

Install Remedy API
------------------
20. The latest ARS Perl works with the 7.6 version of the Remedy API.
    The 7.6 API can still connect to Remedy servers with later versions.
    Downloaded the 7.6 version of the Linux API files from
    https://rrr.se/cgi/index?pg=arapi
    A. cd /usr/local/src
    B. mkdir remedyapi ; cd remedyapi
    C. wget https://rrr.se/download/arapi/api764sp5linux.tar.gz

21. Gunzipped and untarred Remedy API package.
    Note: We keep the API in the /usr/local/lib directory, since the
          ARS.so package permanently needs to reference the libraries.
    A. cp api764* /usr/local/lib
    B. mkdir /usr/local/src/remedyapi ; cp api764* /usr/local/src/remedyapi
    C. cd /usr/local/lib
    D. gunzip api764*
    E. tar -xvf api764*
    F. rm api764*.tar

22. Move and rename some library files, so that ARSPerl can compile
    Note: The problem is twofold: 1) ARSPerl looks in $ARS_API/lib,
      not in $ARS_API/bin, and 2) when including a library with
      -licudatabmc, it is looking for a file named libicudatabmc.so.
      For these reasons, we copy library files from bin to lib and
      rename them.
    A. cd /usr/local/lib/api764*
    B. cd bin
    C. cp *.so.32 ../lib
    D. cp libicudatabmc.so.32 ../lib/libicudatabmc.so
    E. cp libicui18nbmc.so.32 ../lib/libicui18nbmc.so
    F. cp libicuiobmc.so.32 ../lib/libicuiobmc.so
    G. cp libicuucbmc.so.32 ../lib/libicuucbmc.so

Install ARSperl
---------------
Reference: https://communities.bmc.com/thread/23631
  (gives some tips, but not too helpful)

30. Install 32 bit libraries for compiling ARS Perl
    A. yum install glibc-devel.i686 libgcc.i686
    B. yum install compat-libstdc++-33-3.2.3-69.el6.i686
    C. (optional) yum groupinstall "Compatibility Libraries"

31. Get ARSperl tarball
    A. cd /usr/local/src
    B. mkdir arsperl ; cd arsperl
    C. Go to http://arsperl.org
    D. Click on Installation link near bottom of page.
    E. Click on "Download the distribution"
    F. Click on ARSperl-1.93.tar.gz
    G. Copy the file to the server and place in /usr/local/src/arsperl directory

32. Gunzip and untar ARSperl
    A. cd /usr/local/src/arsperl
    B. cp ARSperl-1.93.tar.gz /tmp
    C. cd /tmp
    D. gunzip ARSperl-1.93.tar.gz
    E. tar -xvf ARSperl-1.93.tar
    F. rm ARSperl-1.93.tar

33. Update ldconfig with path to API libraries
    A. Edit a new file called /etc/ld.so.conf.d/arsperl.conf
       vi /etc/ld.so.conf.d/arsperl.conf
       ------------------- Add Text -----------------------------------
       /usr/local/lib/api764sp5linux/lib
       ----------------------------------------------------------------
    B. Run ldconfig to enable the ld command to be aware of the new directory
       ldconfig

34. Edit the Makefile.PL file
    A. cd /tmp/ARSperl-1.93
    B. vi Makefile.PL
       1. Edit $ARSAPI variable to point to Remedy API directory
          $ARSAPI      = "/usr/local/lib/api764sp5linux";
       2. Edit $ARSVERSION to match API version.  ARSperl-1.93 defaults to 7.6
          $ARSVERSION = 7.6;
       3. Edit the $ARCHITECTURE variable.  Even though we're on a Linux
          64-bit machine, do not select lx64.
          $ARCHITECTURE = "";
       4. Save and exit.

35. Perl the Makefile.PL file in order to generate a Makefile.  Remember to
    use the 32 bit perl interpreter.
    A. perl32 Makefile.PL
    B. Read over the output and make sure there are no warnings about
       missing libraries.  If so, verify step 22.  For example, you do
       not want to see:
         Note (probably harmless): No library found for -licuucbmc
         Note (probably harmless): No library found for -licui18nbmc
    C. Press return/enter for any server name, username, password, port
       prompts.

36. Make the ARSperl-1.93 install directory real clean.  The developers use
    a Mac, which creates a lot of ._ files which confuse the make process.
    We want to delete the ._ files.
    make realclean
    Note: As an alternative, rm -fr .\_* also works

37. Perl the Makefile.PL file one more time. (if you just did make realclean)
    A. perl32 Makefile.PL
    B. Enter Remedy server information
       Server Name: <your Remedy server>
       Admin Username: <your Remedy admin account>
       Admin Password: <your password>
       TCP Port: 0

38. Run make to compile ARSperl
    A. make
    B. Check the end of the output for any errors.
       Note: If there is a complaint about ._Makefile.PL, then
             rm ._Makefile.PL ; perl32 Makefile.PL ; make

39. Run make test to verify that the first several tests pass.
    A. make test
       Note: I observed that tests beginning at t/31createschema failed,
         but we're mainly using ARSperl to create and update records.
         This was the 7.6 API testing against a 6.3 server.
    B. Assuming everything is ok, go into the Remedy Admin client
       and delete the ARSperl* forms that the test created.

40. Run make install to install the ARSperl module
    make install

41. Delete the Remedy API and ARSperl directories, as they are no longer
    needed.
    cd /tmp
    rm -fr ARS* api*
    Note: Do not delete /usr/local/lib/api764sp5linux, since the ARSPerl
          now depends on those files remaining in place.

After following these instructions, my existing scripts that use ARSPerl
worked as expected.  At the beginning of your perl scripts, you will need
to change #!/usr/bin/perl to #!/usr/bin/perl32

Thanks,
Alex
-- 
O--------------O--O---------------------------------O
|   Alex Agle   \/ Lead Application Developer       |
O---------------/\  Georgia Institute of Technology |
|(404)894-6165 //\\  EIS - Applications Support     |
| Atlanta, GA //\/\\  alex.agle(@)oit.gatech.edu    |
O------------O-\/\/-O-------------------------------O

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y


--
Arsperl-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/arsperl-users

Reply via email to