[plt-scheme] Cygwin build trouble

From: Eric Hanchrow (offby1 at blarg.net)
Date: Tue Jul 5 23:47:44 EDT 2005

At Eli's suggestion, here's the state of the Cygwin build.

I'm using a fairly recent Cygwin, although I don't know of any way to
precisely specify what version I've got.

I pulled the mzscheme sources from subversion, and wound up with
revision 355.

I configured with

        $ ./configure --prefix=/usr/local/stow/plt

Then I cd'd to the src directory, and typed "make".

That failed in mred with

    g++    -o mred mrmain.o ../mzscheme/libmzscheme.a ../mzscheme/libmzgc.a mred.o mredx.o wxGC.o wxJPEG.o wxs/libwxscheme.a wxme/libwxme.a ../wxxt/src/libwx_xt.a ../wxxt/contrib/xpm/lib/libXpm.a ../wxxt/utils/image/src/libimage_xt.a     -lXaw -lXmu -lXt -lX11 -lXext  -lpng -lz -ljpeg -lm  -liconv -lm  gmzwin.exp 
    g++: gmzwin.exp: No such file or directory

I only later realized that the README indeed says that mred doesn't
build.  But I guess I expected the Makefile to not even bother trying,
rather than trying and failing.  Oh well; no harm done.

Now I tried "make mzinstall":

    make[2]: Entering directory `/usr/local/src/plt-scheme/src/mzscheme'
    cd ..; rm -f /usr/local/stow/plt/mzscheme.exe
    cd ..; cp mzscheme/mzscheme.exe /usr/local/stow/plt/mzscheme.exe
    cp: cannot create regular file `/usr/local/stow/plt/mzscheme.exe': No such file or directory

Grr.  OK, I'll create /usr/local/stow/plt by hand.  But I must say, I
expected the Makefile to create that directory for me, since most
(every?) other package that uses autoconf does so.

After creating the directory, "make mzinstall" gets further:

    make[3]: Leaving directory `/usr/local/src/plt-scheme/src/mzscheme/dynsrc'
    cd ..; cp mzscheme/mzstart.exe `(cd /usr/local/stow/plt; pwd)`/collects/launcher/mzstart.exe
    cp: cannot create regular file `/usr/local/stow/plt/collects/launcher/mzstart.exe': No such file or directory

Same workaround: create the directory by hand.  This time "make
mzinstall" finishes.

Now to run "mzscheme.exe -mvqM- setup", from the plt directory, as the
README says.  

    setup-plt:   C:\cygwin\usr\local\src\plt-scheme\collects
    setup-plt: Pre-Installing Plot library
    plot: compiling "all" -> "C:\cygwin\usr\local\src\plt-scheme\collects/plot/compiled\native\win32\i386\libplplot.dll"...
        Compiling "all"
    "adler32.c": 
     [?,?]: Error:  C compiler did not complete successfully
    compile-extension: 
    gcc: /DHAVE_LIBPNG: No such file or directory
    gcc: /DPLD_png: No such file or directory

That looks bad.  But the build didn't stop, so perhaps it's not
important ... ?  Looks like it's trying to pass MSVC-style switches
(i.e., switches that begin with a slash, instead of a hyphen) to the
Cygwin gcc.

Scrolling down to the end of the output, to see if it worked:

    setup-plt: Updating C:\cygwin\usr\local\src\plt-scheme\collects\info-domain\compiled\cache.ss
    setup-plt: Installing MzScheme launcher C:\cygwin\usr\local\src\plt-scheme\mzc.exe
    make-embedding-executable: can't find MzScheme executable

There are a ton of similar messages.  I wonder why the build didn't
just stop after the first one ...

I think I'm stuck at this point.  For lack of anything better to do, I
tried running "./install" from the plt directory, but that merely died
like this:

    $ ./install
    install: cannot find the mzscheme executable
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!               Install incomplete!               !!
    !!                                                 !!
    !! If you downloaded the source distribution, see  !!
    !!        src/README for build instructions.       !!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

-- 
We don't know how to use the security and encryption features
of our e-mail server.  We are so confused that we cannot even be
certain that this e-mail was delivered to the proper person.  So,
if you received this e-mail because of our incompetence, please
delete it and notify us as soon as possible.  Notice that this is
being written in the most scary legalistic way, so no one notices
how incompetent we are.



Posted on the users mailing list.