Expect. The request is not supported.

Posted by fancer.lancer on 2011-03-13 14:08
Forums: Expect discussion | OS: Windows x64

Hello, ActiveState community.
When I try to run my application with spawn method:
spawn ctatest.exe
I get the following error:

The request is not supported.
while executing
"spawn ctatest.exe"
(file "ctatest_5.tcl" line 9)

Could You please tell me, what can cause this error?
And what can I do for execution my application with "spawn" method?
Such error occured when I try to run, for example, "spawn dir".
My test script in attachment.
I use x86 version of ActiveTcl.

Thanks for the help, in advance.
P.S. Sorry for my english, I still learning.

ctatest_5.tcl_.tar_.gz268 bytes

ActiveState Staff
Mon, 2011-03-14 16:04

That error is not from Expect, it is given by the OS. You may be trying to control a 64-bit exe with a 32-bit Expect (that's not possible).

fancer.lancer | Tue, 2011-03-15 00:31

Thanks for reply, jeffh.

Yes, I try.
But how can I work with 64-bit application through Expect in Windows x64?
I have not found Expect in ActiveTcl x64.

ActiveState Staff
Tue, 2011-03-15 08:35

There is currently no 64-bit Windows Expect. You can download the sources if you wish to try building it.

fancer.lancer | Tue, 2011-03-15 10:54

Has he already ported to windows x64 platform? Will Expect work properly after build for windows x64?

rv | Thu, 2011-04-21 08:33

I have a Win 7 64 bit machine with telnet application enabled, and available at C:/Windows/System32/telnet.exe.
And this happens.
%spawn telnet 192.168.xxx.xxx
%The request is not supported.
I am using Tcl 8.4.19 for 32 bit with Expect (in my 64 bit machine).

1. Why does it say the request is not supported?
2. Will an updated version Tcl and teacup install expect help me use telnet without hassle?

Thanks in advance,

ActiveState Staff
Thu, 2011-07-21 09:05

Windows is throwing this error.

Expect is a 32-bit binary. 64-bit Windows will not support controlling a 64-bit binary from a 32-bit binary.

This is a known limitation on 32-bit Expect.

What you need is a 64-bit version of Expect, however that does not exist. It is unclear if a 64-bit version of Expect is even possible. Expect is a Unix program, and uses Unix concepts that Windows does not implement. The Windows version of Expect is a completely different program from the Unix version. Deep Windows magic was required to replicate an effect that Windows just doesn't do, and unfortunately, that bit of deep magic will not work on Windows 64-bit versions.