RHEL Linux x86_64
Had 64 bit perl installed
Installed the 32 bit libraries since ARS couldnt see the 64 bit shared
object i built.
Recompiled and linked using 32 bit libraries.
So i now have a 32 bit shared object.

ARS env variables
LD_LIBRARY_PATH=:/u01/app/arsystem/bin:
/usr/lib/oracle/10.2.0.3/client/lib:
/usr/java/jdk1.5.0_13/jre/lib/i386/native_threads:
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE

[EMAIL PROTECTED] bin]$ file arfperl.so
arfperl.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
not stripped


ldd arfperl.so
        linux-gate.so.1 =>  (0xffffe000)
        libperl.so =>
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so
(0xf7ec4000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xf7e88000)
        libpthread.so.0 => /lib/tls/i686/libpthread.so.0 (0xf7e77000)
        libc.so.6 => /lib/tls/i686/libc.so.6 (0xf7d63000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xf7d51000)
        libdl.so.2 => /lib/libdl.so.2 (0xf7d4c000)
        libm.so.6 => /lib/tls/i686/libm.so.6 (0xf7d29000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xf7cfc000)
        libutil.so.1 => /lib/libutil.so.1 (0xf7cf8000)
        /lib/ld-linux.so.2 (0x56555000)

I thought the above looked good since it all points to the 32 bit
libraries.

Makefile looks like:-
---------------------START MAKE----------------
PLUGIN   = arfperl.so
OBJECTS  = arfperl.o

PERL_ARCH = linux-i386
PERL_DIR  = /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/
ARS_DIR   = /u01/app/arsystem/api/include


RM       = rm -f


#CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 LDFLAGS="-L/usr/lib -L/lib" \
# Compiler flags.
CC       = gcc
CFLAGS   = -m32 -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g
-fPIC -fno-strict-aliasing -mno-align-double -shared
#CFLAGS   = -g -fPIC -mno-align-double -shared -D_REENTRANT
-D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
LDFLAGS  = --verbose -t -shared
#
#CPPFLAGS = -I../../../include -I$(PERL_DIR) -I$(ARS_DIR)
CPPFLAGS = -m32 -I/usr/local/include -I/usr/include/gdbm
-I../../../include -I$(PERL_DIR) -I
$(ARS_DIR) -R$(PERL_DIR)
#LDLIBS   = -lperl -lnsl -lw -lpthread
LDLIBS   = -lperl -lnsl -lpthread

# Standard targets.
all:     $(PLUGIN)

$(PLUGIN): $(OBJECTS)
        $(CC) $(CPPFLAGS) -o $(PLUGIN) $(OBJECTS) $(LDFLAGS) $(LDLIBS)

clean:
        $(RM) $(PLUGIN) $(OBJECTS) core

---------------------END MAKE----------------

---------------------START PERL -V -----------------
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
  Platform:
    osname=linux, osvers=2.6.9-22.18.bz155725.elsmp,
archname=x86_64-linux-thread-multi
    uname='linux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp
#1 smp thu nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Doptimize=-O2 -g -pipe -m64 -Dversion=5.8.5
-Dmyhostname=localhost [EMAIL PROTECTED] -Dcc=gcc -Dcf_by=Red
Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64
/lib64 /usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.5
-Dsitelib=/usr/lib/perl5/site_perl/5.8.5
-Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.5
-Darchlib=/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi
-Dsitearch=/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
-Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-mult
i -Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr
-Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid
-Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog
-Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005
-Uversiononly -Dpager=/usr/bin/less -isr -Dinc_version_list=5.8.4 5.8.3
5.8.2 5.8.1 5.8.0'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
    optimize='-O2 -g -pipe -m64',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm'
    ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-2)',
gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =''
    libpth=/usr/local/lib64 /lib64 /usr/lib64
    libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread
-lc
    perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.3.4'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE'
    cccdlflags='-fPIC', lddlflags='-shared'


Characteristics of this binary (from libperl):
  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS
USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
  Built under linux
  Compiled at Jul 24 2006 18:28:14
  @INC:
    /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi
    /usr/lib/perl5/5.8.5
    /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
    /usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi
    /usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi
    /usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi
    /usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi
    /usr/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.5
 /usr/lib/perl5/site_perl/5.8.4
    /usr/lib/perl5/site_perl/5.8.3
    /usr/lib/perl5/site_perl/5.8.2
    /usr/lib/perl5/site_perl/5.8.1
    /usr/lib/perl5/site_perl/5.8.0
    /usr/lib/perl5/site_perl
    /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi
    /usr/lib64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi
    /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi
    /usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi
    /usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi
    /usr/lib64/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.5
    /usr/lib/perl5/vendor_perl/5.8.4
    /usr/lib/perl5/vendor_perl/5.8.3
    /usr/lib/perl5/vendor_perl/5.8.2
    /usr/lib/perl5/vendor_perl/5.8.1
    /usr/lib/perl5/vendor_perl/5.8.0
    /usr/lib/perl5/vendor_perl
---------------------END PERL -V -----------------

The only thing i was wondering about - was even though i have both
x86_64 and i386 perl packages installed - and i successfully compiled
arfperl against the 32bit i386 version whether how ARS invokes perl
might have an impact - isnt it purely through the arfperl.so and its
dependencies - so if they are all 32 bit and existent we should be good.

Simon

Simon Taylor
Service Tools Solutions (STS) Engineer
Nortel
Email [EMAIL PROTECTED]
Office +44.1279 402291 (ESN 6 742 2291)
Mobile +44.7740.533743 (ESN 748 3743)




_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the 
Answers Are"

Reply via email to