Hi Glyn,
thanks for providing those details. It’s good to have a double check. The steps
are nearly identical to mine in the past, so it tells me the issues are not
related to my builds. I’ve made a few more commits to my github fork to fix
some of the crashes and I also had to reapply your strdup patch to fix a few
issues when building with gcc.
A few things to notice on the windows builds:
1)
Maybe a little bit too much, but I compiled Perl myself (using MSVC and
MinGW[-w64]). This way I get a perl with debug support if I want to. In the
MinGW-w64 installer the latest GCC version is 4.9.2. I did use the package
x86_64-4.9.2-posix-seh-rt_v4-rev2. But there is a bug where binutils aren’t
able to read .lib files generated by Visual Studio. I did get the “error adding
symbols: File format not recognized” for arapi81_build001_win64.lib
https://sourceware.org/bugzilla/show_bug.cgi?id=17910
After using an older GCC 4.8.4 the compilation worked.
Which brings me to the next point.
2)
I still had a hard time to get 64-bit binary working on windows. Then I
stumpled about this:
http://sourceforge.net/p/mingw-w64/wiki2/Answer%2064%20bit%20MSVC-generated%20x64%20.lib/
So it looks like the binutils still produce invalid results. I wrote a simple
c-program (without any perl involved) with just a single ARInitialization call
and got a crash. After reading the article above I had to gendef and produced a
new arapi81_build001_win64.a (.. did the same for arrpc* and arutil*). Now I
changed the “sub findArLibs” in the Makefile.PL to “my @libs = <*win64.a>;” so
it links to my new generated *.a files. That did the trick and I had a working
64-bit build using gcc. Btw, the same issue occured using the 64-bit version of
StrawberryPerl.
---
I put those details here in case someone wants to test the builds now and
stumples about the same issues. In the future I might take a look at how we can
handle those issues in the Makefile.PL automatically.
-John-
From: Tim Lank
Sent: Thursday, May 21, 2015 1:41 AM
To: ARSperl User Discussion
Subject: Re: [Arsperl-users] ARSperl - modernization efforts and long term
maintenance - May 18-19, 2015
I should also add the API version I used was: 812sp1
On Wed, May 20, 2015 at 7:21 PM, Tim Lank <[email protected]> wrote:
I'm not a Windows guy at all, and even I was able to get this to compile and
run 'use ARS;' cleanly on Windows 7 Ultimate 64bit with Strawberry Perl 64bit.
Very clearly written - thank you. I will try to include it in the INSTALLATION
file updates
Compiling ARSPerl for Windows 32/64
===================================
1) Download ARSPerl source zip from https://github.com/jeffmurphy/ARSperl and
unpack
2) Download and install 32 or 64-bit Strawberry perl from strawberryperl.com
3) Download desired ARS API files from RRR and unpack
4) Edit Makefile.PL, and update $ARSAPI to indicate where ARS API files have
been unpacked
5) If compiling for 64-bit, the following lines need updating in Makefile.PL
as well (changes correct for 764sp5, may not be correct for all 64 ARS APIs?):
$ARS_LIBS = join(' ', map { "$ARSAPI/lib/" . $_ } @{$ra_arlibs});
change to:
$ARS_LIBS = join(' ', map { "$ARSAPI/lib64/" . $_ } @{$ra_arlibs});
$ARS_LDPATH = qq{-L"$ARSAPI/lib"};
change to:
$ARS_LDPATH = qq{-L"$ARSAPI/lib64"};
my $ar_lib_dir = join('/', $path_to_api_dir, 'lib');
change to:
my $ar_lib_dir = join('/', $path_to_api_dir, 'lib64');
6) cd to ARSPerl directory and run perl Makefile.PL
7) dmake
8) If desired (and able!), run dmake test
9) dmake install
Prior to using the compiled ARSPerl, update %PATH% first (paths correct for
764sp5, may not be correct for all ARS APIs?):
32-bit: Add the bin and lib directories from where the ARS API files were
unpacked
64-bit: Add the lib64 directory from where the ARS API files were unpacked
On Wed, May 20, 2015 at 5:38 PM, Glyn Davies <[email protected]> wrote:
So, I've now had a chance to look at compiling ARSPerl with ActiveState
Perl and the only thing that needs to be done to get it to compile is to
install MinGW. This is provided by ActiveState, and doing the following:
ppm install MinGW
will install a copy of gcc and dmake under the site directory that can then
be used to compile perl modules which include XS code. Once that's done, the
instructions I provided for compiling ARSPerl with Strawberry Perl will do the
trick.
I did receive some compiler warnings when using perl binaries where there
is a mismatch between the ptrsize and ivsize as shown from the output of perl
-V. I came across this with both Strawberry and ActiveState 64-bit perl
binaries and 32-bit perl binaries where 64-bit integers are turned on. These
warnings relate to potential size mismatches when casting.
Strawberry offer a 32-bit perl without the 64-bit ints turned on and the
warnings did not appear there.
I've had a quick look into this, and there are some instances in the source
where making use of perl's PTR2UV/PTR2IV and INT2PTR macros allowed the source
to compile without any warnings being generated.
Tim's kindly provided some info on how to use github, so I'll have a look
and providing the details of the updates tomorrow. From there, some testing
will be required as of course compiling is one thing - making sure it works is
another thing entirely :)
Many thanks,
Glyn
----------------------------------------------------------------------------
Date: Wed, 20 May 2015 09:07:46 -0400
From: [email protected]
To: [email protected]
Subject: [Arsperl-users] ARSperl - modernization efforts and long term
maintenance - May 18-19, 2015
Tim Lank <timlank>
May 18
to Jeff, Misi, support, thilo.stapff, thilo.stapff, jls17, Andrew,
bautista, makarow, gdf, wjm, gng, greg.george, Michiel.biejen, ggrabler,
matt.reinfeldt, Alex, conny.martin, i.d.trimnell
ARSperl community:
I've compiled your name and email address as someone who has previously
invested significant time and sweat equity into ARSperl.
http://sourceforge.net/projects/arsperl/
As you know, Jeff and Joel Murphy created a great service to the community
back in 1995. For the last 20 years, this product has helped all of us in some
way.
Some of us still rely on this project code daily and want it to support ARS
as it moves to version 9 and beyond.
If I understand correctly, Jeff no longer has convenient access to the API
packages, demo server, etc.. As a result, he has a limited ability to code,
test and maintain the project as he has so well in the past.
My hope is that you will be interested in assisting with a modernization
effort and ongoing longer-term maintenance of the project. Please chime in to
this thread if you are interested.
Sincerely,
Tim Lank
Andrew Hicox <andrew>
May 18
to me, support, wjm, bautista, Alex, Misi, thilo.stapff, jls17, Jeff,
conny.martin, matt.reinfeldt, greg.george, makarow, ggrabler, Michiel.biejen,
i.d.trimnell, gng, gdf, thilo.stapff
Thanks for sending this out, Tim!
I'm quite interested in this. In fact, not a day goes by that I don't need
ARSPerl for something. It's just too damn handy of a tool, to let it
permanently fall by the wayside, so definitely count me in.
So ...what is the current status? I see the module has been forked on
github. Do we have a working 64 bit version yet? Are we at the point where we
just need to test and bug fix then get it back on cpan?
Let me know where to help, and I'll jump right in :-)
Andy
jeff murphy <jcmurphy>
May 18
to Andrew, me, support, wjm, bautista, Alex, Misi, thilo.stapff, jls17,
conny.martin, matt.reinfeldt, greg.george, makarow, ggrabler, Michiel.biejen,
i.d.trimnell, gng, gdf, thilo.stapff
thanks to John Luthgers work the code on GH should work on 64bit now. i
linked github and SF but need to doublecheck to make sure that’s working (I do
all of my dev on GH these days). the code needs some love to get it working and
packaged on Windows. once that occurs and people are happy with the results, I
will cut a release and post to CPAN and SF.
Misi Mladoniczky
May 18
to me, Jeff, support, thilo.stapff, thilo.stapff, jls17, Andrew, bautista,
makarow, gdf, wjm, gng, greg.george, michiel.biejen, ggrabler, matt.reinfeldt,
Alex, conny.martin, i.d.trimnell
Hi,
If someone missed it, I regularly publish the API packages for download:
https://rrr.se/cgi/index?pg=arapi
As you see, for version 9, there are only Windows and Linux versions. I am
waiting for BMC to supply the other platforms for download.
Best Regards - Misi, RRR AB, http://www.rrr.se (ARSList MVP 2011)
Ask the Remedy Licensing Experts (Best R.O.I. Award at WWRUG10/11/12/13):
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
Find these products, and many free tools and utilities, at http://rrr.se.
Tim Lank <timlank>
May 18
to glynd1972, jeff, Andrew, support, wjm, bautista, Alex, Misi,
thilo.stapff, jls17, conny.martin, matt.reinfeldt, greg.george, Makarow, Georg,
i.d.trimnell, gng, David, thilo.stapff, Michiel.beijen
including Glyn Davies (previously contributed Win32 code) and correcting
email address for Michiel Beijen.....
Link to GH: https://github.com/jeffmurphy/ARSperl
Thanks,
Tim
Andrew Hicox <andrew>
May 18
to Misi, me, support, wjm, bautista, Alex, thilo.stapff, jls17, Jeff,
conny.martin, matt.reinfeldt, michiel.biejen, greg.george, makarow, ggrabler,
i.d.trimnell, gng, gdf, thilo.stapff
Wow, that is a really handy resource for getting the api. Thank you! Its
sort of astounding that bmc themselves can't manage to put a dead simple page
like that together.
So, I'm trying to compile the latest ARSperl from github, against the
812sp1 Linux api ...
The makefile.pl complains that licuucbmc_lx64, licuil8nbmc_lx64, and
licudatabmc_lx64 are missing. However nothing like that appears to be in the
ars api directory. Maybe I need to make some symlinks or something?
It makes without error, but attempts to 'use ARS;' provoke an exception
from dynaloader, via ARS.so "undefined symbol: u_toupper _3_2"
Maybe I need an older api? Anyone got this one working on 8.1 yet, or am I
venturing I to uncharted teritorry?
-Andy
Tim Lank <timlank>
May 18
to Andrew, Misi, support, bautista, Alex, thilo.stapff, jls17, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Andrew,
I was able to use the ARSperl from github and compiled and am running
against the 764sp5 Linux api without any problems. I did adjust the
Makefile.PL and made links
$ARSAPI = <path to the api>
$ARSVERSION = 7.64
$ARCHITECTURE = "lx64"
> cp api764sp5linux/bin/* api764sp5linux/lib
> cd api764sp5linux/lib
> ln -s libicudatabmc.so.32 libicudatabmc.so
> ln -s libicui18nbmc.so.32 libicui18nbmc.so
> ln -s libicuiobmc.so.32 libicuiobmc.so
> ln -s libicuucbmc.so.32 libicuucbmc.so
> ln -s libicudatabmc_lx64.so.32 libicudatabmc_lx64.so
> ln -s libicui18nbmc_lx64.so.32 libicui18nbmc_lx64.so
> ln -s libicuiobmc_lx64.so.32 libicuiobmc_lx64.so
> ln -s libicuucbmc_lx64.so.32 libicuucbmc_lx64.so
These might be useful....
http://sourceforge.net/p/arsperl/mailman/arsperl-users/?viewmonth=201505
http://sourceforge.net/p/arsperl/mailman/arsperl-users/?viewmonth=201502
Setting the LD_LIBRARY_PATH might also be helpful.
Misi has had success also and of course John Luthgers (jls17 at GMX dot
NET) would know the most since he wrote the 64-bit pieces.
Thanks,
Tim
Luthgers, John
May 18
to me, jeff, Andrew, support, wjm, bautista, Alex, Misi, thilo.stapff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel.beijen
Hi,
Currently I’m planning to add support to compile arsPerl using arapi 9.0
and the second task is getting a stable windows version. I used Visual Studio
to build arsPerl on Windows and there were lots of crashes related to freeing
memory allocated by other components (Perl, ARSperl and ARAPI). The conclusion
was memory allocated by ARAPI needs to be freed by ARAPI and memory allocated
by Perl must be freed by Perl. In case Perl and ARAPI are using different
C++-runtimes (each has it’s own memory management), this looks like the only
solution. But quite a lot of work is necessary, because we need memory-routines
for many structures. In case someone has build a stable Windows version
previously and can suggest a better solution to this issue, any help would be
appreciated.
After reading parts of the code I think there are lots of features missing
introduced by the last couple of api-releases (maybe back to 7.5?). At the same
time I don’t know if support of those missing things is relevant to other
people .. we are using ARSperl mainly for data manipulation tasks and the
capabilities are sufficient in most cases. So I’m not sure what features others
are interested in.
The latest changes were (this code is now in Jeff’s github repo):
- Linux 64bit is working using GCC
- Compiling using ARAPI 8.0 / 8.1 possible
- added new functions: ars_GetSessionConfiguration, ars_SetOverlayGroup,
ars_SwitchToBestPracticeMode and ars_SwitchToBaseMode
- automatic API-Version detection in Makefile.PL
- dropped support to compile ARSperl using ARAPI below version 4.5
- small bugfixes
I don’t know how much effort I can spent on ARSperl in the future, but I
try to help out if possible.
Greetings
-John-
Luthgers, John
May 18
to me, Andrew, Misi, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Andrew,
like you and everybody else learned the hard way: not even BMC is able to
put all necessary library files in one place. The files are located across
different folders of the server installation and the best thing is the
icudt32.dll on windows. One filename for 32-bit and 64-bit, but ofc different
content. But like Tim pointed out, a few symlinks and you should be fine. And
the latest code on github should work up to api-version 8.1. Just put all
necessary library files in one folder, add the symlinks and set the
LD_LIBRARY_PATH to this lib-folder.
-John-
Misi Mladoniczky
May 19
to John, me, Andrew, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Hi,
The scripts I use to extract the API-packages are supposed to find all these
scattered files and put them in the /api812sp1/bin/ directory. I also try to
rename them to whatever name is required. The idea is to NOT need to do all
the symlinks.
If I have missed any files, or if they have the wrong name. Please let me
know
and I will try to fix it.
Best Regards - Misi, RRR AB, http://rrr.se
Tim Lank <timlank>
May 19
to Misi, John, Andrew, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Misi,
Thanks a ton for doing all of this, it is a huge service.
These files do end up in the bin directory in what I pull & extract from
your site. The compiler/linker seems to need to see them in the lib directory
(also? I can't remember - perhaps its just the lib directory presence needed -
probably a good test to make). I do know that when symlinks are created from
those files in bin to lib, then everything seems happier.
Misi Mladoniczky
May 19
to me, John, Andrew, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Hi,
Did you set LD_LIBRARAY_PATH to point to the bin directory as well?
In the distribution I like to keep it separated in the bin directory so that
you can easily find the files I picked from outside the actual api
directory.
I set this manually in the resulting Makefile:
LD_RUN_PATH = /opt/bmc/api764sp2linux/bin
But I guess it will work just as fine to copy/link the so-files to/from the
lib directory.
Misi Mladoniczky
May 19
to me, John, Andrew, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Hi,
I added it to two more places in my Makefile:
Makefile:EXTRALIBS = -L/opt/bmc/api764sp2linux/lib
-L/opt/bmc/api764sp2linux/bin -licuucbmc_lx64 -licui18nbmc_lx64
-licudatabmc_lx64
Makefile:LDLOADLIBS = -L/opt/bmc/api764sp2linux/lib
-L/opt/bmc/api764sp2linux/bin -lnsl -lpthread -licuucbmc_lx64
-licui18nbmc_lx64 -licudatabmc_lx64
Makefile:LD_RUN_PATH = /opt/bmc/api764sp2linux/bin
Glyn Davies
May 19
to John, Michiel.beijen, bautista, i.d.trimnell, Georg, thilo.stapff,
David, greg.george, Misi, thilo.stapff, Makarow, conny.martin, support, gng,
Andrew, me, Alex, matt.reinfeldt, jeff, wjm
It's been a while since I've compiled ARSperl on Windows, but hopefully I
can provide some helpful info based on my experiences. The first couple of
points will probably hold true across all platforms, but did seem especially
important for Windows!
The first thing to mention is that I found it best to compile ARSperl using
the same compiler as was used to produce the perl binary. This was to ensure no
issues related to runtime libraries between perl and the ARSperl DLL (this was
based around info found on the following link:
http://community.activestate.com/faq/windows-compilers-perl-modules).
The other piece of advise I have is that if you're compiling ARSperl for a
number of different Windows versions, then compile on the oldest one you intend
to work with. This will avoid any potential problems with linking against
libraries that might not be available on older versions.
For the project I was working on, I started off with Strawberry Perl so
this was straightforward enough as that comes with its own build environment
(GCC, dmake, etc.). Due to requirements of the project, I ended up compiling my
own perl binary using the Citrus GCC binaries
(http://sourceforge.net/projects/perlmingw) and compiling ARSperl from that.
I did look at ActiveState Perl as well briefly, and for that a compiler
that links against plain old MSVCRT.DLL was required (rather than a version
specific MS runtime DLL). On the 32-bit side this meant either using Visual
Studio 6, or MinGW. I may have some notes on compiling ARSperl for ActiveState
Perl using MinGW, so I'll see what I can turn up with regards to that.
Not sure about the 64-bit version of ActiveState Perl, but I'd assume the
same should be possible there (with VS 2003's compiler or a 64-bit MinGW?).
My work has moved on, and I've not worked with Remedy for nearly 18 months
now and don't even have access to a system running Remedy. So while I can
provide advice or test building ARSperl, I don't have the ability to actually
test functionality of the library unfortunately.
Hope this info helps, and if I find my notes on compiling ARSperl for
ActiveState Perl with MinGW then I'll add that into this thread.
Many thanks,
Glyn
Luthgers, John
May 18
Hi,
Currently I’m planning to add support to compile arsPerl using arapi 9.0
and the second task is getting a stable windows version. I used Visual Studio
to build arsPerl on Windows and there were lots of crashes related to freeing
memory allocated by other components (Perl, ARSperl and ARAPI). The conclusion
was memory allocated by ARAPI needs to be freed by ARAPI and memory allocated
by Perl must be freed by Perl. In case Perl and ARAPI are using different
C++-runtimes (each has it’s own memory management), this looks like the only
solution. But quite a lot of work is necessary, because we need memory-routines
for many structures. In case someone has build a stable Windows version
previously and can suggest a better solution to this issue, any help would be
appreciated.
After reading parts of the code I think there are lots of features missing
introduced by the last couple of api-releases (maybe back to 7.5?). At the same
time I don’t know if support of those missing things is relevant to other
people .. we are using ARSperl mainly for data manipulation tasks and the
capabilities are sufficient in most cases. So I’m not sure what features others
are interested in.
The latest changes were (this code is now in Jeff’s github repo):
- Linux 64bit is working using GCC
- Compiling using ARAPI 8.0 / 8.1 possible
- added new functions: ars_GetSessionConfiguration, ars_SetOverlayGroup,
ars_SwitchToBestPracticeMode and ars_SwitchToBaseMode
- automatic API-Version detection in Makefile.PL
- dropped support to compile ARSperl using ARAPI below version 4.5
- small bugfixes
I don’t know how much effort I can spent on ARSperl in the future, but I
try to help out if possible.
Greetings
-John-
Tim Lank
May 18
including Glyn Davies (previously contributed Win32 code) and correcting
email address for Michiel Beijen.....
Link to GH: https://github.com/jeffmurphy/ARSperl
Thanks,
Tim
Tim Lank <timlank>
May 19
to Misi, John, Andrew, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Hi Misi,
I really don't want to cause a stir or a problem here. The overriding
sentiment to take away from this is that I think we all are really, really
appreciative of your willingness to provide what you do at this site to the
community at large. I can't imagine it not being publicly available as you
have made it. What I can't say enough is THANK YOU!
Having said all that, what I have to say below is extremely minor....
I guess I've always liked to try and follow the Filesystem Hierarchy
Standard (http://www.pathname.com/fhs/pub/fhs-2.3.pdf) which specifies to keep
executable/command/binaries in directories called "bin" and keep library files
(those compiled files that are not capable of executing/running on their own)
in directories called "lib".
This is what the Makefile.PL as provided seems to want also as evidenced in
this portion which MakeMaker turns into the actual Makefile:
if( $WINDOWS ){
$ARS_LDPATH = qq{-L"$ARSAPI/lib"};
$INCLUDES = qq{-I"$ARSAPI/include"};
}else{
$ARS_LDPATH = "-L$ARSAPI/lib";
$INCLUDES = "-I$ARSAPI/include";
}
By putting all of the libraries into lib, and symlinking them to have the
shortened names as the Makefile.PL wants as shown here (the .32 extension is
notably absent from what is specified)
if ($GNU_WIN) {
$ARS_LIBS = join(' ', map { "$ARSAPI/lib/" . $_ } @{$ra_arlibs});
} elsif ($WINDOWS) {
$ARS_LIBS = join(' ', map { '-l' . $_ } @{$ra_arlibs});
} else {
$ARS_LIBS .= " -lpthread ";
$ARS_LIBS .= " -licuucbmc$LARCH -licui18nbmc$LARCH
-licudatabmc$LARCH " if $ARAPIVERSION >= ARS_VERSION_70;
}
This eliminates the need to go and modify the Makefile at all.
Setting the LD_LIBRARY_PATH in this case to be the resulting lib directory
(in my case /opt/remedy/api764sp5linux/lib) may not even be needed for the
make, but I do it for good hygiene and so that things are subsequently found at
runtime. A more permanent solution would be to create a
/etc/ld.so.conf.d/arsperl.conf with this path as content and run ldconfig (see
Alex's post to arsperl-users).
So with what I pull from your website, and dropping John's code into a
directory by the name of /opt/remedy/ARSperl-1.93, I can simply do the
following:
cd /opt/remedy
mv api764sp5linux/bin/* api764sp5linux/lib
cd api764sp5linux/lib
ln -s libicudatabmc.so.32 libicudatabmc.so
ln -s libicui18nbmc.so.32 libicui18nbmc.so
ln -s libicuiobmc.so.32 libicuiobmc.so
ln -s libicuucbmc.so.32 libicuucbmc.so
ln -s libicudatabmc_lx64.so.32 libicudatabmc_lx64.so
ln -s libicui18nbmc_lx64.so.32 libicui18nbmc_lx64.so
ln -s libicuiobmc_lx64.so.32 libicuiobmc_lx64.so
ln -s libicuucbmc_lx64.so.32 libicuucbmc_lx64.so
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/remedy/api764sp5linux/lib
cd ../../ARSperl-1.93 (John's forked version)
vi Makefile.PL
ensure the following are set properly:
$ARSAPI = "/opt/remedy/api764sp5linux";
$ARCHITECTURE = "lx64"; # Linux 64-bit
perl Makefile.PL
make
make install
If you were willing to copy all of the contents of the bin over to lib and
create the symlinks before performing the tar.gz on the structure, that would
eliminate the entire first section of my procedure.
Of course if you'd rather not do that, it is absolutely fine and we will
adapt as needed.
Again, we are nothing but thankful for what you are doing.
Thanks,
Tim
Misi Mladoniczky
May 19
to me, John, Andrew, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Hi Tim
I will not argue with this. I do not feel qualified to do so in any event
;-)
There are trhee original reasons for me to create the api/bin-directory.
1. The files are found inte serverinstall/bin directory
2. I wanted to have have a directory containing only the files that need to
be
shipped together with any executable you compile
3. I wanted to separate what was originally contained in the
serverinstall/api
directory from the files I added
I can certainly move everything to the lib directory if you feel that is
better.
I can also create some symlinks as you describe.
I could also create symlinks from the lib to the bin directory.
In the Windows distribution I have a bin and bin64 directory. I guess I
should
copy the files into the respective lib and lib64 directory.
Should I go ahead and do this?
Tim Lank <timlank>
May 19
to Misi, John, Andrew, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Misi,
Totally up to you. A compromise might be to perform a cp instead of a mv
to keep two copies, retain the one in bin and have a new one in lib.
Afterwards, within the lib directory, create the symlinks in there. I don't
think there would be a need to create symlinks from the lib to bin directory
though.
Afterwards, the normal tar gzip process you do "should" retain the symlinks.
I really can't speak about the Windows distribution since I'm a Linux-only
guy.
Maybe Glyn or John would have an opinion on that?
Thanks,
Tim
Andrew Hicox <andrew>
May 19
to Misi, me, John, support, bautista, Alex, thilo.stapff, Jeff,
conny.martin, matt.reinfeldt, greg.george, Makarow, Georg, i.d.trimnell, gng,
David, thilo.stapff, glynd1972, Michiel
Thanks everyone, setting up the symlinks to the *.so files in the api bin
directory fixed it right up. Now I've got 64-bit ARSPerl on Linux! No more
having to custom compile a 32-bit perl interpreter ... no more needing to make
sure 32-bit compat libs are installed for every dependency of every other
module I need on my 32-bit perl!
w00t! Seriously ... this is such a huge thing!
We need to get this back to CPAN with a quickness, Dare I say it, even if
it doesn't work on Windows ... if we must, just release a "beta" module to CPAN
or whatever. That's where everyone is looking ... that's where I looked for
years and years, and presumed the module must just be dead, and that I was one
of maybe two or three people in the world stil using it.
I had no idea this effort even existed until Tim contacted me about a
separate issue with Remedy::ARSTools (which has ARSPerl as a dependency). I
think were this thing updated on CPAN (where people looking for this module are
more than likely going), and if maybe a blurb were put in the release README or
something, we might find more contributers. Might be worth posting on ARSList
and BMC Communities too. The more people we have involved the better ... as
several here have mentioned moving on to other responsibilities, not having
access to an ARServer to test etc ... if we want this module to continue to
live (I do!) then we need more cooks in the kitchen.
A couple of notes from the build:
1) Regarding the symlinks etc ...
The Makefile.PL throws the "probably harmless" error for the missing libs.
We need to fix that warning ... as it's actually fatal. Taking it a step
further, I think it'd be pretty easy to hack a little section onto the
Makefile.PL that descends the API directory looking for the missing *.so files,
and spits out a blurb about needing to create the symlinks. Better still, if
the user executing the Makefile.PL has permissions, the script could actually
make the symlinks. I'd be willing to take on that modification, if you guys
agree that's a direction to take.
2) MANIFEST appears to have some bogus entries
I get this warning when executing the Makefile.PL:
Checking if your kit is complete...
Warning: the following files are missing in your kit:
.#Makefile.PL.1.85
blib/arch/.exists
blib/arch/auto/ARS/.exists
blib/bin/.exists
blib/lib/.exists
blib/lib/ARS.pm
blib/lib/ARS/ar-h.pm
blib/lib/ARS/arerrno-h.pm
blib/lib/ARS/nparm.pm
blib/lib/ARS/OOform.pm
blib/lib/ARS/OOmsgs.pm
blib/lib/ARS/OOsup.pm
blib/lib/auto/ARS/.exists
blib/lib/auto/ARS/autosplit.ix
blib/man1/.exists
blib/man3/.exists
blib/script/.exists
Makefile
Makefile.old
pm_to_blib
t/config.cache
Please inform the author.
I suspect we just need to remove these from the MANIFEST?
I'd be happy to take that action too, unless someone objects.
-Andy
Tim Lank <timlank>
May 19
to Glyn, John, Michiel, bautista, i.d.trimnell, Georg, thilo.stapff, David,
greg.george, Misi, thilo.stapff, Makarow, conny.martin, support, gng, Andrew,
Alex, matt.reinfeldt, jeff, wjm
Jeff,
In light of the complexity of migrating Windows code to 64-bit and the lack
of experienced Windows developers that have the time, ability, willingness,
tools & vested interest to complete this...
Would you entertain cutting a release without Windows 64bit capabilities &
moving on for the rest of the community?
Thanks,
Tim
jeff murphy <jcmurphy>
May 19
to me, Glyn, John, Michiel, bautista, i.d.trimnell, Georg, thilo.stapff,
David, greg.george, Misi, thilo.stapff, Makarow, conny.martin, support, gng,
Andrew, Alex, matt.reinfeldt, wjm
yeah, i’ll post a pkg to CPAN with a note about compatibility
Glyn Davies
May 19
to jeff, me, John, Michiel, bautista, i.d.trimnell, Georg, thilo.stapff,
David, greg.george, Misi, thilo.stapff, Makarow, conny.martin, support, gng,
Andrew, Alex, matt.reinfeldt, wjm
Hopefully this may be of use to you all, but I've just refreshed my memory
on how I'd done this in the past and have had a go at compiling 32 and 64-bit
Windows ARSperl against the 764sp5 ARS API files and Strawberry Perl. I was
able to compile successfully and then run perl -e "use ARS;" without any
DLL-related errors for both 32 and 64-bit versions.
Unfortunately, that's as far as I can take it in terms of testing, so
hopefully somebody else will be able to follow the attached notes and do some
more thorough testing than I managed!
I have found my compiling against ActiveState perl and MinGW notes but
they're a little out of date and only cover 32-bit, so I need to have a look
over them to get something that works.
The only other I'd mention is that it looked like the modifications I put
forward for supportrev.h and supportrev.c have been lost in the last update to
those files? The updates were required to avoid issues I ran up against when
ARSperl was trying to free memory following compilation with gcc on Windows.
If they are indeed missing, then it's something to bear in mind if memory
related issues are encountered during testing (specifically I hit the problem
when passing strings to update fields with ars_SetEntry). It could be that the
problem has gone away now, but I thought I'd mention it.
I'll report back on how I get on with compiling using ActiveState Perl once
I've had a chance to look into that.
If there's any further help I can provide in the meantime, then please let
me know!
Cheers,
Glyn
________________________________________
Attachments area
Compiling ARSPerl for Windows 32/64
===================================
1) Download ARSPerl source zip from https://github.com/jeffmurphy/ARSperl
and unpack
2) Download and install 32 or 64-bit Strawberry perl from strawberryperl.com
3) Download desired ARS API files from RRR and unpack
4) Edit Makefile.PL, and update $ARSAPI to indicate where ARS API files
have been unpacked
5) If compiling for 64-bit, the following lines need updating in
Makefile.PL as well (changes correct for 764sp5, may not be correct for all 64
ARS APIs?):
$ARS_LIBS = join(' ', map { "$ARSAPI/lib/" . $_ } @{$ra_arlibs});
change to:
$ARS_LIBS = join(' ', map { "$ARSAPI/lib64/" . $_ } @{$ra_arlibs});
$ARS_LDPATH = qq{-L"$ARSAPI/lib"};
change to:
$ARS_LDPATH = qq{-L"$ARSAPI/lib64"};
my $ar_lib_dir = join('/', $path_to_api_dir, 'lib');
change to:
my $ar_lib_dir = join('/', $path_to_api_dir, 'lib64');
6) cd to ARSPerl directory and run perl Makefile.PL
7) dmake
8) If desired (and able!), run dmake test
9) dmake install
Prior to using the compiled ARSPerl, update %PATH% first (paths correct for
764sp5, may not be correct for all ARS APIs?):
32-bit: Add the bin and lib directories from where the ARS API files
were unpacked
64-bit: Add the lib64 directory from where the ARS API files were unpacked
Michiel Beijen
May 19
to ARSperl, Glyn, jeff, me, John, bautista, i.d.trimnell, Georg,
thilo.stapff, David, greg.george, Misi, thilo.stapff, Makarow, conny.martin,
support, gng, Andrew, Alex, matt.reinfeldt, wjm
Hi all,
I just created two 'housekeeping' related pull requests at
https://github.com/jeffmurphy/ARSperl/pulls
can we maybe take this (probably useful) discussion to the existing
mailinglist (cc) for developers or maybe even for users? A big running
email thread with lots of CC's is kind of annoying.
--
Michiel
Michiel Beijen
May 19
to ARSperl, Glyn, jeff, me, John, bautista, i.d.trimnell, Georg,
thilo.stapff, David, greg.george, Misi, thilo.stapff, Makarow, conny.martin,
support, gng, Andrew, Alex, matt.reinfeldt, wjm, ARSperl
The address @arsperl.org does not seem to be working. Tried sourceforge
mailing list address.
------------------------------------------------------------------------------
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
------------------------------------------------------------------------------
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
--------------------------------------------------------------------------------
------------------------------------------------------------------------------
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------------------------------------------------------------------------------
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