Topic
3 replies Latest Post - ‏2013-08-15T14:42:10Z by jenaixvoodoo
jenaixvoodoo
jenaixvoodoo
4 Posts
ACCEPTED ANSWER

Pinned topic compiling perl 64 bit on aix 6100-08-02-1316

‏2013-07-22T20:05:35Z |
Hi,

I am trying to compile 64bit PERL on AIX 6100-08-02-1316.  I downloaded and am trying to 
compile: perl-5.18.0

I have tried with:
  vac.Bnd                   10.1.0.0    C     F    XL C for AIX Media Defined
  vac.C                     10.1.0.0    C     F    IBM XL C Compiler
  vac.aix53.lib             10.1.0.0    C     F    XL C for AIX Libraries for AIX
  vac.html.common.search    10.1.0.0    C     F    XL C for AIX Compiler Help
  vac.html.en_US.C          10.1.0.0    C     F    XL C for AIX Compiler
  vac.include               10.1.0.0    C     F    IBM XL C Compiler Include
  vac.lib                   10.1.0.0    C     F    XL C for AIX Libraries
  vac.lic                   10.1.0.0    C     F    XL C for AIX Licence Files
  vac.licAgreement          10.1.0.0    C     F    IBM XL C Electronic License
  vac.man.EN_US             10.1.0.0    C     F    IBM XL C Compiler Man
  vac.man.en_US             10.1.0.0    C     F    IBM XL C Compiler Man
  vac.msg.EN_US.C           10.1.0.0    C     F    XL C for AIX Compiler
  vac.ndi                   10.1.0.0    C     F    XL C for AIX Non-Default
  vac.pdf.en_US.C           10.1.0.0    C     F    XL C for AIX Compiler

and with:
  gcc                        4.2.0-3    C     R    GNU Compiler Collection
  libgcc                     4.8.1-1    C     R    GCC version 4.8.1 shared

I always get the same error:
ld: 0711-738 ERROR: Input file /usr/lib/libdb.so:
        XCOFF32 object files are not allowed in 64-bit mode.
I can't compile the test program.
(The supplied flags or libraries might be incorrect.)

You have a BIG problem.  Shall I abort Configure [y]
Ok.  Stopping Configure.

I have ran nm -X64 filename on all of the libdb.so files in my /usr/lib directory and they all seem 
to be 32 bit.  Here is my system details and it switches between 32bit and 64bit but I would like to
think it is a 64bit op sys.
AIO_LISTIO_MAX:                         4096
AIO_MAX:                                4096
AIO_PRIO_DELTA_MAX:                     20
ARG_MAX:                                1048576
ATEXIT_MAX:                             2048
BC_BASE_MAX:                            99
BC_DIM_MAX:                             2048
BC_SCALE_MAX:                           99
BC_STRING_MAX:                          2048
BOOT_DEVICE:                            hdisk0
CHARCLASS_NAME_MAX:                     14
CHAR_BIT:                               8
CHAR_MAX:                               255
CHAR_MIN:                               0
CHILD_MAX:                              128
CLK_TCK:                                100
COLL_WEIGHTS_MAX:                       4
CS_PATH:                                /usr/bin:/usr/vac/bin
DELAYTIMER_MAX:                         32
EXPR_NEST_MAX:                          32
FILESIZEBITS:                           undefined
HARDWARE_BITMODE:                       64
HOST_NAME_MAX:                          256
INT_MAX:                                2147483647
INT_MIN:                                -2147483648
IOV_MAX:                                16
KERNEL_BITMODE:                         64
LINE_MAX:                               2048
LINK_MAX:                               32767
LOGIN_NAME_MAX:                         9
LONG_BIT:                               32
LONG_MAX:                               2147483647
LONG_MIN:                               -2147483648
MACHINE_ARCHITECTURE:                   chrp
MAXIMPL_LOGIN_NAME_MAX:                 256
MAX_CANON:                              256
MAX_INPUT:                              512
MB_LEN_MAX:                             4
MODEL_CLASS:
MODEL_CODE:                             134217804
MP_CAPABLE:                             1
MQ_OPEN_MAX:                            32768
MQ_PRIO_MAX:                            128
NAME_MAX:                               255
NGROUPS_MAX:                            128
NL_ARGMAX:                              9
NL_LANGMAX:                             14
NL_MAX:                                 10
NL_MSGMAX:                              65535
NL_NMAX:                                10
NL_SETMAX:                              65535
NL_TEXTMAX:                             8192
NZERO:                                  20
OPEN_MAX:                               65534
PAGESIZE:                               4096
PAGE_SIZE:                              4096
PASS_MAX:                               8
PATH:                                   /usr/bin:/usr/vac/bin
PATH_MAX:                               1024
PIPE_BUF:                               32768
POSIX2_BC_BASE_MAX:                     99
POSIX2_BC_DIM_MAX:                      2048
POSIX2_BC_SCALE_MAX:                    99
POSIX2_BC_STRING_MAX:                   1000
POSIX2_CHARCLASS_NAME_MAX:              14
POSIX2_CHAR_TERM:                       200112
POSIX2_COLL_WEIGHTS_MAX:                2
POSIX2_C_BIND:                          200112
POSIX2_C_DEV:                           200112
POSIX2_C_VERSION:                       200112
POSIX2_EXPR_NEST_MAX:                   32
POSIX2_FORT_DEV:                        -1
POSIX2_FORT_RUN:                        -1
POSIX2_LINE_MAX:                        2048
POSIX2_LOCALEDEF:                       200112
POSIX2_PBS:                             -1
POSIX2_PBS_ACCOUNTING:                  -1
POSIX2_PBS_CHECKPOINT:                  -1
POSIX2_PBS_LOCATE:                      -1
POSIX2_PBS_MESSAGE:                     -1
POSIX2_PBS_TRACK:                       -1
POSIX2_RE_DUP_MAX:                      255
POSIX2_SW_DEV:                          -1
POSIX2_SYMLINKS:                        8
POSIX2_UPE:                             200112
POSIX2_VERSION:                         200112
POSIX_ALLOC_SIZE_MIN:                   undefined
POSIX_REC_INCR_XFER_SIZE:               undefined
POSIX_REC_MAX_XFER_SIZE:                undefined
POSIX_REC_MIN_XFER_SIZE:                undefined
POSIX_REC_XFER_ALIGN:                   undefined
POSIX_V6_ILP32_OFF32:                   1
POSIX_V6_ILP32_OFF32_CFLAGS:            -q32
POSIX_V6_ILP32_OFF32_LDFLAGS:           -b32
POSIX_V6_ILP32_OFF32_LIBS:              -lc -lpthread -lm
POSIX_V6_ILP32_OFFBIG:                  1
POSIX_V6_ILP32_OFFBIG_CFLAGS:           -q32 -D_LARGE_FILES -qlonglong
POSIX_V6_ILP32_OFFBIG_LDFLAGS:          -b32
POSIX_V6_ILP32_OFFBIG_LIBS:             -lc -lpthread -lm
POSIX_V6_LP64_OFF64:                    1
POSIX_V6_LP64_OFF64_CFLAGS:             -q64
POSIX_V6_LP64_OFF64_LDFLAGS:            -b64
POSIX_V6_LP64_OFF64_LIBS:               -lc -lpthread -lm
POSIX_V6_LPBIG_OFFBIG:                  1
POSIX_V6_LPBIG_OFFBIG_CFLAGS:           -q64
POSIX_V6_LPBIG_OFFBIG_LDFLAGS:          -b64
POSIX_V6_LPBIG_OFFBIG_LIBS:             -lc -lpthread -lm
POSIX_V6_WIDTH_RESTRICTED_ENVS:         POSIX_V6_ILP32_OFF32
POSIX_V6_ILP32_OFFBIG
POSIX_V6_LP64_OFF64
POSIX_V6_LPBIG_OFFBIG
PTHREAD_DESTRUCTOR_ITERATIONS:          4
PTHREAD_KEYS_MAX:                       450
PTHREAD_STACK_MIN:                      8192
PTHREAD_THREADS_MAX:                    512
PW_GROUPNAME_LEN:                       9
PW_USERNAME_LEN:                        9
REAL_MEMORY:                            2097152
RE_DUP_MAX:                             255
RTSIG_MAX:                              8
SCHAR_MAX:                              127
SCHAR_MIN:                              -128
SEM_NSEMS_MAX:                          32768
SEM_VALUE_MAX:                          32767
SHRT_MAX:                               32767
SHRT_MIN:                               -32768
SIGQUEUE_MAX:                           32
SSIZE_MAX:                              2147483647
STREAM_MAX:                             32767
SYMLINK_MAX:                            255
SYMLOOP_MAX:                            20
TIMER_MAX:                              32
TMP_MAX:                                16384
TTY_NAME_MAX:                           1023
TZNAME_MAX:                             255
UCHAR_MAX:                              255
UINT_MAX:                               4294967295
ULONG_MAX:                              4294967295
USHRT_MAX:                              65535
V6_ILP32_OFF32:                         1
V6_ILP32_OFFBIG:                        1
V6_LP64_OFF64:                          1
V6_LPBIG_OFFBIG:                        1
WORD_BIT:                               32
XBS5_ILP32_OFF32:                       1
XBS5_ILP32_OFF32_CFLAGS:                -q32
XBS5_ILP32_OFF32_LDFLAGS:               -b32
XBS5_ILP32_OFF32_LIBS:                  -lc -lpthread -lm
XBS5_ILP32_OFF32_LINTFLAGS:
XBS5_ILP32_OFFBIG:                      1
XBS5_ILP32_OFFBIG_CFLAGS:               -q32 -D_LARGE_FILES -qlonglong
XBS5_ILP32_OFFBIG_LDFLAGS:              -b32
XBS5_ILP32_OFFBIG_LIBS:                 -lc -lpthread -lm
XBS5_ILP32_OFFBIG_LINTFLAGS:            -D_LARGE_FILES -qlonglong
XBS5_LP64_OFF64:                        1
XBS5_LP64_OFF64_CFLAGS:                 -q64
XBS5_LP64_OFF64_LDFLAGS:                -b64
XBS5_LP64_OFF64_LIBS:                   -lc -lpthread -lm
XBS5_LP64_OFF64_LINTFLAGS:              -D__64BIT__
XBS5_LPBIG_OFFBIG:                      1
XBS5_LPBIG_OFFBIG_CFLAGS:               -q64
XBS5_LPBIG_OFFBIG_LDFLAGS:              -b64
XBS5_LPBIG_OFFBIG_LIBS:                 -lc -lpthread -lm
XBS5_LPBIG_OFFBIG_LINTFLAGS:            -D__64BIT__
_CS_PATH:                               /usr/bin:/usr/vac/bin
_POSIX2_BC_BASE_MAX:                    99
_POSIX2_BC_DIM_MAX:                     2048
_POSIX2_BC_SCALE_MAX:                   99
_POSIX2_BC_STRING_MAX:                  1000
_POSIX2_CHARCLASS_NAME_MAX:             14
_POSIX2_CHAR_TERM:                      200112
_POSIX2_COLL_WEIGHTS_MAX:               2
_POSIX2_C_BIND:                         200112
_POSIX2_C_DEV:                          200112
_POSIX2_C_VERSION:                      200112
_POSIX2_EXPR_NEST_MAX:                  32
_POSIX2_FORT_DEV:                       -1
_POSIX2_FORT_RUN:                       -1
_POSIX2_LINE_MAX:                       2048
_POSIX2_LOCALEDEF:                      200112
_POSIX2_PBS:                            -1
_POSIX2_PBS_ACCOUNTING:                 -1
_POSIX2_PBS_CHECKPOINT:                 -1
_POSIX2_PBS_LOCATE:                     -1
_POSIX2_PBS_MESSAGE:                    -1
_POSIX2_PBS_TRACK:                      -1
_POSIX2_RE_DUP_MAX:                     255
_POSIX2_SW_DEV:                         -1
_POSIX2_SYMLINKS:                       undefined
_POSIX2_UPE:                            200112
_POSIX2_VERSION:                        200112
_POSIX_ADVISORY_INFO:                   200112
_POSIX_AIO_LISTIO_MAX:                  2
_POSIX_AIO_MAX:                         1
_POSIX_ARG_MAX:                         4096
_POSIX_ASYNCHRONOUS_IO:                 200112
_POSIX_ASYNC_IO:                        undefined
_POSIX_BARRIERS:                        200112
_POSIX_CHILD_MAX:                       25
_POSIX_CHOWN_RESTRICTED:                0
_POSIX_CLOCKRES_MIN:                    20000000
_POSIX_CLOCK_SELECTION:                 200112
_POSIX_CPUTIME:                         200112
_POSIX_DELAYTIMER_MAX:                  32
_POSIX_FILE_LOCKING:                    undefined
_POSIX_FSYNC:                           200112
_POSIX_HOST_NAME_MAX:                   255
_POSIX_IPV6:                            200112
_POSIX_JOB_CONTROL:                     1
_POSIX_LINK_MAX:                        8
_POSIX_LOGIN_NAME_MAX:                  9
_POSIX_MAPPED_FILES:                    200112
_POSIX_MAX_CANON:                       255
_POSIX_MAX_INPUT:                       255
_POSIX_MEMLOCK:                         200112
_POSIX_MEMLOCK_RANGE:                   200112
_POSIX_MEMORY_PROTECTION:               200112
_POSIX_MESSAGE_PASSING:                 200112
_POSIX_MONOTONIC_CLOCK:                 200112
_POSIX_MQ_OPEN_MAX:                     8
_POSIX_MQ_PRIO_MAX:                     32
_POSIX_MULTI_PROCESS:                   undefined
_POSIX_NAME_MAX:                        14
_POSIX_NGROUPS_MAX:                     8
_POSIX_NO_TRUNC:                        0
_POSIX_OPEN_MAX:                        20
_POSIX_PATH_MAX:                        256
_POSIX_PIPE_BUF:                        512
_POSIX_PRIORITIZED_IO:                  200112
_POSIX_PRIORITY_SCHEDULING:             200112
_POSIX_PRIO_IO:                         undefined
_POSIX_RAW_SOCKETS:                     200112
_POSIX_READER_WRITER_LOCKS:             200112
_POSIX_REALTIME_SIGNALS:                200112
_POSIX_REGEXP:                          1
_POSIX_RE_DUP_MAX:                      undefined
_POSIX_RTSIG_MAX:                       8
_POSIX_SAVED_IDS:                       1
_POSIX_SEMAPHORES:                      200112
_POSIX_SEM_NSEMS_MAX:                   256
_POSIX_SEM_VALUE_MAX:                   32767
_POSIX_SHARED_MEMORY_OBJECTS:           200112
_POSIX_SHELL:                           1
_POSIX_SIGQUEUE_MAX:                    32
_POSIX_SPAWN:                           200112
_POSIX_SPIN_LOCKS:                      200112
_POSIX_SPORADIC_SERVER:                 -1
_POSIX_SSIZE_MAX:                       32767
_POSIX_SS_REPL_MAX:                     undefined
_POSIX_STREAM_MAX:                      8
_POSIX_SYMLINK_MAX:                     255
_POSIX_SYMLOOP_MAX:                     8
_POSIX_SYNCHRONIZED_IO:                 200112
_POSIX_SYNC_IO:                         undefined
_POSIX_THREADS:                         200112
_POSIX_THREAD_ATTR_STACKADDR:           200112
_POSIX_THREAD_ATTR_STACKSIZE:           200112
_POSIX_THREAD_CPUTIME:                  200112
_POSIX_THREAD_DESTRUCTOR_ITERATIONS:    4
_POSIX_THREAD_KEYS_MAX:                 128
_POSIX_THREAD_PRIORITY_SCHEDULING:      -1
_POSIX_THREAD_PRIO_INHERIT:             -1
_POSIX_THREAD_PRIO_PROTECT:             -1
_POSIX_THREAD_PROCESS_SHARED:           200112
_POSIX_THREAD_SAFE_FUNCTIONS:           200112
_POSIX_THREAD_SPORADIC_SERVER:          -1
_POSIX_THREAD_THREADS_MAX:              64
_POSIX_TIMEOUTS:                        200112
_POSIX_TIMERS:                          200112
_POSIX_TIMER_MAX:                       32
_POSIX_TRACE:                           -1
_POSIX_TRACE_EVENT_FILTER:              -1
_POSIX_TRACE_EVENT_NAME_MAX:            30
_POSIX_TRACE_INHERIT:                   -1
_POSIX_TRACE_LOG:                       -1
_POSIX_TRACE_NAME_MAX:                  8
_POSIX_TRACE_SYS_MAX:                   8
_POSIX_TRACE_USER_EVENT_MAX:            32
_POSIX_TTY_NAME_MAX:                    9
_POSIX_TYPED_MEMORY_OBJECTS:            -1
_POSIX_TZNAME_MAX:                      6
_POSIX_V6_ILP32_OFF32:                  1
_POSIX_V6_ILP32_OFF32_CFLAGS:           -q32
_POSIX_V6_ILP32_OFF32_LDFLAGS:          -b32
_POSIX_V6_ILP32_OFF32_LIBS:             -lc -lpthread -lm
_POSIX_V6_ILP32_OFFBIG:                 1
_POSIX_V6_ILP32_OFFBIG_CFLAGS:          -q32 -D_LARGE_FILES -qlonglong
_POSIX_V6_ILP32_OFFBIG_LDFLAGS:         -b32
_POSIX_V6_ILP32_OFFBIG_LIBS:            -lc -lpthread -lm
_POSIX_V6_LP64_OFF64:                   1
_POSIX_V6_LP64_OFF64_CFLAGS:            -q64
_POSIX_V6_LP64_OFF64_LDFLAGS:           -b64
_POSIX_V6_LP64_OFF64_LIBS:              -lc -lpthread -lm
_POSIX_V6_LPBIG_OFFBIG:                 1
_POSIX_V6_LPBIG_OFFBIG_CFLAGS:          -q64
_POSIX_V6_LPBIG_OFFBIG_LDFLAGS:         -b64
_POSIX_V6_LPBIG_OFFBIG_LIBS:            -lc -lpthread -lm
_POSIX_V6_WIDTH_RESTRICTED_ENVS:        POSIX_V6_ILP32_OFF32
POSIX_V6_ILP32_OFFBIG
POSIX_V6_LP64_OFF64
POSIX_V6_LPBIG_OFFBIG
_POSIX_VDISABLE:                        255
_POSIX_VERSION:                         200112
_REGEX_VERSION:                         undefined
_XBS5_ILP32_OFF32:                      1
_XBS5_ILP32_OFF32_CFLAGS:               -q32
_XBS5_ILP32_OFF32_LDFLAGS:              -b32
_XBS5_ILP32_OFF32_LIBS:                 -lc -lpthread -lm
_XBS5_ILP32_OFF32_LINTFLAGS:
_XBS5_ILP32_OFFBIG:                     1
_XBS5_ILP32_OFFBIG_CFLAGS:              -q32 -D_LARGE_FILES -qlonglong
_XBS5_ILP32_OFFBIG_LDFLAGS:             -b32
_XBS5_ILP32_OFFBIG_LIBS:                -lc -lpthread -lm
_XBS5_ILP32_OFFBIG_LINTFLAGS:           -D_LARGE_FILES -qlonglong
_XBS5_LP64_OFF64:                       1
_XBS5_LP64_OFF64_CFLAGS:                -q64
_XBS5_LP64_OFF64_LDFLAGS:               -b64
_XBS5_LP64_OFF64_LIBS:                  -lc -lpthread -lm
_XBS5_LP64_OFF64_LINTFLAGS:             -D__64BIT__
_XBS5_LPBIG_OFFBIG:                     1
_XBS5_LPBIG_OFFBIG_CFLAGS:              -q64
_XBS5_LPBIG_OFFBIG_LDFLAGS:             -b64
_XBS5_LPBIG_OFFBIG_LIBS:                -lc -lpthread -lm
_XBS5_LPBIG_OFFBIG_LINTFLAGS:           -D__64BIT__
_XOPEN_CRYPT:                           1
_XOPEN_ENH_I18N:                        1
_XOPEN_IOV_MAX:                         16
_XOPEN_LEGACY:                          -1
_XOPEN_NAME_MAX:                        255
_XOPEN_PATH_MAX:                        1024
_XOPEN_REALTIME:                        200112
_XOPEN_REALTIME_THREADS:                -1
_XOPEN_SHM:                             1
_XOPEN_STREAMS:                         1
_XOPEN_UNIX:                            1
_XOPEN_VERSION:                         600
_XOPEN_XCU_VERSION:                     4
_XOPEN_XPG2:                            undefined
_XOPEN_XPG3:                            1
_XOPEN_XPG4:                            1

Maybe I just am on a 32bit install and don't accept it.  LOL, any help is appreciated.

Regards,
Jen
Updated on 2013-07-22T20:12:27Z at 2013-07-22T20:12:27Z by jenaixvoodoo
  • GlennBrown
    GlennBrown
    10 Posts
    ACCEPTED ANSWER

    Re: compiling perl 64 bit on aix 6100-08-02-1316

    ‏2013-07-29T20:05:09Z  in response to jenaixvoodoo

    Is there a reason why you need the latest perl?

     

    AIX 6.1 and 7.1 include 32bit and 64bit perl

     

    /usr/bin/perl == 32-bit

    /usr/bin/perl64 == 64-bit

     

    AIX 6.1 is at 5.8.8 (as of tl8 at least)

    AIX 7.1 is at 5.10.1 (as of tl2 at least)

     

    The only gotcha with using IBM's is you really need to compile the perl modules with IBM's compiler as you can get linking issue with gcc.

    • jenaixvoodoo
      jenaixvoodoo
      4 Posts
      ACCEPTED ANSWER

      Re: compiling perl 64 bit on aix 6100-08-02-1316

      ‏2013-08-08T20:10:58Z  in response to GlennBrown

      Even though I was able to compile and install the latest DBD and DBI perl modules for our database ugrade using the IBM provided 64 bit perl I still want to compile a 64bit perl that is the latest perl and has more paths to the @INC path.  I keep running into the 32bit libdb.so problem, literature says that the 64bit libraries are in /opt/freeware/lib64 but that directory has not libdb.so in it.  It only has

      lrwxrwxrwx    1 root     system           18 Feb  5 2013  libdb-4.8.a -> ../lib/libdb-4.8.a
      lrwxrwxrwx    1 root     system           16 Feb  5 2013  libdb-4.a -> ../lib/libdb-4.a
      lrwxrwxrwx    1 root     system           14 Feb  5 2013  libdb.a -> ../lib/libdb.a
      lrwxrwxrwx    1 root     system           15 Feb  5 2013  libdb4.a -> ../lib/libdb4.a
       

      So do I compile those to create the .so?  How to get the danged libdb.so in 64bit?????  Anyone know?

       

      Regards,

      Jen

      • jenaixvoodoo
        jenaixvoodoo
        4 Posts
        ACCEPTED ANSWER

        Re: compiling perl 64 bit on aix 6100-08-02-1316

        ‏2013-08-15T14:42:10Z  in response to jenaixvoodoo

        After trial and error and getting a better understanding of what is going on I have successfully compiled perl 5.18.0 on AIX 6100-08-02-1316 using vac 10.1.0.0 (xlc_r) with the following command line for Configure:

        ./Configure \
                        -d \
                        -Dcc=xlc -Dldflags="-s -Wl,-bmaxdata:0x80000000" \
                        -Dinstallprefix=/opt/freeware/lib/perl5/5.18 \
                        -Dprefix='/opt/freeware/lib/perl5/5.18 \
                        -Duselargefiles \
                                -Duseshrplib \
                                -Dusethreads \
                                -Duse64bitall \
                        -Darchname=ppc-aix \
                                -A define:ld='/usr/vacpp/bin/xlc_r' \
                                -A define:ccdlflags='-brtl -bdynamic' \
                                -A define:lddlflags='-bexpall -G -L/usr/lib64 -L/opt/freeware/lib64  -L/opt/freeware/lib -L/usr/lib'

         

        NOTE: This did require me to create my own 64bit libdb.so.  I downloaded db-5.3.21 from the Berkeley DB site and compiled it.  Then I linked it into the /usr/lib64 bin.  I had to copy over the 64bit libdb.so in the /usr/lib to make this work.  I cannot explain why, something buried in the code.  However I am also creating a rpm that requires that the 32bit one is in the /usr/lib and that the 64bit is in the /usr/lib64.  Which is how it is supposed to be.  Sigh!!!!

         

        I hope this helps someone else, it was a dig out of a stupidity hole for me.  Now I need to make sure it is portable and all that!

        Jen

        Updated on 2013-08-15T14:44:26Z at 2013-08-15T14:44:26Z by jenaixvoodoo