I just installed SUSE, and then ooRexx 4.0, followed by THE 3.2 for X11.
Rexx and THE work fine separately on this Linux distribution, but THE is not recognising that ooRexx is installed. At least that's what it seems like.
When I try to use a .rex macro (or .the) THE says something about using NOREXX with non-Rex macros -- I don't have any non-Rexx macros.
Can't find any mention of this in the documentation. What am I doing wrong?
This is what I installed, on a working SUSE system with working ooRexx:
"xthe" works fine, except for any ooRexx macros I try to run.
I downloaded openSUSE 11.1 and installed the same packages as you. Apart from the fact that the ooRexx install hangs on "Starting rxapi:", I simply ran xthe and ooRexx was available.
When you run xthe do you get "CT" displayed at the right of the bottom line? The "T" indicates that RexxTrans is supplying the interface to the Rexx interpreter and that a Rexx interpreter is available.
Try the following:
In a shell:
% export REXXTRANS_TRACEFILE=./log.log
% less log.log
Send me the contents of log.log. It should show the status of Rexx/Trans as it finds the Rexx interpreter and loads the Rexx API functions.
Thanks, Mark. Here's the log -- it seems to be looking for Regina . . .
Starting Rexx/Trans Version 1.8 15 Apr 2006
GenerateLibraryName(): Generated library name of "libregina.so".
FindInterpreter(): Attempting to load "libregina.so" using dlopen()...not found: No such file or directory
GenerateLibraryName(): Generated library name of "librexx.so".
FindInterpreter(): Attempting to load "librexx.so" using dlopen()...found oorexx
GenerateLibraryName(): Generated library name of "librexxapi.so".
rexx RexxStart: Address b7b13320
rexxapi RexxRegisterExitExe: Address b793c050
rexxapi RexxRegisterExitDll: Address b793c2d0
rexxapi RexxDeregisterExit: Address b793be00
rexxapi RexxQueryExit: Address b793bb70
rexxapi RexxRegisterSubcomExe: Address b793c120
rexxapi RexxDeregisterSubcom: Address b793bec0
rexxapi RexxRegisterSubcomDll: Address b793c3b0
rexxapi RexxQuerySubcom: Address b793bc50
rexxapi RexxRegisterFunctionExe: Address b793bf80
rexxapi RexxRegisterFunctionDll: Address b793c1f0
rexxapi RexxDeregisterFunction: Address b793bd30
rexxapi RexxQueryFunction: Address b793baa0
rexx RexxVariablePool: Address b7b12bd0
rexxapi RexxAllocateMemory: Address b793b730
rexxapi RexxFreeMemory: Address b793b700
rexxapi RexxCreateQueue: Address b793b5b0
rexxapi RexxDeleteQueue: Address b793b370
rexxapi RexxQueryQueue: Address b793b180
rexxapi RexxAddQueue: Address b793b050
rexxapi RexxPullQueue: Address b793c490
rexxapi RexxAddMacro: Address b793adb0
rexxapi RexxDropMacro: Address b793acf0
rexxapi RexxSaveMacroSpace: Address b793ab60
rexxapi RexxLoadMacroSpace: Address b793aa80
rexxapi RexxQueryMacro: Address b793a9b0
rexxapi RexxReorderMacro: Address b793a8f0
rexxapi RexxClearMacroSpace: Address b793ac40
rexx RexxSetHalt: Address b7b12dd0
rexx RexxWaitForTermination: Address b7b12b20
rexx RexxDidRexxTerminate: Address b7b12b30
rexxapi RexxCallBack: Address 0
rexx RexxSetTrace: Address b7b12d50
rexx RexxResetTrace: Address b7b12cd0
----------- Initialisation Complete - Program Execution Begins -----------
rexx RexxRegisterSubcomExe(): EnvName "THE" EntryPoint 80a2800 UserArea 0 <=> Result: 1002
Yes, Rexx/Trans first looks for Regina, then ooRexx. And according to the log it found ooRexx and successfully loaded all of the SAA API functions.
However according to the log, ooRexx cannot run RexxRegisterSubcomExe() and returns error 1002.
According to the ooRexx documentation this means that ooRexx cannot run RexxRegisterSubcomExe() due to lack of memory.
Based on what I've seen in the log this is an ooRexx problem, not a THE error.
How much memory do you have on this openSUSE system?
I forget to say -- the only character on the right of the bottom line is a C.
> Based on what I've seen in the log this is an ooRexx problem, not a THE error.
> How much memory do you have on this openSUSE system?
It has 512 MB. ooRexx seems to run fine as a stand-alone interpreter outside of THE.
But we know there's been at least one problem with ooRexx on openSUSE 11.1 (rxapi), so maybe this is another one. I'll take it over to the ooREXX forums. There's a guy over there apparently working on SUSE. Maybe he can help.
[By the way, I have THE working on another SUSE 11.1 machine, with Regina instead of ooRexx. That one has a 64-bit AMD processor, and 64-bit SUSE. I'm setting both of these machines up at the same time, and I thought I'd give Regina a try on one of them. To be honest, I rarely use any oo features in any case. Would I miss anything much if I switched to Regina completely?]
Apart from the ooRexx features then no I don't believe you would miss anything. If anything its probably a better long term investment using Regina. ooRexx 4.0.0 broke the SAA API sucj that you cannot build THE against ooRexx 4.0.0. ooRexx 4.0.0 also introduced a new API which may replace the SAA API in future versions. This would mean that THE and all my other function packages would need to be rewritten to support ooRexx; something I do not have time to do.
So basically it is likely that in future only Regina would be a supported Rexx interpreter for THE and my other function packages.
OK. I installed Regina on this 32-bit machine, and it seems to work with THE.
But I got some dependency messages and overrode them (same on the 64-bit machine). Will this cause me any problems?
[11:05:39 ~/download/THE]> sudo rpm -ivh Regina-REXX-3.4-1.i386.rpm
error: Failed dependencies:
libregina.so is needed by Regina-3.4-1.i386
libregina.so(REXXSAA_API) is needed by Regina-3.4-1.i386
libregina.so(regina_2.0) is needed by Regina-3.4-1.i386
[11:06:05 ~/download/THE]> sudo rpm -ivh --nodeps Regina-REXX-3.4-1.i386.rpm
Preparing... ########################################### [100%]
1:Regina ########################################### [100%]
[11:17:18 ~]> rexx oortry.rex
09/08/29 11:17:39 REXX-Regina_3.4 5.00 30 Dec 2007 UNIX COMMAND /home/weyland/oortry.rex
No, the dependency problems are just with the Regina RPM that indicates that Regina is dependent on itself. Won't cause any problem at all.
Log in to post a comment.