Re: [Arsperl-users] Compiling ARSPerl-1.91 on RHEL 64bit
Brought to you by:
jeffmurphy
|
From: KOBORI A. <ko...@si...> - 2008-09-02 07:46:31
|
What will you do to operate 32bit perl on RHEL5(x86-64)?
I am glad when I have you teach it.
> I was only able to get it to work with 32 bit perl.
>
> 2008/9/1 KOBORI Akii <ko...@si...>
>
> > I am troubled about next.
> >
> > ARSperl-1.91 compiled on RHEL5(x86-64) with option -m32.
> > compiled success.
> >
> > However, ARS.so module was not loaded.
> > The output error message is as follows.
> > +---------------------------------------+
> > Can't load
> > '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/ARS/ARS.so
> > ' for module ARS:
> > /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/ARS/ARS.so:
> > wrong ELF class: ELFCLASS32 at
> > /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.
> > at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/XXXXXXX.pm
> > line 56
> > Compilation failed in require at
> > /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/XXXXXXX.pm line
> > 56.
> > +---------------------------------------+
> >
> > Please, I want you to teach a method to load(operate) ARS.so module.
> >
> > Regards
> >
> >
> > > This is what I wrote some months ago to someone else (Geoffrey Endresen)
> > > who appeared to have the same problem:
> > >
> > > ----------------------
> > >
> > > I don't have any experience with 64 bit systems so I can only take a
> > > guess here. To me, the situation looks as follows:
> > >
> > > The Remedy API libraries are 32 bit, so ARSperl has to be compiled with
> > > -m32.
> > >
> > > Your Perl interpreter is 64 bit, so ARSperl would also have to be
> > > compiled as 64 bit, which of course collides with the condition above.
> > >
> > > A possible solution might be to compile a Perl interpreter with -m32 and
> > > use that one for ARSperl.
> > >
> > > ----------------------
> > >
> > > He replied that he would try that, but I don't know if he was successful.
> > >
> > >
> > > Regards
> > > Thilo
> > >
> > >
> > >
> > > wil...@em... wrote:
> > > > Hi,
> > > >
> > > >
> > > >
> > > > I知 trying to compile ARSPerl 1.91on a 64 bit Redhat linux EL5 system.
> > > > When I run make, it fails with the following error:
> > > >
> > > >
> > > >
> > > > [root@citadel ARSperl-1.91]# make
> > > >
> > > > cp ARSarerrno-h.pm blib/lib/ARSarerrno-h.pm
> > > >
> > > > cp ARSnparm.pm blib/lib/ARSnparm.pm
> > > >
> > > > cp artypes.ph blib/lib/artypes.ph
> > > >
> > > > cp _h2ph_pre.ph blib/lib/_h2ph_pre.ph
> > > >
> > > > cp ARSar-h.pm blib/lib/ARSar-h.pm
> > > >
> > > > cp ARSnterrno-h.pm blib/lib/ARSnterrno-h.pm
> > > >
> > > > cp ARSnt-h.pm blib/lib/ARSnt-h.pm
> > > >
> > > > cp ARSOOsup.pm blib/lib/ARSOOsup.pm
> > > >
> > > > cp ARSOOmsgs.pm blib/lib/ARSOOmsgs.pm
> > > >
> > > > cp ARSOOform.pm blib/lib/ARSOOform.pm
> > > >
> > > > cp ARS.pm blib/lib/ARS.pm
> > > >
> > > > AutoSplitting blib/lib/ARS.pm (blib/lib/auto/ARS)
> > > >
> > > > /usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap
> > > > /usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap ARS.xs >
> > ARS.xsc
> > > > && mv ARS.xsc ARS.c
> > > >
> > > > gcc -c -I/remedy/arheaders/remedy_7.01/api/include -D_REENTRANT
> > > > -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement
> > > > -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> > > > -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> > > > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
> > > > -mtune=generic -DVERSION=\"1.91\" -DXS_VERSION=\"1.91\" -fPIC
> > > > "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" -g
> > > > -Wno-unused-variable -Wuninitialized -DARS32 -DARS452 -malign-double
> > > > -DPERL_PATCHLEVEL_IS=8 -DPERL_SUBVERSION_IS=8 -DPERL_BASEREV_IS=50
> > ARS.c
> > > >
> > > > ARS.c:1: error: -malign-double makes no sense in the 64bit mode
> > > >
> > > > make: *** [ARS.o] Error 1
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > I致e tried the two solutions below which were in response to a post by
> > > > Chris Ford on 5/15/08. Neither worked.
> > > >
> > > >
> > > >
> > > > Solution 1:
> > > >
> > > > You can run both 32-bit and 64-bit programs on 64-bit linux. Compile
> > > > arsperl 32-bit by setting the CPPFLAGS to include -m32:
> > > >
> > > > $ export CPPFLAGS="${CPPFLAGS} -m32"
> > > >
> > > > Axton Grams
> > > >
> > > > Solution 2:
> > > > On Thu, May 15, 2008 at 7:33 PM, Rusty Copeland <rcopeland10@ya...>
> > wrote:
> > > >> Chris,
> > > >>
> > > >> In the Makefile you could remove references to "-malign-double" which
> > > > seems to be causing your problem. That may fix that problem but the
> > fact
> > > > you're compiling on a 64 bit system might cause other issues. Last I
> > > > heard the Remedy libraries are only available as 32 bit libraries. I
> > > > never had luck compiling ARSPerl on a 64 bit system. But perhaps that's
> > > > changed.
> > > >>
> > > >> Rusty
> > > >>
> > > >
> > > >
> > > >
> > > > Has anyone successfully compiled ARSPerl 1.91on a 64 bit system?
> > > >
> > > >
> > > >
> > > > Thanks
> > > >
> > > >
> > > >
> > > > --Wayne
> >
> --
> -Geoff Endresen
> Amazon.com
|