Opened 10 years ago

Closed 9 years ago

#11706 closed defect (fixed)

tachyon-0.98.9.p3 fails to build on ppc64 SUSE Linux power 7 (silius on skynet)

Reported by: was Owned by: was
Priority: major Milestone: sage-4.7.2
Component: porting Keywords:
Cc: mhansen Merged in: sage-4.7.2.alpha3
Authors: William Stein, Leif Leonhardy Reviewers: Leif Leonhardy, Karl-Dieter Crisman, Mike Hansen
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #11504 Stopgaps:

Status badges

Description (last modified by leif)

Here's what happens with sage-4.7.1:

...
checking for stdlib.h... (cached) yes
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.6.1/ppc64-Linux-power7-suse/libexec/gcc/powerpc64-unknown-linux-gnu/4.6.1/lto-wrapper
Target: powerpc64-unknown-linux-gnu
Configured with: /usr/local/gcc-4.6.1/src/gcc-4.6.1/configure --enable-languages=c,c++,fortran --with-gnu-as --with-gnu-as=/usr/local/binutils-2.21/ppc64-Linux-power7-suse-gcc-4.3.4-suse/bin/as --with-gnu-ld --with-ld=/usr/local/binutils-2.21/ppc64-Linux-power7-suse-gcc-4.3.4-suse/bin/ld --with-gmp=/usr/local/mpir-2.4.0/ppc64-Linux-power7-suse-gcc-4.3.4-suse --with-mpfr=/usr/local/mpfr-3.0.1/ppc64-Linux-power7-suse-mpir-2.4.0-gcc-4.3.4-suse --with-mpc=/usr/local/mpc-0.9/ppc64-Linux-power7-suse-mpir-2.4.0-mpfr-3.0.1-gcc-4.3.4-suse --prefix=/usr/local/gcc-4.6.1/ppc64-Linux-power7-suse
Thread model: posix
gcc version 4.6.1 (GCC)
****************************************************
checking sys/time.h usability... no
checking atomic_ops.h presence... Sorry, your platform isn't supported by Tachyon and/or Sage. Exiting...

New spkg: http://spkg-upload.googlecode.com/files/tachyon-0.98.9.p5.spkg (based on the p4 from #11504)

md5sum: 72fa42f730cc7d65c53ab80970a5d35a tachyon-0.98.9.p5.spkg

tachyon-0.98.9.p5 (William Stein and Leif Leonhardy, August 19th 2011)

  • #11706: Make package build on 64-bit PPC Linux, too (by using the linux-ppc make target, which works for ppc64 as well).
  • Check exit codes of cp, especially in the last case where the built Tachyon executable gets installed. Also use cp -p (and -f) there, to avoid permission issues in multi-user environments.
  • Quote all instances of $UNAME.
  • Copy / install tachyon.exe (instead of tachyon) on Cygwin.
  • Make spkg-install executable.
  • Fix all file permissions (see Special Update/Build? Instructions).
  • Fix mark-up of headings of changelog entries.
  • Minor cosmetic clean-up.

Attachments (1)

tachyon-0.98.9.p4-p5.diff (7.3 KB) - added by leif 10 years ago.
Diff between Karl-Dieter's p4 from #11504 and the p5 spkg. For reference / review only.

Download all attachments as: .zip

Change History (22)

comment:1 Changed 10 years ago by was

  • Status changed from new to needs_review

New spkg here. It's just a trivial change of ppc) to ppc|ppc64).

http://sage.math.washington.edu/home/wstein/days/32/silius/tachyon-0.98.9.p4.spkg

comment:3 Changed 10 years ago by leif

I cannot test whether the spkg actually builds on that platform, otherwise positive review for the spkg (i.e., it's "clean" and the change doesn't affect any other platform).

Although I'd change the following comment in spkg-install:

        *) # e.g. ppc64

(And the subsequent if [ "$UNAME" = ... ]; then ... aren't very nice. I'd use case "$UNAME" in ... or at least elif ... instead, as mentioned on earlier tickets.)

comment:4 Changed 10 years ago by leif

P.S., for the record:

This:

   ...
   cp compile/*/tachyon "$SAGE_LOCAL/bin"
   exit 0

should also be

   ...
   cp compile/*/tachyon "$SAGE_LOCAL/bin"
   exit $?

An appropriate error message in case cp failed would be better. The exit codes of other cp commands aren't checked either.

(This has been in before of course.)

comment:5 Changed 10 years ago by kcrisman

  • Authors set to William Stein
  • Dependencies set to #11504
  • Reviewers set to Leif Leonhardy, Karl-Dieter Crisman
  • Status changed from needs_review to needs_work

Please note that #11504 has had a p4 ready for review for weeks (and might I note for a rather more important platform than PPC Linux). All that one needs is a review that the spkg is actually correctly formed and works on a non-Cygwin box; it has already been reviewed to install Tachyon correctly on Cygwin.

So I'm putting #11504 as a dependency. If you want to use BDFL privileges, I won't complain too much, but it would probably be easier just to unpack #11504's spkg and review it quick :)

I agree with Leif that this needs work for fixing the comment about ppc64, which apparently does now work :) I don't know about the "please complain on sage-devel" comment, either; that could be more precise.

I do think that the "not very nice" things Leif mentioned can be left to another ticket, though.

comment:6 follow-up: Changed 10 years ago by was

  • Owner changed from drkirkby to was
  1. I agree with kcrisman that those other changes Leif mentions should be on another ticket.
  1. "(and might I note for a rather more important platform than PPC Linux)." Not to minimize the importance of a Windows port, but there is nobody providing any financial support for porting Sage to Cygwin. There is very substantial financial support coming from the folks that want a PPC Linux port -- it is thus "rather more important".

comment:7 Changed 10 years ago by leif

Replying to kcrisman:

I do think that the "not very nice" things Leif mentioned can be left to another ticket, though.

Agreed, with the exception of the exit 0 regardless of whether the installation (the final cp) succeeded or not.

I guess the spkg needs work for Darwin, too, (on a follow-up) anyway, because of

if [ $UNAME = "Darwin" ]; then
    #make macosx-thr
    # The threaded version of the 0.98 beta doesn't work on OS X.
    if [ "$SAGE64" = "yes" ]; then
        echo "Building 64 bit MaxOSX"
        $MAKE macosx-64
    else
        $MAKE macosx
    fi
    finished
fi

(The mentioned beta version is of years ago. I also did not know MaxOSX.)

Haven't looked at #11504 yet; will try to review it [as is] if I find the time... ;)

comment:8 in reply to: ↑ 6 Changed 10 years ago by kcrisman

  • Dependencies #11504 deleted
  1. "(and might I note for a rather more important platform than PPC Linux)." Not to minimize the importance of a Windows port, but there is nobody providing any financial support for porting Sage to Cygwin. There is very substantial financial support coming from the folks that want a PPC Linux port -- it is thus "rather more important".

Well, then, I guess it depends on what you mean by "important".

I would continue that thought, but I'll just get testy. So instead I will politely ask for either a (positive?) review of #11504 or incorporating the changes there here or a claim-by-fiat that this ticket (#11076) simply has priority (once the relevant things Leif mentioned are taken care of). Just so that I at least know where #11504 stands.

If it helps make the decision, I already fixed the "MaxOSX" issue :) though not the "0.98 beta" issue :(

comment:9 follow-up: Changed 10 years ago by leif

For the record:

I'm currently preparing a p5 spkg based on Karl-Dieter's p4 from #11504 (and William's changes here of course), coming soon...

comment:10 in reply to: ↑ 9 Changed 10 years ago by was

Replying to leif:

For the record:

I'm currently preparing a p5 spkg based on Karl-Dieter's p4 from #11504 (and William's changes here of course), coming soon...

Thanks leif! I'm +1 to Karl's suggestion, of course.

Changed 10 years ago by leif

Diff between Karl-Dieter's p4 from #11504 and the p5 spkg. For reference / review only.

comment:11 Changed 10 years ago by leif

  • Authors changed from William Stein to William Stein, Leif Leonhardy
  • Description modified (diff)
  • Status changed from needs_work to needs_review

New p5 spkg based on Karl-Dieter's p4 from #11504 is up (see ticket's descriptions).

Took a bit longer because I had to check and fix another Cygwin issue.

I've only fixed the [IMHO] most important issues (and also cleaned up a little), but added TODOs for and comments on the remaining things, to be done on follow-up tickets.

comment:12 Changed 10 years ago by leif

  • Dependencies set to #11504

Pro forma, since the p5 is now based on the p4 from #11504.

comment:13 Changed 10 years ago by kcrisman

I can at least give a positive review of the diff. Thanks for putting that work in, Leif. I've commented on #11504 about my mystification about how many weird things were going on in the p4; I try to be pretty minimalist in my spkg changes so I don't screw something up.

I'll try to force-install this spkg on Cygwin and see what happens; I should be able to produce a Tachyon plot.

comment:14 Changed 10 years ago by kcrisman

Oh, and would this still need someone to test that the addition of choices for the Linux PPC actually works, or is it like some of the reviews for HP-UX/AIX where it suffices to show that the change only affects those platforms, and we trust the author that it behaves as advertised? Given the ringing endorsement of PPC Linux by the author, I'm inclined to trust him :)

<rant> Sometime I'm going to still try to install Linux on an old eMac, and then we'll have another machine... Maybe once my home computer falls too far behind. It already can't use the latest Flash, latest this, latest that - SO annoying, because there is nothing wrong with it, just companies that think it's not worth it to support older equipment. You can bet there are still people who make parts for seven-year-old cars! </rant>

comment:15 Changed 10 years ago by kcrisman

Ok, here is an update. This picture was generated by an alpha of 4.7.1 that had my p4 installed. Looking in local/bin/ finds tachyon.exe already there.

My guess is that Cygwin "knows" that it's supposed to be .exe as an ending and behaved accordingly?

I'll try this spkg out now. Don't forget to also do doctests for the plot3d tachyon file, not just the interface. graphs/generic_graph.py also has some stuff, and I'd go ahead and test the whole plot3d directory, though of course not all the images will be seen.

comment:16 Changed 10 years ago by kcrisman

Builds and installs without problems, so in some sense the goal of #11504 is already fulfilled. ls -l local/bin confirms that the new binary is the new Tachyon.

But now we are more ambitious! We want it to actually work. And it does! The Tachyon interface test also works appropriately.

So positive review for anything I am qualified to comment on or care about.

comment:17 Changed 10 years ago by kcrisman

  • Cc mhansen added

Can anyone from the Sage Days who is working on this port quick review this? I'm not even sure anything else needs to be reviewed, except checking that it actually works, which might be hard for 99.9% of us who don't have this exact platform :)

comment:18 Changed 10 years ago by mhansen

This builds and seems to work fine on skynet/silius .

comment:19 follow-up: Changed 10 years ago by kcrisman

  • Reviewers changed from Leif Leonhardy, Karl-Dieter Crisman to Leif Leonhardy, Karl-Dieter Crisman, Mike Hansen
  • Status changed from needs_review to positive_review

So, positive review, I guess? (Leif, anything else we should check?

comment:20 in reply to: ↑ 19 Changed 10 years ago by leif

Replying to kcrisman:

So, positive review, I guess? (Leif, anything else we should check?

I'm happy with a positive review... ;)

(And I guess you, too, since now you shouldn't have to delete the DS_Store files from your superseded p4.)


For follow-up Tachyon tickets:

Should check which parts of the upstream docs are really needed; I noticed at least one (fairly small) compressed tarball with HTML files below src/.

comment:21 Changed 9 years ago by leif

  • Merged in set to sage-4.7.2.alpha3
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.