MzScheme support on Windows is broken

85 views
Skip to first unread message

tux.

unread,
Sep 24, 2015, 7:20:40 PM9/24/15
to Vim_dev
I tried to compile Vim with Racket (Make_mvc.mak) and Visual Studio
2010. However, it seems that somewhere the path is not properly
escaped.

Racket is installed to C:\Program Files (x86)\Racket, I set LIBRACKET
to the correct version (3m_9yeyy0 currently, this is also a part of
the library's file name as intended). Then I tried to do this:

> nmake /C /S /f Make_mvc.mak CPU=i386 DEBUG=no SNIFF=yes
> FEATURES=HUGE MBYTE=yes CSCOPE=yes IME=yes GIME=yes GUI=yes OLE=no
> MZSCHEME="%PROGRAMFILES(X86)%\Racket" DYNAMIC_MZSCHEME=no
> MZSCHEME_MAIN_LIB=racket MZSCHEME_VER=%LIBRACKET%

However, it horribly fails:

> ...
> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\objidl.idl
> objidl.idl
> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.acf
> oaidl.acf
> Der Befehl "C:\Program" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
> NMAKE : U1077: "C:\Program": Rückgabe-Code "0x1"
> Stop.

Removing the MZSCHEME parameters fixed that issue. As other parameters
like LUA="%PROGRAMFILES(X86)%\Lua\" work, I guess something is broken
with the MzScheme/Racket integration here.

After a quick peek at the Make_mvc.mak, I added some quotation marks
around every occurrence of "$(MZSCHEME)" which fixed half of the
problems, however it still failed to link.

Investigating...

tux.

unread,
Sep 24, 2015, 7:35:41 PM9/24/15
to tux.
Attached is what I have yet. However, it still fails to compile; but
at least it finds my libraries yet.

Any help?
patch.diff

tux.

unread,
Sep 30, 2015, 3:14:19 PM9/30/15
to tux.
tux. schrob am Freitag, 25. September 2015 um 01:20 Zeit:
> --



--
Ridi Pagliaccio, sul tuo amore infranto! Ridi del duol che t'avvelena
il cor!

tux.

unread,
Sep 30, 2015, 3:14:33 PM9/30/15
to tux.
*bump*

Message has been deleted

tux.

unread,
Oct 3, 2015, 10:44:18 AM10/3/15
to Weiyong Mao
That does NOT work for me, I compile my Vim with VS2010...

Why doesn't it work with the default Racket distribution?

tux.

unread,
Oct 3, 2015, 6:23:54 PM10/3/15
to tux.
^ OK, I get the same problems with a VC2010 build of Racket. :-(

Help?

KF Leong

unread,
Oct 9, 2015, 3:46:01 AM10/9/15
to vim_dev
On Friday, September 25, 2015 at 7:20:40 AM UTC+8, tux. wrote:
> I tried to compile Vim with Racket (Make_mvc.mak) and Visual Studio
> 2010. However, it seems that somewhere the path is not properly
> escaped.
>
> Racket is installed to C:\Program Files (x86)\Racket, I set LIBRACKET
> to the correct version (3m_9yeyy0 currently, this is also a part of
> the library's file name as intended). Then I tried to do this:
>
I installed Racket to C:\Racket and set MZSCHEME="C:\Racket" and it compiles OK and linked. (Using VS 2010)

> > nmake /C /S /f Make_mvc.mak CPU=i386 DEBUG=no SNIFF=yes
> > FEATURES=HUGE MBYTE=yes CSCOPE=yes IME=yes GIME=yes GUI=yes OLE=no
> > MZSCHEME="%PROGRAMFILES(X86)%\Racket" DYNAMIC_MZSCHEME=no
> > MZSCHEME_MAIN_LIB=racket MZSCHEME_VER=%LIBRACKET%
>
> However, it horribly fails:
>
> > ...
> > Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\objidl.idl
> > objidl.idl
> > Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.acf
> > oaidl.acf
> > Der Befehl "C:\Program" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
> > NMAKE : U1077: "C:\Program": Rückgabe-Code "0x1"
> > Stop.
>
If MZSCHEME includes spaces, somehow the compilation fails...

Hope this helps.

KF

Tony Mechelynck

unread,
Oct 9, 2015, 4:43:33 AM10/9/15
to vim_dev
On Windows, it may sometimes help to enclose that kind of path in
double quotes; but often an even safer method is to bypass the
"spaces" problem entirely by replacing the problematic parts of the
path/filename by their 8.3 equivalents (at least on FAT filesystems;
I'm less familiar with the details of NTFS filesystems). If these
paths have indeed 8.3 equivalents, it may be easier for you to use
something like
C:\PROGRA~2\MICROS~1\Windows\v7.0A\include\objidl.idl
etc. — after making sure what exactly these equivalents are: Vim may
help you determine them, see
:help expand()
:help fnamemodify()
:help filename-modifiers
Such 8.3 names (PROGRA~2 and MICROS~1 in the example above) never
contain spaces.


Best regards,
Tony.

tux.

unread,
Oct 9, 2015, 2:57:52 PM10/9/15
to KF Leong
KF Leong schrob am Freitag, 9. Oktober 2015 um 09:46 Zeit:

> If MZSCHEME includes spaces, somehow the compilation fails...

My first patch fixes this, but I still get "C not defined" ... :-(

Reply all
Reply to author
Forward
0 new messages