Skip to main content

[archive] Calling C routines

  • September 22, 2008
  • 5 replies
  • 0 views

[Migrated content. Thread originally posted on 19 September 2008]

Not real familar with AcuCobol; I have the following initial statements in
my AcuCobol program (per AcuCorp)

CALL "/opt/eloquence6/lib/pa20_64/libeqdb.sl".
CALL "/opt/eloquence6/lib/pa20_64/libimage3k.sl".
CALL "/opt/eloquence6/lib/pa20_64/libfwutil.sl".
CALL "/opt/allegro/intrinsix/intrinsix.64.sl".
CALL "/opt/sp2/sp2tc.so".

AcuCorp says that the above statement are needed to link each library.
I keep getting the following runtime error:


*==========================================
| |
| /opt/sp2/sp2tc.so: Not a COBOL program |
| COBOL error at 000028 in mig711rs |
| ("MIG711RS.CBL", line 2013) |
| |
| |
| |
------------------------------------------

I have searched all the manuals, and searched the internet, nothing!
Can Anyone point me in the right direction?

5 replies

[Migrated content. Thread originally posted on 19 September 2008]

Not real familar with AcuCobol; I have the following initial statements in
my AcuCobol program (per AcuCorp)

CALL "/opt/eloquence6/lib/pa20_64/libeqdb.sl".
CALL "/opt/eloquence6/lib/pa20_64/libimage3k.sl".
CALL "/opt/eloquence6/lib/pa20_64/libfwutil.sl".
CALL "/opt/allegro/intrinsix/intrinsix.64.sl".
CALL "/opt/sp2/sp2tc.so".

AcuCorp says that the above statement are needed to link each library.
I keep getting the following runtime error:


*==========================================
| |
| /opt/sp2/sp2tc.so: Not a COBOL program |
| COBOL error at 000028 in mig711rs |
| ("MIG711RS.CBL", line 2013) |
| |
| |
| |
------------------------------------------

I have searched all the manuals, and searched the internet, nothing!
Can Anyone point me in the right direction?
Well, it looks like the Eloquence libraries are being loaded as the error is occuring on sp2.

CALL "/opt/sp2/sp2tc.so

Is sp2tc.so in the /opt/sp2/ directory?

Does this directoy have similar permissionas the /opt/allegro/intrinsix directory?

Notice that the other shared libraries have an extension of .sl whereas the sp2tc has an extension of .so.

Are you certain that the sp2 shared library was made for this particular environment?

Are you using the SHARED_LIBRARY_EXTENSION runtime configuration variable? Since you may have a mix of .sl and .so shared libraries, you may need to use a set environment to set it to .sl and then set it to .so for the sp2 shared library.

Consider using the runtime configuration variable SHARED_LIBRARY_LIST

[Migrated content. Thread originally posted on 19 September 2008]

Not real familar with AcuCobol; I have the following initial statements in
my AcuCobol program (per AcuCorp)

CALL "/opt/eloquence6/lib/pa20_64/libeqdb.sl".
CALL "/opt/eloquence6/lib/pa20_64/libimage3k.sl".
CALL "/opt/eloquence6/lib/pa20_64/libfwutil.sl".
CALL "/opt/allegro/intrinsix/intrinsix.64.sl".
CALL "/opt/sp2/sp2tc.so".

AcuCorp says that the above statement are needed to link each library.
I keep getting the following runtime error:


*==========================================
| |
| /opt/sp2/sp2tc.so: Not a COBOL program |
| COBOL error at 000028 in mig711rs |
| ("MIG711RS.CBL", line 2013) |
| |
| |
| |
------------------------------------------

I have searched all the manuals, and searched the internet, nothing!
Can Anyone point me in the right direction?
Well, it looks like the Eloquence libraries are being loaded as the error is occuring on sp2.

CALL "/opt/sp2/sp2tc.so

Is sp2tc.so in the /opt/sp2/ directory?

Does this directoy have similar permissionas the /opt/allegro/intrinsix directory?

Notice that the other shared libraries have an extension of .sl whereas the sp2tc has an extension of .so.

Are you certain that the sp2 shared library was made for this particular environment?

Are you using the SHARED_LIBRARY_EXTENSION runtime configuration variable? Since you may have a mix of .sl and .so shared libraries, you may need to use a set environment to set it to .sl and then set it to .so for the sp2 shared library.

Consider using the runtime configuration variable SHARED_LIBRARY_LIST

[Migrated content. Thread originally posted on 19 September 2008]

Not real familar with AcuCobol; I have the following initial statements in
my AcuCobol program (per AcuCorp)

CALL "/opt/eloquence6/lib/pa20_64/libeqdb.sl".
CALL "/opt/eloquence6/lib/pa20_64/libimage3k.sl".
CALL "/opt/eloquence6/lib/pa20_64/libfwutil.sl".
CALL "/opt/allegro/intrinsix/intrinsix.64.sl".
CALL "/opt/sp2/sp2tc.so".

AcuCorp says that the above statement are needed to link each library.
I keep getting the following runtime error:


*==========================================
| |
| /opt/sp2/sp2tc.so: Not a COBOL program |
| COBOL error at 000028 in mig711rs |
| ("MIG711RS.CBL", line 2013) |
| |
| |
| |
------------------------------------------

I have searched all the manuals, and searched the internet, nothing!
Can Anyone point me in the right direction?
Well, it looks like the Eloquence libraries are being loaded as the error is occuring on sp2.

CALL "/opt/sp2/sp2tc.so

Is sp2tc.so in the /opt/sp2/ directory?

Does this directoy have similar permissionas the /opt/allegro/intrinsix directory?

Notice that the other shared libraries have an extension of .sl whereas the sp2tc has an extension of .so.

Are you certain that the sp2 shared library was made for this particular environment?

Are you using the SHARED_LIBRARY_EXTENSION runtime configuration variable? Since you may have a mix of .sl and .so shared libraries, you may need to use a set environment to set it to .sl and then set it to .so for the sp2 shared library.

Consider using the runtime configuration variable SHARED_LIBRARY_LIST

[Migrated content. Thread originally posted on 19 September 2008]

Not real familar with AcuCobol; I have the following initial statements in
my AcuCobol program (per AcuCorp)

CALL "/opt/eloquence6/lib/pa20_64/libeqdb.sl".
CALL "/opt/eloquence6/lib/pa20_64/libimage3k.sl".
CALL "/opt/eloquence6/lib/pa20_64/libfwutil.sl".
CALL "/opt/allegro/intrinsix/intrinsix.64.sl".
CALL "/opt/sp2/sp2tc.so".

AcuCorp says that the above statement are needed to link each library.
I keep getting the following runtime error:


*==========================================
| |
| /opt/sp2/sp2tc.so: Not a COBOL program |
| COBOL error at 000028 in mig711rs |
| ("MIG711RS.CBL", line 2013) |
| |
| |
| |
------------------------------------------

I have searched all the manuals, and searched the internet, nothing!
Can Anyone point me in the right direction?
Thanks for the info, I am going to look into the SHARED_LIBRARY_EXTENSION variable. Since my original post I've found out that the runcbl (Run-Time) is 64 bit, as is the Eloquence and intrinsix libraries, but the sp2tc.so is 32 bit. Could this cause the error? I am getting the 64 bit gcc compiler installed today, and then I'll rebiuld the sp2tc.so...

Thanks for the info,
Mike.

[Migrated content. Thread originally posted on 19 September 2008]

Not real familar with AcuCobol; I have the following initial statements in
my AcuCobol program (per AcuCorp)

CALL "/opt/eloquence6/lib/pa20_64/libeqdb.sl".
CALL "/opt/eloquence6/lib/pa20_64/libimage3k.sl".
CALL "/opt/eloquence6/lib/pa20_64/libfwutil.sl".
CALL "/opt/allegro/intrinsix/intrinsix.64.sl".
CALL "/opt/sp2/sp2tc.so".

AcuCorp says that the above statement are needed to link each library.
I keep getting the following runtime error:


*==========================================
| |
| /opt/sp2/sp2tc.so: Not a COBOL program |
| COBOL error at 000028 in mig711rs |
| ("MIG711RS.CBL", line 2013) |
| |
| |
| |
------------------------------------------

I have searched all the manuals, and searched the internet, nothing!
Can Anyone point me in the right direction?
The 64 bit runtime should be able to call 32 bit code, but that also relies on the operating systems support. Making it a 64 bit shared library may help.