Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.91k stars 542 forks source link

Perl on AIX 64 bit problem #8443

Closed p5pRT closed 16 years ago

p5pRT commented 18 years ago

Migrated from rt.perl.org#39100 (status was 'resolved')

Searchable as RT39100$

p5pRT commented 18 years ago

From dsingh@pdxinc.com

Hi\,

My name is Daljit Singh and this is first time I am dealing with the installation of perl. We are having AIX 5.2 (64 bit) OS without any IBM C compiler and Oracle 10g (64 bit) running on it\, we want to install perl DBI/DBD modules on this machine. I have installed gcc on this box from bull and now want to compile perl and other modules. I want to know that whether I am suppose to install 64 bit or 32 bit perl for my environment and also DBI & DBD should also be 64 or 32 bit??

I tried installing perl (5.8 64bit) using "sh Configure -d -Dcc=gcc -Duse64bitall" command but it didn't work\, I always got this error while running make​:

pp_pack.c​:1165​: warning​: integer constant is too large for 'long' type

  `sh cflags "optimize='-O'" pp_sort.o` pp_sort.c

  CCCMD = gcc -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -I/usr/local/include -DUSE_64_BIT_ALL -D_LARGE_FILES -O -Wall

  rm -f libperl.a

  ar -X64 rcu libperl.a perl.o gv.o toke.o perly.o op.o regcomp.o dump.o util.o mg.o reentr.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o locale.o pp_pack.o pp_sort.o

ar​: 0707-126 perl.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 gv.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 toke.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 perly.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 op.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 regcomp.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 dump.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 util.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 mg.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 reentr.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 hv.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 av.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 run.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 pp_hot.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 sv.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 pp.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 scope.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 pp_ctl.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 pp_sys.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 doop.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 doio.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 regexec.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 utf8.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 taint.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 deb.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 universal.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 xsutils.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 globals.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 perlio.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 perlapi.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 numeric.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 locale.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 pp_pack.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

ar​: 0707-126 pp_sort.o is not valid with the current object file mode.

  Use the -X option to specify the desired object mode.

make​: The error code from the last command is 34.

Stop.

I am able to install 32 bit perl and I tried to convert it to 64 bit by creating these links​:

ln -f /usr/opt/perl5/bin/perl5.8.0_64bit /usr/bin/perl ln -sf /usr/opt/perl5/bin/a2p_64bit /usr/bin/a2p ln -sf /usr/opt/perl5/bin/cppstdin_64bit /usr/bin/cppstdin ln -sf /usr/opt/perl5/bin/enc2xs_64bit /usr/bin/enc2xs ln -sf /usr/opt/perl5/bin/h2ph_64bit /usr/bin/h2ph ln -sf /usr/opt/perl5/bin/libnetcfg_64bit /usr/bin/libnetcfg ln -sf /usr/opt/perl5/bin/perlbug_64bit /usr/bin/perlbug ln -sf /usr/opt/perl5/bin/perlcc_64bit /usr/bin/perlcc ln -sf /usr/opt/perl5/bin/perldoc_64bit /usr/bin/perldoc ln -sf /usr/opt/perl5/bin/perlivp_64bit /usr/bin/perlivp ln -sf /usr/opt/perl5/bin/splain_64bit /usr/bin/splain

but after that I got the error that unable to load dependent modules of libperl.o.

Now please help me out\, please let me know what I am suppose to install and what not. Does gcc should also be 64 bit for this environment??

Thanks

Daljit Singh

Oracle DBA

PDX Inc

101 Jim Wright Fwy S

Fort Worth TX 76108

Extn​: 4862

p5pRT commented 18 years ago

From @tux

On Mon\, 08 May 2006 11​:42​:29 -0700\, "Daljit Singh" (via RT) \perlbug\-followup@​perl\.org wrote​:

# New Ticket Created by "Daljit Singh" # Please include the string​: [perl #39100] # in the subject line of all future correspondence about this issue. # \<URL​: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=39100 >

Hi\,

My name is Daljit Singh and this is first time I am dealing with the installation of perl. We are having AIX 5.2 (64 bit) OS without any IBM C compiler and Oracle 10g (64 bit) running on it\, we want to install perl DBI/DBD modules on this machine. I have installed gcc on this box from bull and now want to compile perl and other modules. I want to know that whether I am suppose to install 64 bit or 32 bit perl for my environment and also DBI & DBD should also be 64 or 32 bit??

I tried installing perl (5.8 64bit) using "sh Configure -d -Dcc=gcc -Duse64bitall" command but it didn't work\, I always got this error while running make​:

What 5.8 is this? 5.8.8? I miss the -maix64 option to gcc\, which explains the failures below.

pp_pack.c​:1165​: warning​: integer constant is too large for 'long' type

    \`sh  cflags "optimize='\-O'" pp\_sort\.o\`  pp\_sort\.c

      CCCMD =  gcc \-DPERL\_CORE \-c \-D\_ALL\_SOURCE \-D\_ANSI\_C\_SOURCE

-D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -I/usr/local/include -DUSE_64_BIT_ALL -D_LARGE_FILES -O -Wall

    rm \-f libperl\.a

    ar \-X64 rcu libperl\.a perl\.o  gv\.o toke\.o perly\.o op\.o regcomp\.o

dump.o util.o mg.o reentr.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o locale.o pp_pack.o pp_sort.o

ar​: 0707-126 perl.o is not valid with the current object file mode.

    Use the \-X option to specify the desired object mode\.

ar​: 0707-126 gv.o is not valid with the current object file mode.

    Use the \-X option to specify the desired object mode\.

ar​: 0707-126 toke.o is not valid with the current object file mode.

    Use the \-X option to specify the desired object mode\.

...etc...etc...

export OBJECT_MODE=64 might get you through that part

Stop.

I am able to install 32 bit perl and I tried to convert it to 64 bit by

That won't work. 32bit is not 64bit

creating these links​:

ln -f /usr/opt/perl5/bin/perl5.8.0_64bit /usr/bin/perl ln -sf /usr/opt/perl5/bin/a2p_64bit /usr/bin/a2p ln -sf /usr/opt/perl5/bin/cppstdin_64bit /usr/bin/cppstdin ln -sf /usr/opt/perl5/bin/enc2xs_64bit /usr/bin/enc2xs ln -sf /usr/opt/perl5/bin/h2ph_64bit /usr/bin/h2ph ln -sf /usr/opt/perl5/bin/libnetcfg_64bit /usr/bin/libnetcfg ln -sf /usr/opt/perl5/bin/perlbug_64bit /usr/bin/perlbug ln -sf /usr/opt/perl5/bin/perlcc_64bit /usr/bin/perlcc ln -sf /usr/opt/perl5/bin/perldoc_64bit /usr/bin/perldoc ln -sf /usr/opt/perl5/bin/perlivp_64bit /usr/bin/perlivp ln -sf /usr/opt/perl5/bin/splain_64bit /usr/bin/splain

but after that I got the error that unable to load dependent modules of libperl.o.

As expected. Again\, 32bit is not 64bit.

Now please help me out\, please let me know what I am suppose to install and what not. Does gcc should also be 64 bit for this environment??

My first suggestion would be to upgrade AIX to something else\, like Linux\, or HP-UX\, but I bet that is not an option.

My second bet it to get the most recent perl​: ftp​://ftp.funet.fi/pub/languages/perl/CPAN/src/perl-5.8.8.tar.bz2

That should both detect the right gcc settings\, and set -maix64 If not\, either your gcc is not capable of generating 64bit objects\, or there is something else very weird on your system.

# echo 'int main(){}' >test.c # gcc -maix64 test.c -o test # ./test # file test test​: 64-bit XCOFF executable or object module not stripped

-- H.Merijn Brand Amsterdam Perl Mongers (http​://amsterdam.pm.org/) using & porting perl 5.6.2\, 5.8.x\, 5.9.x on HP-UX 10.20\, 11.00\, 11.11\, & 11.23\, SuSE 10.0\, AIX 4.3 & 5.2\, and Cygwin. http​://qa.perl.org http​://mirrors.develooper.com/hpux/ http​://www.test-smoke.org   http​://www.goldmark.org/jeff/stupid-disclaimers/

p5pRT commented 18 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 16 years ago

p5p@spam.wizbit.be - Status changed from 'open' to 'resolved'