#10820: tachyon-0.98beta.p11 doesn't build on ARM
----------------------------+-----------------------------------------------
Reporter: Snark | Owner: drkirkby
Type: defect | Status: needs_review
Priority: major | Milestone:
Component: porting | Keywords:
Author: Julien Puydt | Upstream: Reported upstream. Developers
acknowledge bug.
Reviewer: David Kirkby | Merged:
Work_issues: |
----------------------------+-----------------------------------------------
Changes (by newvalueoldvalue):
* status: needs_work => needs_review
* author: => Julien Puydt
Comment:
What I gave is the patch that modifies the spkg's content, and it can be
applied with GNU patch ; I have no clue what a "mercurial patch" is... as
far as I know, all source control system use the same two patch formats,
and I used the most human-readable, dubbed "unified" -- I obtained it by
running "diff -urN tachyon-0.98.9.p2/ tachyon-0.98.9.p3/" (my diff being
GNU's, version 3.0).
It tells '''''exactly''''' what '''I''' have done :
* I added a comment in SPKG.txt (three lines) ;
* I modified spkg-install so that for ARM it removes "-m32" from Make-
arch (three lines).
The current spkg-install already does things to Make-arch -- and one of
the first things it does it to just cp it : "cp ../../patches/Make-arch
.", line 16. What I do is that later on, I make it realize that it should
have modified it ; so I just take it again, but copy it using sed to
remove the offending switch : no waste of space with respect to what the
current spkg does.
If I give you the resulting spkg, you'll just have everything : the full
sources, the previous changes and -- buried in the middle of that -- my
own changes. Six lines lost in the of 2.4M of files, where you'll not
review what I have done, but what the previous packager did!
I only want you to review the six lines I'm really responsible of : the
rest is not my work. And you'll notice that out of six lines, three are
for documenting my changes...
To tell more, here is how to apply my patch -- which is quite long because
I have no clue how to really use an spkg :
{{{
$ cp /path/to/tachyon-0.98.9.p2.spkg ./tachyon-0.98.9.p2.tar.bz2
$ tar xaf tachyon-0.98.9.p2.tar.bz2
$ mv tachyon-0.98.9.p2 tachyon-0.98.9.p3
$ cd tachyon-0.98.9.p3
$ patch -p1 < /path/to/tachyon-0.98.9_for_ARM
$ cd ..
$ tar cjf tachyon-0.98.9.p3.tar.bz2 tachyon-0.98.9.p3
$ mv tachyon-0.98.9.p3.tar.bz2 tachyon-0.98.9.p3.spkg
}}}
The way you should read the patch is :
{{{
diff -ur tachyon-0.98.9.p2/spkg-install tachyon-0.98.9.p3/spkg-install
}}}
this tells I turned tachyon-0.98.9.p2/spkg-install into tachyon-0.98.9.p3
/spkg-install
{{{
--- tachyon-0.98.9.p2/spkg-install 2011-01-13 01:43:50.000000000
+0100
+++ tachyon-0.98.9.p3/spkg-install 2011-03-12 19:08:11.124659955
+0100
}}}
this says that what is prefixed "-" will be what is removed from
tachyon-0.98.9.p2/spkg-install, and what is prefixed "+" will be what is
added to tachyon-0.98.9.p3/spkg-install
{{{
@@ -63,6 +63,9 @@
}}}
this says that the following chunk applies at line 63, and that something
6 lines long will become 9 lines long.
{{{
$MAKE linux-64-thr;;
ppc)
$MAKE linux-ppc;;
+ armv7l)
+ sed "s/-m32//g" ../../patches/Make-arch > Make-arch
+ $MAKE linux-thr;;
*) # e.g. ppc64
echo "Sorry, your platform isn't supported by Tachyon
and/or Sage. Exiting..."
exit 1
}}}
This is the code from the current file, with the "+" being the lines to
add : there I'm just adding to the arch test which was falling through to
an error a new case, just for "armv7l", which just modifies the Make-arch
files by removing -m32... a Make-arch file which I do not really create
myself, as you can see : I just make do with what is already available.
This is all I modify in pkg-install.
Now there is another file I modify :
{{{
diff -ur tachyon-0.98.9.p2/SPKG.txt tachyon-0.98.9.p3/SPKG.txt
--- tachyon-0.98.9.p2/SPKG.txt 2011-01-24 16:16:05.000000000
+0100
+++ tachyon-0.98.9.p3/SPKG.txt 2011-03-12 19:49:13.844659953
+0100
@@ -62,6 +62,9 @@
== Changelog ==
+=== tachyon-0.98.9.p3 (Julien Puydt, March 12, 2011)
+ * #10820: Made package compile on ARM
+
=== tachyon-0.98.9.p2 (Volker Braun, January 24, 2011)
* #10681: Remove "CC=cc" for the maxosx (32-bit) make target
}}}
And here again, we see that I just made the 6 lines following line 62, 9
lines, by adding the three lines prefixed by '+'.
That's all I did. And that's all I want reviewed.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10820#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.