MIT/GNU Scheme fails to build on non-Intel platforms

  • Done
  • quality assurance status badge
Details
3 participants
  • Andreas Enge
  • Ludovic Courtès
  • Mark H Weaver
Owner
unassigned
Submitted by
Andreas Enge
Severity
normal

Debbugs page

Andreas Enge wrote 11 years ago
Source of mit-scheme
(address . bug-guix@gnu.org)
20140808074757.GA13320@debian
Hello,

mit-scheme fails to build on mips64el-linux, because specific source is not
downloaded for this system. Furthermore, I wonder if in the corresponding
lines
(match (%current-system)
("x86_64-linux" "x86-64")
("i686-linux" "i386")
(_ "c"))
one need not also check for the target system in the usual manner.
Here the "c" should be the empty string, I think, and the preceding "-"
should be included into "x86-64" and "i386".

As the source field is set to #f, the command
guix build mit-scheme -S
fails with a confusing error message.

Is all this worth it, or should we not revert to a generic build recipe?

Andreas
Mark H Weaver wrote 11 years ago
(name . Andreas Enge)(address . andreas@enge.fr)(address . 18221@debbugs.gnu.org)
87wqacry8b.fsf@yeeloong.lan
Andreas Enge <andreas@enge.fr> writes:

Toggle quote (13 lines)
> Hello,
>
> mit-scheme fails to build on mips64el-linux, because specific source is not
> downloaded for this system. Furthermore, I wonder if in the corresponding
> lines
> (match (%current-system)
> ("x86_64-linux" "x86-64")
> ("i686-linux" "i386")
> (_ "c"))
> one need not also check for the target system in the usual manner.
> Here the "c" should be the empty string, I think, and the preceding "-"
> should be included into "x86-64" and "i386".

I'm not sure I understand what you're suggesting.

The problem here is that the "c" belongs in a different place in the
filename than where the "i386" or "x86-64" goes. The filenames are:

mit-scheme-9.2-i386.tar.gz
mit-scheme-9.2-x86-64.tar.gz
mit-scheme-c-9.2.tar.gz

So I guess we need something like this (untested):

(uri (string-append "mirror://gnu/mit-scheme/stable.pkg/"
version "/mit-scheme-"
(match (%current-system)
("x86_64-linux"
(string-append version "-x86-64"))
("i686-linux"
(string-append version "-i386"))
(_
(string-append "c-" version)))
".tar.gz"))

Thanks,
Mark
Andreas Enge wrote 11 years ago
(name . Mark H Weaver)(address . mhw@netris.org)(address . 18221@debbugs.gnu.org)
20140813210422.GA1856@debian
On Wed, Aug 13, 2014 at 03:22:28PM -0400, Mark H Weaver wrote:
Toggle quote (6 lines)
> The problem here is that the "c" belongs in a different place in the
> filename than where the "i386" or "x86-64" goes. The filenames are:
> mit-scheme-9.2-i386.tar.gz
> mit-scheme-9.2-x86-64.tar.gz
> mit-scheme-c-9.2.tar.gz

There is also mit-scheme-9.2.tar.gz; I thought this would need to be taken
on other systems. But maybe this is the non-boot-strappable source code?

Second, do we not need to replace
%current-system
by
(or (%current-target-system)(%current-system))
?

Andreas
mhw wrote 11 years ago
(name . Andreas Enge)(address . andreas@enge.fr)(address . 18221@debbugs.gnu.org)
87a977n8jz.fsf@netris.org
Andreas Enge <andreas@enge.fr> writes:

Toggle quote (10 lines)
> On Wed, Aug 13, 2014 at 03:22:28PM -0400, Mark H Weaver wrote:
>> The problem here is that the "c" belongs in a different place in the
>> filename than where the "i386" or "x86-64" goes. The filenames are:
>> mit-scheme-9.2-i386.tar.gz
>> mit-scheme-9.2-x86-64.tar.gz
>> mit-scheme-c-9.2.tar.gz
>
> There is also mit-scheme-9.2.tar.gz; I thought this would need to be taken
> on other systems. But maybe this is the non-boot-strappable source code?

Yes, I believe mit-scheme-9.2.tar.gz can only be built if you already
have an executable copy of mit-scheme with which to build it.

Toggle quote (5 lines)
> Second, do we not need to replace
> %current-system
> by
> (or (%current-target-system)(%current-system))

Hmm, this would be needed to support cross-compilation for typical
packages, but I suspect that the process is quite a bit different for
mit-scheme. I'd be very surprised if it was that simple.

For now, I suggest that we focus on getting mit-scheme working on mips
with native compilation. Later, if someone is motivated, they can look
into what's needed to cross-compile mit-scheme.

Thanks!
Mark
Ludovic Courtès wrote 11 years ago
(name . Mark H Weaver)(address . mhw@netris.org)
87mwb3i2ao.fsf@gnu.org
Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (20 lines)
> The problem here is that the "c" belongs in a different place in the
> filename than where the "i386" or "x86-64" goes. The filenames are:
>
> mit-scheme-9.2-i386.tar.gz
> mit-scheme-9.2-x86-64.tar.gz
> mit-scheme-c-9.2.tar.gz
>
> So I guess we need something like this (untested):
>
> (uri (string-append "mirror://gnu/mit-scheme/stable.pkg/"
> version "/mit-scheme-"
> (match (%current-system)
> ("x86_64-linux"
> (string-append version "-x86-64"))
> ("i686-linux"
> (string-append version "-i386"))
> (_
> (string-append "c-" version)))
> ".tar.gz"))

Yes, I think that’s what’s needed, so OK to commit.

(And yes, I agree it’s fine to ignore cross-compilation for now.)

Thanks,
Ludo’.
Andreas Enge wrote 10 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)
20140927180943.GA30945@debian
On Sun, Aug 17, 2014 at 05:06:07PM +0200, Ludovic Courtès wrote:
Toggle quote (2 lines)
> Yes, I think that’s what’s needed, so OK to commit.

Done with commit 68dddca. However, on mips64el we are now in the case that
the binaries are not precompiled, so one would need to bootstrap.

Andreas
Ludovic Courtès wrote 10 years ago
(name . Andreas Enge)(address . andreas@enge.fr)
87oau0gami.fsf@gnu.org
Andreas Enge <andreas@enge.fr> skribis:

Toggle quote (5 lines)
> On Sun, Aug 17, 2014 at 05:06:07PM +0200, Ludovic Courtès wrote:
>> Yes, I think that’s what’s needed, so OK to commit.
>
> Done with commit 68dddca.

Cool. :-)

Toggle quote (3 lines)
> However, on mips64el we are now in the case that the binaries are not
> precompiled, so one would need to bootstrap.

Could be that we’re not doing it right, I don’t know.

I did try to build from the C source a while back, FWIW:


Ludo’.
Ludovic Courtès wrote 10 years ago
(no subject)
(address . request@debbugs.gnu.org)
87k34ogakt.fsf@gnu.org
retitle 18221 MIT/GNU Scheme fails to build on non-Intel platforms
thanks
Mark H Weaver wrote 10 years ago
Re: bug#18221: Source of mit-scheme
(name . Andreas Enge)(address . andreas@enge.fr)
87zjdkc0jl.fsf@yeeloong.lan
Andreas Enge <andreas@enge.fr> writes:

Toggle quote (5 lines)
> On Sun, Aug 17, 2014 at 05:06:07PM +0200, Ludovic Courtès wrote:
>> Yes, I think that’s what’s needed, so OK to commit.
>
> Done with commit 68dddca.

That commit adds a top-level procedure 'source-directory' that is
specific to mit-scheme. If it's kept at the top-level, it should
probably be renamed to something like 'mit-scheme-source-directory'.

Also, it would be good to line up the two calls to 'string-prefix?'.

Thanks!
Mark
Andreas Enge wrote 10 years ago
(name . Mark H Weaver)(address . mhw@netris.org)
20140927210541.GA5857@debian
On Sat, Sep 27, 2014 at 03:42:54PM -0400, Mark H Weaver wrote:
Toggle quote (6 lines)
> That commit adds a top-level procedure 'source-directory' that is
> specific to mit-scheme. If it's kept at the top-level, it should
> probably be renamed to something like 'mit-scheme-source-directory'.
>
> Also, it would be good to line up the two calls to 'string-prefix?'.

Sorry! Are you interested in looking more into how to make it compile on mips?
In that case you might do the changes at the same time. Otherwise, I will make
a separate commit to clean this up.

Andreas
Ludovic Courtès wrote 10 years ago
(name . Mark H Weaver)(address . mhw@netris.org)
87a95ken6s.fsf@gnu.org
Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (6 lines)
> That commit adds a top-level procedure 'source-directory' that is
> specific to mit-scheme. If it's kept at the top-level, it should
> probably be renamed to something like 'mit-scheme-source-directory'.
>
> Also, it would be good to line up the two calls to 'string-prefix?'.

Done. :-)

Ludo’.
Andreas Enge wrote 6 years ago
Close
(address . 18221-done@debbugs.gnu.org)
20190219225048.GA2828@jurong
The bug stricto sensu has been fixed by a "supported systems" clause.
Since in more than 4 years nobody seems to have missed the package on
other architectures, I am closing the bug for now.

Andreas
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 18221@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 18221
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help