jbase: DECATALOG or EB.COMPILE problem

1,586 views
Skip to first unread message

Igor Micev

unread,
Jul 2, 2010, 11:14:17 AM7/2/10
to jBASE
Hi All,
I need this immediately!

There is a routine MAP.MANAGER with duplicate executable

jsh T24MIG ~ -->jshow -c MAP.MANAGER
Executable: /cgl/t24mig/bnk.run/bin/MAP.MANAGER.so
jBC main() version 4.1 Fri Jul 2 16:57:31 2010
jBC main() source file MAPPING.BP
Executable (DUP!!): /cgl/t24mig/bnk.run/bin/MAP.MANAGER
jBC main() version 4.1 Fri Jul 2 16:57:31 2010
jBC main() source file MAPPING.BP

when i run it the first time it goes in DEBUG and continuing with Y
the routine ends, the second time i run it, there are no problems.

I make DECATALOG, log off and log in, and make EB.COMPILE again for
the routine and the same situation. In ./bin/ there are files
MAP.MANAGER, bin/MAP.MANAGER.so AND bin/MAP.MANAGER.so.el

This is case only for this routine, for other routines there are no
files with extensions .so and .so.sl

Can anyone suggest something how to resolve this problem?

Regards
Igor Micev

Pratosh

unread,
Jul 2, 2010, 6:09:05 PM7/2/10
to jBASE
Hi,
Try the following -

Check the jshow again and see if the DUP executable exists. If it does
and the output is the same as u provided, decatalog the routine two
times

jsh -> DECATALOG MAPPING.BP MAP.MANAGER (Twice)

Now check the jshow again. The output should be null.

Now, try cataloging the routine again using EB.COMPILE and execute it.
Hope it helps.

Pawel (privately)

unread,
Jul 2, 2010, 4:20:13 PM7/2/10
to jb...@googlegroups.com
Igor,

I did not understand much from your post.

Please keep in mind that jBASE programs (since 4.1) are compiled to
excutable (../bin/MAP.MANAGER) and library (../bin/MAP.MANAGER.so) at
the same time.
This is done to improve performance of (other) jBASE programs.

I belive that when you use "EXECUTE 'MAP.MANGAGER'" in your jBASE
program shared library will be loaded and apropriate symbol from it
called. No (separate) process from OS point of view will be launched -
instead jBASE will launch thread for you (pthreads) and execute what you
asked. Remember that in such cases you can not observe library changes
untill logged off (you may compile as much you want ;)).

Binary program will only be called when you launch it via non EXECUTE
method (eg. from bash shell) or when you delete *.so/*.so.el files.
Changes are seen immediately (call it from other shell prompt please).

Hope this helps.

Kind regards
Pawel

Dnia 2-07-2010 o godz. 17:14 Igor Micev napisaďż˝(a):

> --
> Please read the posting guidelines at:
> http://groups.google.com/group/jBASE/web/Posting%20Guidelines
>
> IMPORTANT: Type T24: at the start of the subject line for questions
> specific to Globus/T24
>
> To post, send email to jB...@googlegroups.com
> To unsubscribe, send email to jBASE-un...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/jBASE?hl=en


Sudhakar-"Dare to Bare"

unread,
Jul 3, 2010, 10:37:02 PM7/3/10
to jb...@googlegroups.com
Hi,

  This issue is because of the PATH variable provided in the remote.cmd or .profile. Could you please send me the output of the following commands.


jsh ~>echo $PATH
jsh ~>echo $JBCDEV_BIN



Regards,
Sudhakar

On Sat, Jul 3, 2010 at 1:50 AM, Pawel (privately) <ppriv...@wp.pl> wrote:
Igor,

I did not understand much from your post.

Please keep in mind that jBASE programs (since 4.1) are compiled to
excutable (../bin/MAP.MANAGER) and library (../bin/MAP.MANAGER.so) at
the same time.
This is done to improve performance of (other) jBASE programs.

I belive that when you use "EXECUTE 'MAP.MANGAGER'" in your jBASE
program shared library will be loaded and apropriate symbol from it
called. No (separate) process from OS point of view will be launched -
instead jBASE will launch thread for you (pthreads) and execute what you
asked. Remember that in such cases you can not observe library changes
untill logged off (you may compile as much you want ;)).

Binary program will only be called when you launch it via non EXECUTE
method  (eg. from bash shell) or when you delete *.so/*.so.el files.
Changes are seen immediately (call it from other shell prompt please).

Hope this helps.

Kind regards
Pawel

Mohankumar Balasubramaniam

unread,
Jul 5, 2010, 2:04:42 AM7/5/10
to jb...@googlegroups.com
Hi,

Can you please send us the jidag output?
So that we can assist you.

Regards,
Mohan

Igor Micev

unread,
Jul 5, 2010, 3:11:14 AM7/5/10
to jBASE
Hi

jsh T24MIG ~ -->echo $PATH
/jb/bin:/jb/config:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/
sbin:/usr/java
14/jre/bin:/usr/java14/bin:.:/usr/local/bin:/cgl/t24mig/bnk.run/
globuspatchbin:/
cgl/t24mig/bnk.run/bin:/cgl/t24mig/bnk.run/globusbin:/usr/ccs/bin:/usr/
ucb
jsh T24MIG ~ -->
jsh T24MIG ~ -->echo $JBCDEV_BIN
/cgl/t24mig/bnk.run/bin
jsh T24MIG ~ -->

On Jul 4, 4:37 am, "Sudhakar-\"Dare to Bare\""

VK

unread,
Jul 6, 2010, 1:49:10 AM7/6/10
to jBASE
Hi Igor,
it's a program and therefore you can stop paying attention to "DUP"
stuff. It's the way it is.

About EB.COMPILE: it wouldn't compile anything with DEBUG in it unless
you specify -D (IIRC) switch and output is so sloppy you probably
wouldn't notice this error message.

Better use BASIC -IGLOBUS.BP MAPPING.BP MAP.MANAGER
and
CATALOG MAPPING.BP MAP.MANAGER

Anyway Temenos takes away the EB.COMPILE.

VK

Sudhakar-"Dare to Bare"

unread,
Jul 6, 2010, 12:41:08 AM7/6/10
to jb...@googlegroups.com
Hi,

   This .so and .so.l files will be created if the routine is a PROGRAM and it'll store its object code and the executable file in bin folder. If you write SUBROUTINE then it'll goto lib folder.

Now for your problem, it seems that  the program is not loaded properly. Definitely there'll be a dup(Executable file will always be in Dup). So please logout of the environment and login. Login and logout of T24 and then try to execute the program. It should work :)



Regards,
Sudhakar

Rashid K.P

unread,
Jul 6, 2010, 2:08:59 AM7/6/10
to jb...@googlegroups.com
HI Igor,

   I dont think there is any problem here.  Please read Pawel's  comment above in the thread..  when you compile a program in jbase release higher than 4.1 ,   a shared library file is created along with the executable binary .  The Dup which you are seeing is not an issue , it is how jbase treats programs.


Thanks and Regards,
Rashid

bw@ht

unread,
Jul 6, 2010, 6:52:47 PM7/6/10
to jBASE
While the jshow results may be normal, you still have a problem with
the debugger.

You didn't say exactly what the debugger message was. If you had a
Variable Not Assigned A Value that was in a named common block, the
program would not fault on the following runs if the prgram were
continued from the debugger. jBASE assign "0" to the unassigned
variable as they executes the faulted line and the variable will
remain assigned until tha particular named common is no longer defined
for that port. This can be really tough to figure out if your
executing environment filters out debugger messages before they get to
the users' screens.
> >http://groups.google.com/group/jBASE?hl=en- Hide quoted text -
>
> - Show quoted text -

Igor Micev

unread,
Jul 7, 2010, 10:48:07 AM7/7/10
to jb...@googlegroups.com
Hi and thank you ALL

The problem disappeared, but still didn't find out what was the problem.
However the jdiag output is:
jsh T24MIG ~ -->jdiag
        jdiag - jBASE diagnostic '$Revision: 1.13 $'

System Information
==================

System                      : AIX p570g 3.5 00C8DD9C4C00
OS Release                  : 5.3.0.0
UNIX User                   : T24MIG (uid 5029, euid 5029)
Tty name                    : /dev/pts/33
Time                        : Wed Jul  7 16:44:58 2010

Environment
===========

JBCPORTNO                   : Not Set
JBCRELEASEDIR               : '/jb'
JBCGLOBALDIR                : '/jb'
WARNING: JBCDATADIR is not set, Default '/jb/jbase_data'
WARNING: JBCDATADIR directory '/jb/jbase_data' not valid, error 2
WARNING: JBCDATADIR is subdirectory of JBCGLOBALDIR
HOME                        : '/cgl/t24mig/bnk.run'
JEDIFILEPATH                : '/cgl/t24mig/bnk.run'
JEDIFILENAME_MD             : '/cgl/t24mig/bnk.run/VOC'
JEDIFILENAME_SYSTEM         : '/jb/src/SYSTEM'
RELEASE Information         : Major 4.1 , Minor 5.17 , Patch 5690 (Change 52756)
Spooler dir (JBCSPOOLERDIR) : '/usr/jspooler'
JBCEMULATE                  : 'prime'
WARNING: Cannot access Executable path '/cgl/t24mig/bnk.run/globuspatchbin', err
or 2
WARNING: Cannot access Library path '/jb/jdk/jre/lib/platform', error 2
Object path (JBCOBJECTLIST) : '/cgl/t24mig/bnk.run/globuspatchlib:/cgl/t24mig/bn
k.run/lib:/cgl/t24mig/bnk.run/globuslib'
jBASE Compiler Run-time     : '/jb/config/system.properties'
jcompile.ccjbc              : 'gcc'
jcompile.ccjbc.options      : '-fPIC -w'
jcompile.cc                 : 'gcc'
jcompile.cc.options         : '-fPIC -w'
jcompile.cpp                : 'g++'
jcompile.cpp.options        : '-fPIC -w'
jcompile.ccslib             : 'gcc'
jcompile.ccslib.options     : '-shared -Wl,-brtl'
jcompile.ccexe              : 'gcc'
jcompile.ccexe.options      : '-shared -Wl,-brtl'
jcompile.output.file        : '-o'
jcompile.debug              : '-g'
jcompile.optimise           : '-O2'
jcompile.obj.extension      : '.o'
Program dir (JBCDEV_BIN)    : '/cgl/t24mig/bnk.run/bin'
Subroutine dir (JBCDEV_LIB) : '/cgl/t24mig/bnk.run/lib'
Max open files              : 65534

2010/7/7 bw@ht <bwi...@hytekfinishes.com>



--
Igor Micev
Reply all
Reply to author
Forward
0 new messages