Content-Type: multipart/alternative; boundary="------------080509080006090003010708" --------------080509080006090003010708 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable *N.B. *This thread has been transferred from the [RexxLA] mailing list=20 to the BSF4ooRexx list at the suggestion of RGF. It resumes: On 22-Feb-14 07:50, Rony G. Flatscher wrote: > great that you are putting your toes into new waters and trackle new=20 > frontiers! Inspired in large part by your excellent book, Rony. (Yes, I skipped=20 ahead to the "Reaching Out With ooRexx" chapter....) > * Is that a plain vanilla Windows system with the default > setup/shell that you are using (your $-prompt looks somewhat > Unix-like) ? > My Windows is plain vanilla Windows 8.1 64-bit, but I am using JP=20 Software's Take Command 16.0 (TCC), a replacement=20 command prompt --- which supports native Rexx scripting, and which I've=20 mentioned before on this list. I have tweaked my prompt to emulate the=20 Oh-My-Zsh "bira" prompt, but I do that with true vanilla CMD.EXE also,=20 like so: |REM Tidy up the prompt a bit (requires ANSI colors) prompt $e[1;32m$u@venus$s$e[1;35m$p$_$e[1;32m$$$s$e[m | > * Could you give the Windows version (and bitness) as well as the > Rexx version (and bitness)? Also, could you give the Java version > (and bitness)? > |$ rexx -v Open Object Rexx Version 4.1.1 Build date: May 16 2012 Addressing Mode: 64 $ java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) | > * Usually, after BSF4ooRexx got installed, you need to open a new > (command) shell in order to reflect the environment changes (PATH > and CLASSPATH). > That one bit me the last time I tried this, but believe me: I've even=20 rebooted once or twice since I installed BSF4ooRexx (not /because/ of=20 the installation, just part of my normal day-to-day operating=20 procedure). Each command line screen capture you see here is from a=20 fresh command prompt, and often from a clean boot as well. > * [Please note, that PATH on Windows is also used by Java to search > for dll files. Your error indicates, that Java was not able to > locate the proper dll.] > I had hoped that my screen captures would, er, "capture" that I was in=20 the BSF4ooRexx root directory, and a |DIR /S *.dll| found only two DLL=20 files, /both/ of which I tried --- using Ren=E9's suggestions (|set=20 java.library.path=3D| /and/ |rexx2j -Djava.library.path=3D| with the=20 complete path to the DLL). > * What surprises me is that your CLASSPATH got set by the > installation, wheras your PATH has not. > The BSF4ooRexx installation changed neither my |PATH| nor my=20 |CLASSPATH|. It looks now like it always does. Both are set as they are=20 in support of NetRexx. > * the batch file "rexxj2.cmd" which usually can only be found, if > PATH points to the BSF4ooRexx installation > Ah, but you see, I was *in* the BSF4ooRexx root directory the whole=20 time. My customized prompt string may have misled you: |Tom@venus c:\program files\bsf4oorexx $ | Which is (line 1) user/host and current directory prompt char. > * there should be no need to start Rexx scripts on Windows with > the batch file rexxj2.cmd at all, but if you want to do that, then > I would advise to use the generic "rexxj.cmd" > Ah, but you see /there is no |rexxj.cmd|/ anywhere in the BSF4ooRexx=20 directory tree: |$ dir /s /b rexxj* C:\Program Files\BSF4ooRexx\rexxj2-32.sh C:\Program Files\BSF4ooRexx\rexxj2-64.sh C:\Program Files\BSF4ooRexx\rexxj2.cmd C:\Program Files\BSF4ooRexx\rexxj2.sh C:\Program Files\BSF4ooRexx\Templates\RexxJavaScript (Rexx script using J= ava) executed by ooRexx.rxj | My |ds| alias is just a short form for |DIR /S /B|. > * If you run the Rexx scripts via rexx.exe, then the BSF4ooRexx > support will dynamically load Java behind the scenes, such that > the Rexx program can interact with Java. > Well, of course I tried that as well: |$ rexx samples\HelloWorld.rxj 450 *-* ::requires "BSF4ooRexx" library 89 *-* ::REQUIRES BSF.CLS -- get the Java support Error 98 running C:\Program Files\BSF4ooRexx\BSF.CLS line 450: Execution= error Error 98.903: Unable to load library "BSF4ooRexx" | Again, all these commands are issued *in the BSF4ooRexx root directory*. > to make a long story short, we need to look into your=20 > configuration...there is a logfile created in your home directory=20 > named "BSFooRexx.log" It is attached --- please note that I ran the installation several=20 times, and the log file is appended to rather than overwritten. You'll=20 see all the gory details. > From now on, I would suggest to move the discussion/analysis of your=20 > particular problem off this list and move it to the BSF4ooRexx support=20 > mailing list Naturally, I would have started this chat there, had I been aware of its=20 existence. I admit that the sad state of the BSF4ooRexx documentation=20 ultimately led me to abandon my earlier attempt(s). If I only knew... > Once we get BSF4ooRexx up and running on your system I'm pretty sure I was running Windows 7 when last I tried this. And that=20 configuration was even more pure vanilla than this one. I learned long=20 ago it is better that I adapt to the system's quirks than to force the=20 system to adapt to mine. In general, that policy has worked out well=20 over the years. The only "topping" on my Windows 8.1 vanilla is the addition of Take=20 Command ... and that primarily because it supports batch files written=20 in Rexx (oo/Regina, or Perl, Python, Tcl/Tk, and Lua). However, I could=20 easily drop into Windows PowerShell v4.0 instead (or even as a last=20 resort CMD.EXE). --------------080509080006090003010708 Content-Type: multipart/related; boundary="------------040209020102080403060804" --------------040209020102080403060804 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit

N.B. This thread has been transferred from the [RexxLA] mailing list to the BSF4ooRexx list at the suggestion of RGF.  It resumes:

On 22-Feb-14 07:50, Rony G. Flatscher wrote:

great that you are putting your toes into new waters and trackle new frontiers!

Inspired in large part by your excellent book, Rony. (Yes, I skipped ahead to the “Reaching Out With ooRexx” chapter….)

  • Is that a plain vanilla Windows system with the default setup/shell that you are using (your $-prompt looks somewhat Unix-like) ?

My Windows is plain vanilla Windows 8.1 64-bit, but I am using JP Software’s Take Command 16.0 (TCC), a replacement command prompt — which supports native Rexx scripting, and which I’ve mentioned before on this list. I have tweaked my prompt to emulate the Oh-My-Zsh “bira” prompt, but I do that with true vanilla CMD.EXE also, like so:

REM Tidy up the prompt a bit (requires ANSI colors)
prompt $e[1;32m$u@venus$s$e[1;35m$p$_$e[1;32m$$$s$e[m
  • Could you give the Windows version (and bitness) as well as the Rexx version (and bitness)? Also, could you give the Java version (and bitness)?

$ rexx -v
Open Object Rexx Version 4.1.1
Build date: May 16 2012
Addressing Mode: 64

$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
  • Usually, after BSF4ooRexx got installed, you need to open a new (command) shell in order to reflect the environment changes (PATH and CLASSPATH).

That one bit me the last time I tried this, but believe me: I’ve even rebooted once or twice since I installed BSF4ooRexx (not because of the installation, just part of my normal day-to-day operating procedure). Each command line screen capture you see here is from a fresh command prompt, and often from a clean boot as well.

  • [Please note, that PATH on Windows is also used by Java to search for dll files. Your error indicates, that Java was not able to locate the proper dll.]

I had hoped that my screen captures would, er, “capture” that I was in the BSF4ooRexx root directory, and a DIR /S *.dll found only two DLL files, both of which I tried — using René’s suggestions (set java.library.path= and rexx2j -Djava.library.path= with the complete path to the DLL).

  • What surprises me is that your CLASSPATH got set by the installation, wheras your PATH has not.

The BSF4ooRexx installation changed neither my PATH nor my CLASSPATH. It looks now like it always does. Both are set as they are in support of NetRexx.

  • the batch file "rexxj2.cmd" which usually can only be found, if PATH points to the BSF4ooRexx installation

Ah, but you see, I was in the BSF4ooRexx root directory the whole time. My customized prompt string may have misled you:

Tom@venus c:\program files\bsf4oorexx
$

Which is (line 1) user/host and current directory prompt char.

  •   there should be no need to start Rexx scripts on Windows with the batch file rexxj2.cmd at all, but if you want to do that, then I would advise to use the generic "rexxj.cmd"

Ah, but you see there is no rexxj.cmd anywhere in the BSF4ooRexx directory tree:

$ dir /s /b rexxj*
C:\Program Files\BSF4ooRexx\rexxj2-32.sh
C:\Program Files\BSF4ooRexx\rexxj2-64.sh
C:\Program Files\BSF4ooRexx\rexxj2.cmd
C:\Program Files\BSF4ooRexx\rexxj2.sh
C:\Program Files\BSF4ooRexx\Templates\RexxJavaScript (Rexx script using Java) executed by ooRexx.rxj

My ds alias is just a short form for DIR /S /B.

  • If you run the Rexx scripts via rexx.exe, then the BSF4ooRexx support will dynamically load Java behind the scenes, such that the Rexx program can interact with Java.

Well, of course I tried that as well:

$ rexx samples\HelloWorld.rxj
   450 *-* ::requires "BSF4ooRexx" library
    89 *-* ::REQUIRES BSF.CLS      -- get the Java support
Error 98 running C:\Program Files\BSF4ooRexx\BSF.CLS line 450:  Execution error
Error 98.903:  Unable to load library "BSF4ooRexx"

Again, all these commands are issued in the BSF4ooRexx root directory.

to make a long story short, we need to look into your configuration...there is a logfile created in your home directory named "BSFooRexx.log"

It is attached — please note that I ran the installation several times, and the log file is appended to rather than overwritten. You’ll see all the gory details.

From now on, I would suggest to move the discussion/analysis of your particular problem off this list and move it to the BSF4ooRexx support mailing list

Naturally, I would have started this chat there, had I been aware of its existence. I admit that the sad state of the BSF4ooRexx documentation ultimately led me to abandon my earlier attempt(s). If I only knew…

Once we get BSF4ooRexx up and running on your system

I’m pretty sure I was running Windows 7 when last I tried this. And that configuration was even more pure vanilla than this one. I learned long ago it is better that I adapt to the system’s quirks than to force the system to adapt to mine. In general, that policy has worked out well over the years.

The only “topping” on my Windows 8.1 vanilla is the addition of Take Command … and that primarily because it supports batch files written in Rexx (oo/Regina, or Perl, Python, Tcl/Tk, and Lua). However, I could easily drop into Windows PowerShell v4.0 instead (or even as a last resort CMD.EXE).

--------------040209020102080403060804 Content-Type: image/png; name="egihcadd.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="egihcadd.png" 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 --------------040209020102080403060804-- --------------080509080006090003010708--