WAD Support for Ruby 1.9.3

May 20, 2008
130
1
CA
The documentation says:
The Ruby language is not built into TCC, and must be obtained separately. The versions supported by TCC are Ruby 1.8 and 1.9 (free from www.ruby-lang.org ).

I have Ruby 1.9.3 Installed
ruby --version
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]

but when I try this in Take Command
echo %@RUBY[p "hello"]
TCC: (Sys) Could not load Ruby dll (msvcrt-ruby18.dll)
p "hello"

in my ruby installations bin directory I have:
dir /f d:\ruby193\bin\msvcrt*.dll
D:\ruby193\bin\msvcrt-ruby191.dll

I'm running:
TCC 13.03.46 Windows 7 [Version 6.1.7601]
TCC Build 46 Windows 7 Build 7601 Service Pack 1
Registered to Federico Romano - 1 System License


Am I missing something or is this not working?

TIA
- Federico
 

rconn

Administrator
Staff member
May 14, 2008
12,404
152
I REALLY hate it when developers change the names of their dlls for no reason ...

TCC is trying to load the Ruby dll like this:

if (( hRuby = LoadLibrary( _TEXT("msvcrt-ruby19.dll") )) == NULL ) {
if (( hRuby = LoadLibrary( _TEXT("msvcrt-ruby18.dll") )) == NULL ) {

Now it appears I'll have to add yet another LoadLibrary call for yet another meaningless name change. In the meantime, you can copy your msvcrt-ruby191.dll to msvcrt-ruby19.dll.
 
May 20, 2008
130
1
CA
When I do that and execute %@RUBY[p "hello"], tcc crashes and disappears with no .gpf file, here's the event info from Windows

Faulting application name: tcc.exe, version: 13.0.3.46, time stamp: 0x4f4853d0
Faulting module name: tcc.exe, version: 13.0.3.46, time stamp: 0x4f4853d0
Exception code: 0xc0000005
Fault offset: 0x0000327e
Faulting process id: 0x11618
Faulting application start time: 0x01cd1bfd38169787
Faulting application path: D:\JPSoft\version13\tcc.exe
Faulting module path: D:\JPSoft\version13\tcc.exe
Report Id: 9b00e83f-87f3-11e1-bc76-e4115b316f9e

as a workaround I'm using this in my script for now:

%@EXECSTR[ruby -e "p ENV['destinations'].split('/\s/').reverse.join(' ')"]
 
May 20, 2008
130
1
CA
I REALLY hate it when developers change the names of their dlls for no reason ...

TCC is trying to load the Ruby dll like this:

if (( hRuby = LoadLibrary( _TEXT("msvcrt-ruby19.dll") )) == NULL ) {
if (( hRuby = LoadLibrary( _TEXT("msvcrt-ruby18.dll") )) == NULL ) {

Now it appears I'll have to add yet another LoadLibrary call for yet another meaningless name change. In the meantime, you can copy your msvcrt-ruby191.dll to msvcrt-ruby19.dll.

Here's one more for you python 3.2.2 has a dll called python3.dll not python.dll :-(
 

rconn

Administrator
Staff member
May 14, 2008
12,404
152
I installed Ruby 1.9.3 and spent a couple of hours debugging. The Ruby developers did a pretty good job of breaking Windows compatibility with embedded Ruby in the 1.9.3 release. In addition to changing the dll name, they removed some (essential) internal functions and renamed some others. (And didn't document any of the changes!)

At the least, this is going to require a lot of custom code for 1.9.3, and I don't know if it's going to be possible to get it to work at all. In the interim, you could use the versions that are documented to work with Take Command.

(For Python, I'm already looking for python31.dll, python27.dll, python26.dll, and python25.dll.)
 
Similar threads
Thread starter Title Forum Replies Date
jwiede Is Ruby support EoL in "modern" TCC/TCmd? Support 1
Alpengreis (Internal) support for CPython v3.10? Support 2
Alpengreis Python support for 3.8.3 in TCC v26.x? Support 2
C How to? Mouse support in WSL when in Take Command Tab Support 2
N Python 3.8.2 Support in 26? Support 3
J How to? tty support in V25? Support 5
M QUERYBOX /L support seems to only partially work Support 2
rconn News Windows 7 Support Support 0
rconn Dropping Windows 7 support in Take Command / TCC v26 Support 8
rconn Dropping 32-bit support in Take Command & TCC? Support 14
Steve Pitts REXX support - order of selection Support 2
T @execstr unicode support Support 6
M Please explain TCMD's ANSI x3.64 support Support 4
D Theme support partially broken? Support 1
D xp support and multi-license Support 5
fpefpe Documentation Python support Support 11
Brian Woodward How to? Does FTP.CFG only support SSL over port 21? (Newbie) Support 6
M Documentation Q.Search doesn't support selection? Support 1
fpefpe How to? tcl support Support 8
epement File managers that support file descriptions Support 7
G Windows 10 support Support 3
Vasilich Does TakeCommand support projects? Support 2
fpefpe WAD Python support does not process command line Support 14
fpefpe How to? Script support Support 8
P Support for national letters in filenames in ftp operations Support 1
S GZIP support Support 1
S ZIP support in next version? Support 1
M TCC Unicode support? Support 7
S SELECT - does it support ranges? Support 2
thedave WebDAV support Support 2
fpefpe Rexx support Support 11
J Extended support Support 0
rconn Extended Support keys sent Support 0
p.f.moore TCMD v10 - Python support - use version 2.6? Support 2
R Customer support? Support 0
J x64 Support Support 13
K_Meinhard ISO 8601 support Support 16
E Shorter prompt / ANSI codes support Support 10
noahcoad @ruby closes console Support 2
H Ruby - Running External Ruby script crashes TCC Support 11
Timothy Byrd Direct execution of Ruby in TCC 9.02.146 Support 3

Similar threads