Enrico Forestieri wrote:
Angus Leeming <[EMAIL PROTECTED]> writes:


Enrico Forestieri wrote:


Angus Leeming <leeming <at> ...> writes:


Enrico Forestieri wrote:

Hi all,

[snip]


The second problem is that, in cygwin, python.exe is a soft link to
the real program python2.4.exe and thus it is not recognized as an
executable.

So why would soft links exist? Or do they work from within a Cygwin
environment,but not within a Windows environment?

The Cygwin documentation says that "Cygwin uses a mechanism that creates
symbolic links that are compatible with standard Microsoft .lnk files",
but I would say "mostly" compatible. As an example, after
'ln -s test.tex zzz.tex' I can access the real file test.tex through the
soft link zzz.tex in an explorer window, but from a command line miktex
says that it cannot find zzz.tex. And now I have discovered that a soft
link to an executable is not recognized by the Windows cmd.exe.

Maybe you'll find this info, that Lior Silberman sent to me privately,
interesting:

On Sun, 12 Jun 2005, Angus Leeming wrote:

See this post
http://article.gmane.org/gmane.editors.lyx.devel/45730
for more cygwin experiences.

Thanks for the pointer, Angus.

However, I looked at this post, and it seems to be wrong to me. On my test system, windows is quite happy executing the symbolic link "c:\cygwin\bin\python.exe". The main problem is that since that is a cygwin program, it needs paths specified as /cygdrive/c/... rather than c:\... -- after I fixed that in the viewer definition it started running the clean_dvi.py script. The next hitch is the dv2dt and dt2dvp programs aren't installed here -- so I gave up for now. Instead I created a direct LaTeX->DVI conveter and I'll ignore the cleanup step for now.



Sorry for the late reply, but I am not subscribed to the list and missed
this post through the gmane interface.

Actually, when I try to execute python through the symlink in a *cmd.exe*
I get this kind of requester:

   --------------------------------------------------------
  | Sottosistema MS-DOS a 16 bit                         X |
|--------------------------------------------------------| | | | Prompt dei comandi - c:\cygwin\bin\python.exe | | La CPU NTVDM ha incontrato un'istruzione non valida. | | CS:06ea IP:21f1 OP:65 63 69 66 69 | | Scegliere "Chiudi" per terminare l'applicazione. | | | | ------ ------ | | |Chiudi| |Ignora| | | ------ ------ |
   --------------------------------------------------------

saying that the CPU has encountered an invalid instruction, which I took as
an indication that the file was not recognized as an executable.
The title of the requester refers to the "16 bit MS-DOS subsystem" and I have
no idea of what this means.

Early versions of Windows were built over MS-DOS and ran on processors that used 16 bit instructions. Recent versions are designed for processors with 32 bit instructions (hence are frequently referred to as "Win32") but retain backward compatibility with 16 bit programs, so as not to render older software totally obsolete. However, that backward compatibility is a bit spotty (even by Microsoft standards). When you run a 16 bit program in Win 2K or Win XP, it is actually run by something called the "16 bit subsystem".

I'm surprised, though, that Cygwin's python.exe would be a 16 bit executable. Unfortunately, while I have Cygwin installed on a Win 2K server, I don't have python installed. However, I created symbolic links to /cygwin/bin/bash.exe and /cygwin/bin/hostid.exe and had no trouble running them from a cmd window.

This is on Win2000, perhaps on WinXP it is
different, I don't know.

Possible but unlikely.

-- Paul

As noted in another post, Windows style paths are
not a problem with cygwin when properly quoted.

--
Enrico




Reply via email to