Debian Bug report logs - #220046
mlton: Build-Depends on itself

version graph

Package: mlton; Maintainer for mlton is Wesley W. Terpstra (Debian) <terpstra@debian.org>; Source for mlton is src:mlton.

Reported by: Roland Stigge <stigge@antcom.de>

Date: Mon, 10 Nov 2003 21:33:02 UTC

Severity: wishlist

Tags: wontfix

Found in version 20030716-1

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Stephen Weeks <sweeks@sweeks.com>:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to Roland Stigge <stigge@antcom.de>:
New Bug report received and forwarded. Copy sent to Stephen Weeks <sweeks@sweeks.com>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Roland Stigge <stigge@antcom.de>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: mlton: Build-Depends on itself
Date: Mon, 10 Nov 2003 22:20:38 +0100
Package: mlton
Version: 20030716-1
Severity: important

Hi,

when a package Build-Depends on itself, it can't really "build from
source".

This is possibly a serious bug, but I'm aware that Policy doesn't
explicitly forbid Build-Depending on itself.

In the docs there is mentioned that one could build MLton with SML/NJ,
but the Debian package smlnj seems to have the same problem. Maybe the
solution of the similar problem with SML/NJ can solve this bug too.

Thanks for considering.

bye,
  Roland

-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux atari 2.4.20 #1 Fri Apr 4 11:15:24 CEST 2003 i686
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (ignored: LC_ALL set to en_GB.UTF-8)

Versions of packages mlton depends on:
ii  libc6                       2.3.2.ds1-10 GNU C Library: Shared libraries an
ii  libgmp3-dev                 4.1.2-3      Multiprecision arithmetic library 

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Stephen Weeks <sweeks@sweeks.com>:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to MLton@mlton.org:
Extra info received and forwarded to list. Copy sent to Stephen Weeks <sweeks@sweeks.com>. Full text and rfc822 format available.

Message #10 received at 220046@bugs.debian.org (full text, mbox):

From: Stephen Weeks <sweeks@sweeks.com>
To: Roland Stigge <stigge@antcom.de>, 220046@bugs.debian.org
Cc: MLton@mlton.org
Subject: Bug#220046: mlton: Build-Depends on itself
Date: Mon, 10 Nov 2003 15:58:40 -0800
Hi Roland.  Thanks for the bug report.

> when a package Build-Depends on itself, it can't really "build from
> source".

MLton can be built from source with a binary version of an SML
compiler.  To me, as long as that SML compiler is not the version of
MLton that is being built, then MLton is being built from source.  The
only SML compiler suitable for bootstrapping MLton at the moment is
another (possibly older) version of MLton.  That MLton can be built
with an older version of itself eliminates the problem.  The situation
is not unlike that of gcc, which requires another (possibly older)
binary version of gcc to build.

> In the docs there is mentioned that one could build MLton with SML/NJ,
> but the Debian package smlnj seems to have the same problem. Maybe the
> solution of the similar problem with SML/NJ can solve this bug too.

It would be nice if other SML compilers could be used to bootstrap
MLton.  But, unfortunately it's not feasible.  Building MLton with
SML/NJ isn't too bad.  But using that version to bootstrap a
self-compiled version of MLton is not practical because the version of
MLton compiled by SML/NJ runs *much* more slowly than the version
compiled by MLton.  I assume the same would be true if someone went to
the (substantial) effort required to port MLton to other SML
compilers.

> This is possibly a serious bug, but I'm aware that Policy doesn't
> explicitly forbid Build-Depending on itself.

In my opinion, this is not a bug.  It is a (possible) consequence of
building a self-hosting compiler.  So, would you rather I close the
bug or change its severity to wishlist?  Or do you have other ideas?





Information forwarded to debian-bugs-dist@lists.debian.org, Stephen Weeks <sweeks@sweeks.com>:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to Roland Stigge <stigge@antcom.de>:
Extra info received and forwarded to list. Copy sent to Stephen Weeks <sweeks@sweeks.com>. Full text and rfc822 format available.

Message #15 received at 220046@bugs.debian.org (full text, mbox):

From: Roland Stigge <stigge@antcom.de>
To: MLton@mlton.org
Cc: 220046@bugs.debian.org
Subject: Re: Bug#220046: mlton: Build-Depends on itself
Date: Tue, 11 Nov 2003 11:38:08 +0100
[Message part 1 (text/plain, inline)]
On Tue, 2003-11-11 at 00:58, Stephen Weeks wrote:
> The situation is not unlike that of gcc, which requires another
> (possibly older) binary version of gcc to build.

Right. But unlike the situation of gcc, we have a solution to the
problem.

> > In the docs there is mentioned that one could build MLton with SML/NJ,
> > but the Debian package smlnj seems to have the same problem. Maybe the
> > solution of the similar problem with SML/NJ can solve this bug too.
> 
> It would be nice if other SML compilers could be used to bootstrap
> MLton.  But, unfortunately it's not feasible.  Building MLton with
> SML/NJ isn't too bad.  But using that version to bootstrap a
> self-compiled version of MLton is not practical because the version of
> MLton compiled by SML/NJ runs *much* more slowly than the version
> compiled by MLton.

Fortunately, no autobuilders would be stressed for that because mlton is
just "Architecture: i386" and you can do it on your development machine
(and uploads don't seem to be too often).

I think it's worth it. Remember that ideally, we can build _most_ of
Debian from source (by bootstrapping just from a small build environment
that would need mlton otherwise).

> > This is possibly a serious bug, but I'm aware that Policy doesn't
> > explicitly forbid Build-Depending on itself.
> 
> In my opinion, this is not a bug.  It is a (possible) consequence of
> building a self-hosting compiler.  So, would you rather I close the
> bug or change its severity to wishlist?  Or do you have other ideas?

smlnj seems to be in a good shape soon, so please consider my
suggestions. If you don't see it important enough, feel free to lower
the severity yourself (to wait for others to rise it again ;).

bye,
  Roland
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to Stephen Weeks <sweeks@sweeks.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #20 received at 220046@bugs.debian.org (full text, mbox):

From: Stephen Weeks <sweeks@sweeks.com>
To: Roland Stigge <stigge@antcom.de>
Cc: MLton@mlton.org, 220046@bugs.debian.org
Subject: [MLton] Re: Bug#220046: mlton: Build-Depends on itself
Date: Tue, 11 Nov 2003 08:45:21 -0800
> I think it's worth it. Remember that ideally, we can build _most_ of
> Debian from source (by bootstrapping just from a small build environment
> that would need mlton otherwise).

I don't see how having MLton build-depend on SML/NJ gets us any closer
to this.  SML/NJ is also an SML compiler written in SML.  So it must
build-depend on some SML compiler in order to build from source.  Or
they must ship some kind of generated code or heap, which I think is
an even worse alternative.

All SML compilers that I know of are written in SML.  So, in order to
get into that world, some SML compiler must break the cycle.  I think
MLton is as good a choice as any.



Information forwarded to debian-bugs-dist@lists.debian.org, Stephen Weeks <sweeks@sweeks.com>:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to Roland Stigge <stigge@antcom.de>:
Extra info received and forwarded to list. Copy sent to Stephen Weeks <sweeks@sweeks.com>. Full text and rfc822 format available.

Message #25 received at 220046@bugs.debian.org (full text, mbox):

From: Roland Stigge <stigge@antcom.de>
To: Stephen Weeks <sweeks@sweeks.com>
Cc: MLton@mlton.org, 220046@bugs.debian.org
Subject: Re: [MLton] Re: Bug#220046: mlton: Build-Depends on itself
Date: Tue, 11 Nov 2003 18:13:13 +0100
[Message part 1 (text/plain, inline)]
On Tue, 2003-11-11 at 17:45, Stephen Weeks wrote:
> > I think it's worth it. Remember that ideally, we can build _most_ of
> > Debian from source (by bootstrapping just from a small build environment
> > that would need mlton otherwise).
> 
> I don't see how having MLton build-depend on SML/NJ gets us any closer
> to this.  SML/NJ is also an SML compiler written in SML.  So it must
> build-depend on some SML compiler in order to build from source.  Or
> they must ship some kind of generated code or heap, which I think is
> an even worse alternative.
> 
> All SML compilers that I know of are written in SML.  So, in order to
> get into that world, some SML compiler must break the cycle.  I think
> MLton is as good a choice as any.

Right. But the smlnj maintainer claims to have a solution to the
problem. Feel free to look at the appropriate smlnj bugs and contact the
smlnj maintainer. When he got it, we have a solution to consider, else
lower the severity of this bug.

bye,
  Roland
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to Stephen Weeks <sweeks@sweeks.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #30 received at 220046@bugs.debian.org (full text, mbox):

From: Stephen Weeks <sweeks@sweeks.com>
To: Aaron Matthew Read <amread@nyx.net>
Cc: Roland Stigge <stigge@antcom.de>, MLton@mlton.org, 220046@bugs.debian.org
Subject: Bug#220046: mlton: Build-Depends on itself
Date: Tue, 11 Nov 2003 09:38:16 -0800
Hi Aaron.  As the maintainer of the Debian smlnj package, I have a
question for you.  Does smlnj build-depend on itself?  If not, how
does it build from source?

I ask because the MLton package build-depends on itself and I think
that this is the right thing to do, since MLton is written in SML and
therefore requires some SML compiler to build.

Roland Stigge has suggested having MLton build-depend on smlnj instead
of MLton.  I think this is a bad idea for many reasons.

* In order to build MLton, we need some SML compiler anyways.  Since I
  believe SML/NJ must build-depend on itself, it doesn't make the
  Debian world significantly less incestuous to remove MLton's build
  dependency on itself and replace it with a dependency on another
  incestuous compiler.

* A version of MLton compiled by SML/NJ runs *much* more slowly than
  one compiled by MLton.  So slow that I haven't done a full bootstrap
  in years, IIRC.  We're talking more than a factor of 5 in time here.
  I.E. over an hour instead of 5-10 minutes.  This hurts my
  development process.

* There are many portability issues in maintaining MLton to run under
  both SML/NJ and MLton.  So, while we do use an SML/NJ-compiled MLton
  for small tests, I am not at all as confident in the stability of an
  SML/NJ-compiled MLton as I am a self-compiled MLton.

* Someday, we may drop support for compilation of MLton by SML/NJ.

All in all, it seems like a lot of practical loss for a very
theoretical gain.



Information forwarded to debian-bugs-dist@lists.debian.org, Stephen Weeks <sweeks@sweeks.com>:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to Roland Stigge <stigge@debian.org>:
Extra info received and forwarded to list. Copy sent to Stephen Weeks <sweeks@sweeks.com>. Full text and rfc822 format available.

Message #35 received at 220046@bugs.debian.org (full text, mbox):

From: Roland Stigge <stigge@debian.org>
To: Stephen Weeks <sweeks@sweeks.com>
Cc: Aaron Matthew Read <amread@nyx.net>, MLton@mlton.org, 220046@bugs.debian.org
Subject: Re: Bug#220046: mlton: Build-Depends on itself
Date: Tue, 11 Nov 2003 19:56:01 +0100
[Message part 1 (text/plain, inline)]
Hi Stephen and Aaron,

On Tue, 2003-11-11 at 18:38, Stephen Weeks wrote:
> * In order to build MLton, we need some SML compiler anyways.  Since I
>   believe SML/NJ must build-depend on itself, it doesn't make the
>   Debian world significantly less incestuous to remove MLton's build
>   dependency on itself and replace it with a dependency on another
>   incestuous compiler.

Remember that I proposed the change just for the case that SML/NJ
appears to be able to build from source. (This was based on the bug
conversation with Aaron which I interpreted that way.)

> * A version of MLton compiled by SML/NJ runs *much* more slowly than
>   one compiled by MLton.  So slow that I haven't done a full bootstrap
>   in years, IIRC.  We're talking more than a factor of 5 in time here.
>   I.E. over an hour instead of 5-10 minutes.  This hurts my
>   development process.

You can organize your development process to always build MLton with
MLton in debug mode, and for Debian uploads enable the SML/NJ option.

> * There are many portability issues in maintaining MLton to run under
>   both SML/NJ and MLton.  So, while we do use an SML/NJ-compiled MLton
>   for small tests, I am not at all as confident in the stability of an
>   SML/NJ-compiled MLton as I am a self-compiled MLton.

Consider building MLton with SML/NJ and afterwards again with itself.

> All in all, it seems like a lot of practical loss for a very
> theoretical gain.

I think it's quite practical. We should use every opportunity to make
Debian build from source (without presuming the package to be built to
already exist).

Thanks for considering.

bye,
  Roland
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Stephen Weeks <sweeks@sweeks.com>:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to aaron <amread@nyx.net>:
Extra info received and forwarded to list. Copy sent to Stephen Weeks <sweeks@sweeks.com>. Full text and rfc822 format available.

Message #40 received at 220046@bugs.debian.org (full text, mbox):

From: aaron <amread@nyx.net>
To: Stephen Weeks <sweeks@sweeks.com>, Roland Stigge <stigge@debian.org>, MLton@mlton.org, 220046@bugs.debian.org
Subject: Re: Bug#220046: mlton: Build-Depends on itself
Date: Tue, 11 Nov 2003 15:01:43 -0700
On Tue, Nov 11, 2003 at 09:38:16AM -0800, Stephen Weeks wrote:
> Hi Aaron.  As the maintainer of the Debian smlnj package, I have a
> question for you.  Does smlnj build-depend on itself?  If not, how
> does it build from source?

The current version only stabilizes already compiled CM libraries. I
am working on a version that will build itself from source by including
itself as a build-depend. Although it does seem incestuous, I think
it is the best solution. 

Another option though, is to include binaries in the source package to
bootstrap off. I don't like this option because you have to include
binaries for every architecture as part of the source distribution.

> * In order to build MLton, we need some SML compiler anyways.  Since I
>   believe SML/NJ must build-depend on itself, it doesn't make the
>   Debian world significantly less incestuous to remove MLton's build
>   dependency on itself and replace it with a dependency on another
>   incestuous compiler.

I agree. A larger circular dependency is worse than depending on
oneself.  The only way I could see depending on another SML compiler is
if that compiler was written in another lanugage such that no
dependency cycle would exist.



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#220046; Package mlton. Full text and rfc822 format available.

Acknowledgement sent to Stephen Weeks <sweeks@sweeks.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #45 received at 220046@bugs.debian.org (full text, mbox):

From: Stephen Weeks <sweeks@sweeks.com>
To: aaron <amread@nyx.net>
Cc: Roland Stigge <stigge@debian.org>, MLton@mlton.org, 220046@bugs.debian.org
Subject: [MLton] Re: Bug#220046: mlton: Build-Depends on itself
Date: Tue, 11 Nov 2003 18:14:04 -0800
Thanks for the reply Aaron.

> The current version only stabilizes already compiled CM libraries. I
> am working on a version that will build itself from source by including
> itself as a build-depend. Although it does seem incestuous, I think
> it is the best solution. 

I agree that this is best.  I hope it's not too hard to make a
reality.

> Another option though, is to include binaries in the source package to
> bootstrap off. I don't like this option because you have to include
> binaries for every architecture as part of the source distribution.

Yeah, and I think it's even less true that one is building from source
in such a case.


Since it looks like we're all in agreement, I'm going to change the
severity of 220046 to wishlist, and leave MLton as it is,
with a build-depends on itself.



Severity set to `wishlist'. Request was from Stephen Weeks <sweeks@sweeks.com> to control@bugs.debian.org. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, terpstra@debian.org (Wesley W. Terpstra (Debian)):
Bug#220046; Package mlton. (Thu, 15 Oct 2009 20:15:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Wesley W. Terpstra" <terpstra@debian.org>:
Extra info received and forwarded to list. Copy sent to terpstra@debian.org (Wesley W. Terpstra (Debian)). (Thu, 15 Oct 2009 20:15:03 GMT) Full text and rfc822 format available.

Message #52 received at 220046@bugs.debian.org (full text, mbox):

From: "Wesley W. Terpstra" <terpstra@debian.org>
To: control@bugs.debian.org, 220046@bugs.debian.org
Subject: Won't fix #220046
Date: Thu, 15 Oct 2009 22:03:59 +0200
[Message part 1 (text/plain, inline)]
tags 220046 +wontfix
thanks

I've taken over maintenance of this package. In my opinion this isn't
a bug. It is normal for a compiler to depend on itself. Therefore I am
marking this won't fix.
[Message part 2 (text/html, inline)]

Added tag(s) wontfix. Request was from "Wesley W. Terpstra" <terpstra@debian.org> to control@bugs.debian.org. (Thu, 15 Oct 2009 20:15:04 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 23 13:26:45 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.