hi,
   For requirement,I write a jbase subroutine and two C program. They
are named VCHKXVERIFYPAYPWD.b, CTest.c and Simple.c . Their Logics are
that VCHKXVERIFYPAYPWD.b call CTest.c and CTest.c call Simple.c .
I use ksh script complie and link those .b and .c program. Ksh script
runs successfully.
After running ksh script, I use a jbase program 'TESTCHK' call
subroutine VCHKXVERIFYPAYPWD and error messge is thrown as the
following:

jBASE: /app/t24core/bnk/bnk.run/xllib/libdraft.so: rtld: 0712-001
Symbol STORE_BBS was referenced
      from module /app/t24core/bnk/bnk.run/xllib/libcipher.a(), but a
runtime definition
            of the symbol was not found.
rtld: 0712-002 fatal error: exiting.
 ** Error [ SUBROUTINE_CALL_FAIL ] **
Unable to perform CALL to subroutine VCHKXVERIFYPAYPWD , Line     3 ,
Source TESTCHK
Press C to continue or Q to quit
Trap from an error message, error message name = SUBROUTINE_CALL_FAIL
Source changed to .//TESTCHK

I'm troubled in this problem for three days. I try to solve this
problem,but it still is a puzzle. I think that maybe my ksh script is
incorrect or enviroment config configuration need be change.  I expect
to obtain your help.
My operator system is AIX 6.1.

*************************************************************************************************
ksh script Build6.ksh

cc -q64 -c Simple.c
jcompile -c CTest.c
xlc -G -q64 -qmkshrobj -o $JBCDEV_LIB/libshr1.so simple.o ctest.o
export LIBPATH=$PWD:$LIBPATH
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
export SHLIB_PATH=$PWD:$SHLIB_PATH
jcompile -Qs $JBCDEV_LIB/libdraft.sl -L. -lshr1 VCHKXVERIFYPAYPWD.b

=========================================================
VCHKXVERIFYPAYPWD.b

SUBROUTINE VCHKXVERIFYPAYPWD

        DEFC INT ABC(VAR,VAR)

        RETURN.CODE = -1
        R.ERROR.MSG = ''

        P1 = "hi test test"

        RETURN.CODE = ABC(P1, R.ERROR.MSG)
        CRT "RTN.MSG=" :R.ERROR.MSG
        CRT "RETURN.CODE=" :  RETURN.CODE
        RETURN
END

==========================================================

CTest.c

#include <jsystem.h>
#include <assert.h>
#include "stdhead.h"
#include "simple.h"
#define HOME "HOME"

#ifdef DPSTRUCT_DEF
#define JBASEDP     DPSTRUCT *dp,
#else
#define JBASEDP
#endif

INT32 ABC(JBASEDP VAR *param1, VAR *Result)
{
        INT32 ret;
        char *ptrParam1, *ptrResult;
        char aResult[11];
        ptrParam1 = (char *)CONV_SFB(param1);
        ptrResult = (char *)CONV_SFB(Result);
        ret = VerifyPayCodeAAA(ptrParam1, ptrResult);
        STORE_BBS(Result, ptrResult);
        return ret;

}

========================================================
source  Simple.c


#include "simple.h"
int VerifyPayCodeAAA(unsigned char* pClientPkg,unsigned char*
strErrmsg) {
        char *prtErrmsg;
        memcpy(strErrmsg, "hello, this is test", 30);
        STORE_BBS(strErrmsg, prtErrmsg);
        return 0;
}

=========================================================
source simple.h

int VerifyPayCodeAAA(unsigned char* pClientPkg,unsigned char*
strErrmsg);


==========================================================
source stdhead.h

#ifndef _STDHEAD_H_MYCM_DDM_19991014_
#define _STDHEAD_H_MYCM_DDM_19991014_

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <memory.h>
#include <time.h>
//#include <bool.h>
#include <errno.h>
#include <time.h>
#include <signal.h>
#include <unistd.h>
#include <termio.h>
#include <fcntl.h>

#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/sem.h>
#include <sys/types.h>
#include <sys/socket.h>

#include <netinet/in.h>
#include <arpa/inet.h>

#ifndef BYTE
typedef unsigned char BYTE;
#endif

#ifndef BOOL
typedef unsigned char BOOL;
#endif

typedef int                             SOCKET;
typedef unsigned int    UINT;
typedef unsigned char   UCHAR;
typedef unsigned short  WORD;
#endif

-- 
-- 
IMPORTANT: T24/Globus posts are no longer accepted on this forum.

To post, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en



Reply via email to