Rob,
Rob Arthan wrote:
As I am not using the X Windows support at the moment, everything is OK for me on Snow Leopard with Poly/ML at revision 881. However, configure is still not recognising that X is present as we discussed in:
http://lists.inf.ed.ac.uk/mailman/private/polyml/2009-September/000579.html
Quoting that message:
One thing that won't hurt me at the moment, but may affect other users is that the configure script is not finding the X Windows installation that comes with MacOS X. As far as I can see this is just because the test it uses needs to specify -L/usr/X11R6/lib.
configure.ac uses the AC_PATH_X macro to set the include and library path. I can't find /usr/X11R6/lib hardcoded anywhere. See http://www.gnu.org/software/autoconf/manual/html_node/System-Services.html I don't know why this isn't working.
The link I sent says:
? Macro: AC_PATH_X
Try to locate the X Window System include files and libraries. If the user gave the command line options --x-includes=dir and --x-libraries=dir, use those directories.
If either or both were not given, get the missing values by running xmkmf (or an executable pointed to by the XMKMF environment variable) on a trivial Imakefile and examining the makefile that it produces. Setting XMKMF to ?false? disables this method.
If this method fails to find the X Window System, configure looks for the files in several directories where they often reside. If either method is successful, set the shell variables x_includes and x_libraries to their locations, unless they are in directories the compiler searches by default.
If both methods fail, or the user gave the command line option --without-x, set the shell variable no_x to ?yes?; otherwise set it to the empty string.
Did you look at xmkmf to see what it was producing? The configure script does essentially the following:
mkdir tempdir cd tempdir mkdir conftest.dir tr '#' '\t' <<'EOF' >Imakefile incroot: #@echo incroot='${INCROOT}' usrlibdir: #@echo usrlibdir='${USRLIBDIR}' libdir: #@echo libdir='${LIBDIR}' EOF xmkmf make incroot make usrlibdir make libdir
On my machine that produces: david@dunedin:/tmp/tempdir$ make incroot incroot=/usr/include david@dunedin:/tmp/tempdir$ make usrlibdir usrlibdir=/usr/lib david@dunedin:/tmp/tempdir$ make libdir libdir=/usr/lib/X11
Could you run this on your machine and see what it says?
I have also tried revision 882 on Ubuntu 8.04 running on a 32 bit Pentium. That's OK for ProofPower, but there is a different problem with the X Window support. configure does detect X, but if I use --with-x, the compilation fails as follows:
Error- in 'mlsource/extra/XWindows/ml_bind.ML', line 2447. Value or constructor (PrettyString) has not been declared in structure PolyML Found near let val R = DestructRect(r) in PolyML.PrettyString(^( "Rect ", ...(...))) end Error- in 'mlsource/extra/XWindows/ml_bind.ML', line 2450. Value or constructor (addPrettyPrinter) has not been declared in structure PolyML Found near let open XWindows; fun ...(...) = let ... in ... end in PolyML.addPrettyPrinter(printRect) end mlsource/extra/XWindows was not declared make[2]: *** [polyexport.o] Error 1 make[2]: Leaving directory `/home/rda/poly/latest/polyml/polyml' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/rda/poly/latest/polyml/polyml' make: *** [all] Error 2
It was trying to install a pretty printer for the XRectangle type. I've commented it out, at least for the moment so it should build on both 5.2 and 5.3. I don't know if that's something you use.
Regards, David