IC5Notice: We have upgraded developerWorks Community to the latest version of IBM Connections. For more information, read our upgrade FAQ.
Topic
  • 5 replies
  • Latest Post - ‏2008-04-24T18:25:49Z by SystemAdmin
SystemAdmin
SystemAdmin
1143 Posts

Pinned topic Error 9793 running select checksum(1,1) from systables where tabid = 1

‏2008-04-23T20:46:57Z |
select checksum(1,1) from systables where tabid = 1 gives error 9793

9793: User Defined Routine (checksum) module load failed.

This occurs running checksum.sql or running the select statement in dbaccess.

Also in teh online.log it shows:
10:36:25 Loading Module <$INFORMIXDIR/extend/checksum/checksum.so>
10:36:25 The C Language Module
<$INFORMIXDIR/extend/checksum/checksum.so> can't
load
reason: /opt/informix/extend/checksum/checksum.so: only ET_DYN and
ET_EXEC c
an be loaded
10:36:25 (-1): ERROR: Loading Module
<$INFORMIXDIR/extend/checksum/checksum.so>
How to fix this? Please advise.

Thanks!
Updated on 2008-04-24T18:25:49Z at 2008-04-24T18:25:49Z by SystemAdmin
  • andreasl
    andreasl
    369 Posts

    Re: Error 9793 running select checksum(1,1) from systables where tabid = 1

    ‏2008-04-24T10:06:23Z  
    Hello!

    What platform are you on, please?

    Also can I ask you for a 'file', 'ldd' and 'ls -l' output on the $INFORMIXDIR/extend/checksum/checksum.so shared object?

    How exactly did you create it?

    Regards,

    Andreas
  • SystemAdmin
    SystemAdmin
    1143 Posts

    Re: Error 9793 running select checksum(1,1) from systables where tabid = 1

    ‏2008-04-24T12:59:49Z  
    • andreasl
    • ‏2008-04-24T10:06:23Z
    Hello!

    What platform are you on, please?

    Also can I ask you for a 'file', 'ldd' and 'ls -l' output on the $INFORMIXDIR/extend/checksum/checksum.so shared object?

    How exactly did you create it?

    Regards,

    Andreas
    Hi,
    Actually I am an Informix engineer looking to help a customer.
    The platform is Red Hat Linux 4 (build 2.6.9-67)64bit.

    Customer did the following (sorry for the weird formatting)...
    $ gcc -m64 -shared -${INFORMIXDIR}/incl -c
    checksum.c -o checksum.64.so
    checksum.c: In function `accum_crc':
    checksum.c:108: warning: large integer implicitly truncated to unsigned
    type
    checksum.c: In function 'collection_checksum':
    checksum.c:591: warning: cast to pointer from integer of different size
    checksum.c:591: warning: cast from pointer to integer of different size
    checksum.c: In function 'row_checksum':
    checksum.c:664: warning: cast from pointer to integer of different size
    checksum.c: In function `getData':
    checksum.c:825: warning: cast from pointer to integer of different size
    ltefera@JDIS-RPTS-TEST chksum$

    But this time it created the output file which I copied under $INFORMIXDIR/extend/checksum directory owned by informix. When I run the SQL file to register it, all the routines were created. The last statement failed with:

    • ** Load checksum libraries

    select checksum(1,1) from systables where tabid = 1;
    9793: User Defined Routine (checksum) module load failed.
    Error in line 105

    Near character position 8
    I don't had the file, ldd, or ls-l outputs but will ask for them today and reply.

    Thanks,
    Bill
  • SystemAdmin
    SystemAdmin
    1143 Posts

    Re: Error 9793 running select checksum(1,1) from systables where tabid = 1

    ‏2008-04-24T14:01:09Z  
    Hi,
    Actually I am an Informix engineer looking to help a customer.
    The platform is Red Hat Linux 4 (build 2.6.9-67)64bit.

    Customer did the following (sorry for the weird formatting)...
    $ gcc -m64 -shared -${INFORMIXDIR}/incl -c
    checksum.c -o checksum.64.so
    checksum.c: In function `accum_crc':
    checksum.c:108: warning: large integer implicitly truncated to unsigned
    type
    checksum.c: In function 'collection_checksum':
    checksum.c:591: warning: cast to pointer from integer of different size
    checksum.c:591: warning: cast from pointer to integer of different size
    checksum.c: In function 'row_checksum':
    checksum.c:664: warning: cast from pointer to integer of different size
    checksum.c: In function `getData':
    checksum.c:825: warning: cast from pointer to integer of different size
    ltefera@JDIS-RPTS-TEST chksum$

    But this time it created the output file which I copied under $INFORMIXDIR/extend/checksum directory owned by informix. When I run the SQL file to register it, all the routines were created. The last statement failed with:

    • ** Load checksum libraries

    select checksum(1,1) from systables where tabid = 1;
    9793: User Defined Routine (checksum) module load failed.
    Error in line 105

    Near character position 8
    I don't had the file, ldd, or ls-l outputs but will ask for them today and reply.

    Thanks,
    Bill
    Here is the ls -l output:

    -rwxr-xr-x 1 informix informix 13608 Apr 22 08:59 checksum.so

    an ldd checksum.so output:

    Says -- not a dynamic executable
  • andreasl
    andreasl
    369 Posts

    Re: Error 9793 running select checksum(1,1) from systables where tabid = 1

    ‏2008-04-24T15:07:42Z  
    Hi,
    Actually I am an Informix engineer looking to help a customer.
    The platform is Red Hat Linux 4 (build 2.6.9-67)64bit.

    Customer did the following (sorry for the weird formatting)...
    $ gcc -m64 -shared -${INFORMIXDIR}/incl -c
    checksum.c -o checksum.64.so
    checksum.c: In function `accum_crc':
    checksum.c:108: warning: large integer implicitly truncated to unsigned
    type
    checksum.c: In function 'collection_checksum':
    checksum.c:591: warning: cast to pointer from integer of different size
    checksum.c:591: warning: cast from pointer to integer of different size
    checksum.c: In function 'row_checksum':
    checksum.c:664: warning: cast from pointer to integer of different size
    checksum.c: In function `getData':
    checksum.c:825: warning: cast from pointer to integer of different size
    ltefera@JDIS-RPTS-TEST chksum$

    But this time it created the output file which I copied under $INFORMIXDIR/extend/checksum directory owned by informix. When I run the SQL file to register it, all the routines were created. The last statement failed with:

    • ** Load checksum libraries

    select checksum(1,1) from systables where tabid = 1;
    9793: User Defined Routine (checksum) module load failed.
    Error in line 105

    Near character position 8
    I don't had the file, ldd, or ls-l outputs but will ask for them today and reply.

    Thanks,
    Bill
    Hi Bill,

    can you try the following?

    gcc -shared -I${INFORMIXDIR}/incl checksum.c -fPIC -o checksum.so

    Regards,

    Andreas
  • SystemAdmin
    SystemAdmin
    1143 Posts

    Re: Error 9793 running select checksum(1,1) from systables where tabid = 1

    ‏2008-04-24T18:25:49Z  
    • andreasl
    • ‏2008-04-24T15:07:42Z
    Hi Bill,

    can you try the following?

    gcc -shared -I${INFORMIXDIR}/incl checksum.c -fPIC -o checksum.so

    Regards,

    Andreas
    That worked for the customer. She still has warnings but it works.
    Thanks!