[MLton-user] FreeBSD building problems + known errors question

Stephen Weeks MLton-user@mlton.org
Wed, 29 Dec 2004 12:38:40 -0800


> First question is: as far as I understand, MLTon is written using C,  
> and after that I can't understand this comment inside Makefile:
> =======================================================
> # Because MLton is written in SML, it needs an SML compiler to build.
> # It is easiest to use another (earlier) binary version of MLton as
> # the SML compiler.  So, this Makefile fetches and installs an
> # alread-built version of MLton, BOOT_DIST, to use for bootstrapping.
> =======================================================
> 
> or I understand something wrong?

You understand wrong.  The comment is correct.  MLton is written in
SML and requires itself to build.

> Another one question: if port for FreeBSD already exist, why do not  
> send it to the mainstream ports tree?

I am not a FreeBSD expert, but as far as I understand, (an older
version of) MLton is there.

	http://www.freebsd.org/cgi/ports.cgi?query=mlton&stype=all

We are working on getting our latest release in.

> Third question/problems: I make directory /usr/ports/lang/mlton, copy  
> freebsd files there and after let's see for the results:
...
>  >> Attempting to fetch from http://www.mlton.org/download/.
> grep: /usr/ports/lang/mlton/distinfo: No such file or directory
> fetch: http://www.mlton.org/download/mlton-20040623-1.i386-freebsd.tbz:  
> Moved Permanently
...
> It seems to be a lot of the dead-links at the Makefile...

Yes.  We recently reorganized the web site, and although I added
redirects (see the "Moved Permanently") to point old links to the new
ones, the FreeBSD fetch program appears not to follow them.  The only
fix is to change the MASTER_SITES in the Makefile (we have done so in
our CVS).

> And I wonder why I have no chanses to compile MLTon on FreeBSD without  
> some specific Makefile... No "INSTALL" file inside distribution, no  
> installation procedure at the main site.

We are currently working on improving our FreeBSD packaging (including
fixing the dead links and getting the new release).  See the recent
thread

	http://mlton.org/pipermail/mlton/2004-December/016982.html

Hopefully these issues will get sorted out soon.

> I also try to build it on my Mac OS X (10.3) machine:
...
> Karlson:~/mlton-20041109 xlex$ make all-no-docs
...
> platform/darwin.h:26:36: /usr/local/include/gmp.h: No such file or 
...
> Another one question: why I need Hevea (Latex to HTML translator),  
> which is builded using OCaml, and so I need to build Ocaml, for just a  
> translator... Isn't it too complex?

Yes.  We used to write our documentation in LaTeX and so needed HeVeA.
That complexity will go away with our next release, as all our
documentation will come from our wiki.  In the meantime, you did the
best possible thing, using "make all-no-docs".

The other error (gmp.h: No such file) arises because building MLton
requires the GnuMP library.  On platforms where we use the packaging
system (like RedHat, Debian, FreeBSD) we express that using a build
dependency.  On other platforms (Cygwin, Darwin, ...) where we just
use a tgz, you must build/install the GnuMP yourself.

I've added a note about this to 

	http://mlton.org/SelfCompiling

> It's also can be too hard for old computers to build it (my old PII
> 350 & 128Mb RAM still build OCaml, while I need SML).

There's nothing to be done about this.  You really need 512Mb RAM to
compile MLton with itself.

> At the site I meet several known bugs - does I understand right, that  
> they remain unfixed till now?

I assume you're referring to

	http://mlton.org/UnresolvedBugs

If so, yes, these are unfixed and will remain so.  But they are really
listed there in the interest of completeness -- you will find that
most or all other SML compilers suffer from these bugs (as well as
others).

> P.S. By the way, why "MLton is no longer hosted at SourceForge"?

Sourceforge didn't provide enough control over many things and also
had severe performance and correctness problems with its mailing lists
and CVS.