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