Jump to content


Click the link below to see the new game I'm developing!


Cleve Haynes

Member Since 02 Jun 2000
Offline Last Active Sep 29 2016 02:13 PM
-----

Posts I've Made

In Topic: Obscure question from the distant past

03 May 2010 - 06:06 AM

Hi Richard

Yes, it is semi-possible & I'm surprised you didn't notice it when you were working with us... :lol:

By setting up a specific terminal type in PROIV, you can force the type of tracing you are talking about.

All our background jobs start with:

PROTERM=LOGCRT;export PROTERM

LOGCRT is defined in $CRT like this:

[codebox]
Change @PRO4S14
03/05/10 Terminal Characteristics Attributes Definition NTL/C43/PTS_145
CRT Id: LOGCRT Desc: Log PRO Session to ASCII file Page 1 of 3

Characteristics Cursor Control Control Characters
--------------- ------------------------- ------------------
CRT Length: 19 Cursor Address Type: 04 Clr CRT: 20
CRT Width: 50 Cursor Address1: 200A Clr Line: 20
Attach Prtr: Cursor Address2: 20 Bell: 20
Detach Prtr: Atr Type: 4 Clr Type: 4 Bckspc: 20
V I D E O A T T R I B U T E S Erase:
---Attributes--- --------------Colors--------------
Blink: Foreground Background
Underline: Black:
Reverse: Blue:
Bold: Green:
Hidden: Cyan:
Normal: Red:
Atr Prefix: Magenta:
Atr Postfix: Brown:
Merge Atr Codes?: White:
Atr Occupy Space?: Color Prefix: Color Postfix:
Background Colors?: N Next Screen?:
DESCRIPTION OF CRT (38 CHARS. MAX.)
[/codebox]

You end up with a few blank lines between function names, but it's better than nothing.

Cheers,

Cleve

In Topic: v6 oracle error

01 November 2007 - 09:40 AM

Hi James

Do you have your LD_LIBRARY_PATH environment variable set correctly? Ie, is the path where libproivora10g.so lives set in your LD_LIBRARY_PATH?

If you look at the "runproiv" script in <proiv install dir>/virtual_machine, it sets the LD_LIBRARY_PATH. E.G:

#!/bin/ksh
   #
   check_file_in_named_path(){
	 TOKENS=`echo $2 | sed -e 's;:;;g'`
	 if [ -n "$TOKENS" ]; then
	   for i in $TOKENS; do
		 if [ -d "$i" ]; then
		   if [ -f "$i/$1" ]; then
			 return 1
		   fi
		 fi
	   done
	 fi
	 echo "A required library could not be found: $1"
	 exit 1
   }
   
   CDATE_50=Y
   DATE_SC_50=Y
   JAVA_HOME=/usr/opt/java142/jre
   LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/lib/alpha:/usr/proiv/6.1.13.0/virtual_machine/lib
   PROIV_HOME=/usr/proiv/6.1.13.0/virtual_machine
   PROPATH=/usr/proiv/6.1.13.0/virtual_machine/boots
   PRODATA=/usr/proiv/6.1.13.0/virtual_machine/boots
   PROTERM=GUIDEV
   #PROTERM=DECVT220
   PATH=/usr/proiv/6.1.13.0/virtual_machine:/sbin:/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/bin/X11:/usr/local:/usr/lo
   cal/bin
   PRORUNTYPE=DEV
   TP_ROLLBACK=N
   INFORMIXDIR=/usr/proiv/6.1.13.0/virtual_machine/boots
   export CDATE_50 DATE_SC_50 TP_ROLLBACK INFORMIXDIR
   export PROTERM PROPATH PRODATA PRORUNTYPE JAVA_HOME LD_LIBRARY_PATH PROIV_HOME
   cd $PROPATH
   check_file_in_named_path libcstubs.so $PROIV_HOME/lib
   check_file_in_named_path libextsub.so $PROIV_HOME/lib
   check_file_in_named_path libOraProCLogon2.so $PROIV_HOME/lib
   check_file_in_named_path libOraProCLogon.so $PROIV_HOME/lib
   check_file_in_named_path libp4core.so $PROIV_HOME/lib
   check_file_in_named_path libp4java.so $PROIV_HOME/lib
   check_file_in_named_path libp4serp.so $PROIV_HOME/lib
   check_file_in_named_path libp4ssoAPI.so $PROIV_HOME/lib
   check_file_in_named_path libToolbarsAndMenusModel.so $PROIV_HOME/lib
   
   MISSLIBS=`ldd /usr/proiv/6.1.13.0/virtual_machine/pro | grep "not found" | uniq | awk '{print $1;}'`
   if [ "$MISSLIBS" != "" ]; then
	 echo "A required library could not be found: $MISSLIBS"  
	 exit 1
   fi
   
   exec /usr/proiv/6.1.13.0/virtual_machine/pro $*

If it's not the LD_LIBRARY_PATH, it could also be some other environment variables or /etc/pro4v6.ini settings related to Oracle.

HTH's,

Cleve

In Topic: Version 6.1 status

21 September 2007 - 07:07 AM

Neil,

What platform/DB are you on? Did you run into any problems similar to Wim? Could you give us a heads up on the problems you did encounter?

2-3 days! Let us know.

What are you doing about the SL pieces - menus, layouts, etc.

Lew


Lew,

Its on Solaris and Oracle. Have had some issues with client and server side, some are still in progress so I don't know if the guys at Northgate would appreciate me discussing them until they have been resolved....

On the server side, it looks like 6.1.16 is the one to go for....

Superlayer conversion was done by Northgate....



Superlayer conversion? I guess that means you are now forced to use VIP. :x:

I don't envy you Neil. I can't bear the thought of going to 6.1 if we have to use VIP. (I find it amusing that it was renamed to "ProIV Developer" to remove the negativity associated in some circles).

Hopefully Rob will update his IDE soon to be 6.x compatible.

In Topic: Is proiv.com down?

27 June 2007 - 03:38 PM

It's working for me right now...

Cleve.

In Topic: How are you doing on Version 6

26 January 2007 - 02:26 PM

We had to convert all our 'C' routines that were linked into the Kernel to use the new shared library method, but this was not much of an effort.



How did you do this? We're facing the same task so any A&G would be appreciated.

Cheers

PS: I'm not part of the development team that will need to do this, but need some answers so I can suggest solutions to them.


Since I was the one that converted our C routines, I guess I should reply... :)

The new shared library method is probably one of the better things they have done in ProIV version 6.

It really is quite simple. It was probably more work for us as we had a custom makefile for compiling the C routines and linking them to the ProIV kernel. I had to totally rework this to generate extsub.so & cstubs.so instead of the "pro" kernel. But even this was just a matter of copying stuff from the new makefile provided.

However, if you haven't played with old kernlink script, it is trivial.

When ProIV is installed, this directory is created:

<installdir>/virtual_machine/lib/extsub
   
   with these files:
   -rwxrwxrwx   1 root	 system	  2467 Dec  1 13:36 cstubs.c
   -rwxrwxrwx   1 root	 system	 11718 Dec  1 13:36 extsub.c
   -rwxrwxrwx   1 root	 system	  1261 Dec  1 13:36 extsub.mk

(I love the default file permissions ProIV set on install :-" - will have to change these...)

Replace the cstubs.c & extsub.c from your previous ProIV version that contains all your C routines you call in ProIV.

Then, all you need to do (on most Unixes - some may need different compiler flags to create a shared library) is edit extsub.mk and uncomment these lines in the makefile:

#SHLIB_CFLAGS=-fPIC
 #SHLIB_LD=cc -shared
 #SHLIB_EXT=so
You can then create the shared library by running:

make -f extsub.mk

This creates libcstubs.so & libextsub.so

You then copy these to <installdir>/virtual_machine/lib and replace the ones that were already there.

And that's it.

Hope this helps,

Cleve

Click the link below to see the new game I'm developing!