Opened 15 years ago

Closed 13 years ago

#22 closed enhancement (fixed)

[with patch, positive review] add persistent SAGE64 building switch on OSX and Solaris

Reported by: was Owned by: mabshoff
Priority: minor Milestone: sage-3.3
Component: build Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

Should there be something to keep people from building on 32-bit then 64-bit then 32-bit.

Attachments (1)

trac_22.patch (3.0 KB) - added by mabshoff 13 years ago.

Download all attachments as: .zip

Change History (16)

comment:1 Changed 14 years ago by was

[01:10] <william> the problem was doing something like "sage -br" on both a 32-bit and 64-bit machine but
[01:10] <william> with a shared filesystem.
[01:10] <mabshoff> Ah, that makes sense.
[01:10] <william> I.e., when you build sage for one architecture, maybe you shouldn't be allowed to
[01:10] <william> do "sage -br" or "sage -i" if the architectrue doesn't match.
[01:11] <mabshoff> okay,
[01:11] <william> or something like that.

comment:2 Changed 14 years ago by mabshoff

  • Milestone set to Sage-2.10

comment:3 Changed 14 years ago by was

[10:01] <wstein> regarding #22 the idea is that people might do "sage -br" on one machine, then login to another machine that
[10:02] <wstein> nsf mounts the same directory, and muck things up.
[10:02] <wstein> We should cache "uname -p" in SAGE_ROOT, and if it changes not allow "sage -br" unless the user
[10:02] <wstein> (or sage -i) or sage -upgrade, unless the user manually deletes the file.
[10:03] <wstein> Thoughts?

comment:4 Changed 14 years ago by mabshoff

  • Milestone changed from sage-2.10 to sage-2.8.15
  • Owner changed from somebody to mabshoff
  • Status changed from new to assigned

comment:5 Changed 14 years ago by gfurnish

  • Owner changed from mabshoff to gfurnish
  • Status changed from assigned to new

comment:6 Changed 14 years ago by gfurnish

  • Status changed from new to assigned

comment:7 Changed 14 years ago by gfurnish

Fixed in #1261 (PBuild)

comment:8 Changed 14 years ago by gfurnish

  • Component changed from basic arithmetic to build

Changed 13 years ago by mabshoff

comment:9 Changed 13 years ago by mabshoff

  • Milestone changed from sage-3.4.1 to sage-3.3
  • Owner changed from gfurnish to mabshoff
  • Status changed from assigned to new
  • Summary changed from 32/64/32-bit building switch to [with patch, needs review] add persistent SAGE64 building switch on OSX and Solaris

comment:10 Changed 13 years ago by mabshoff

  • Status changed from new to assigned

comment:11 Changed 13 years ago by mabshoff

Mhh, looking at the complete ticket history this patch does not cover all what needs to be fixed on this ticket. I will post a patch on top that also fixes this issue.

Cheers,

Michael

comment:12 Changed 13 years ago by mabshoff

Unfortunately the trick William suggested does not work everywhere, i.e. even on the latest stable Debian release this happens:

mabshoff@modular:~$ uname -p
unknown

From man uname on that box:

       -p, --processor
              print the processor type or "unknown"

So we might want to make that part of the ticket a followup ticket.

Cheers,

Michael

comment:13 Changed 13 years ago by mabshoff

Having thought about this and played around a little with uname it seems that it will not work and is not fine grained enough anyway. I would suggest to do write a small C program that identifies the following:

  • mode: i.e. 32, 64 bit
  • os: linux, osx, solaris, freebsd, cygwin
  • release: this would be the distribution on Linux, OSX 10.4/10.5, Solaris 10/Solaris 11/Opensolaris and so on

The way we can properly identify the build platform and decide more intelligently if we issue a warning, i.e running the Fedora 10 build on a Fedora 9 box should abort since it doesn't work. The test should be wrapped in a shell script since the binary will obviously only run on a subset of arches, i.e. if the binary fails to run we just about and print a canned warning together with a config info saved as text that is created when building the binary.

This is enough a task to split it off to a new ticket. I have some basic code that does some of the above already for OSX since I need this kind of code while cleaning up the build system.

Thoughts?

Cheers,

Michael

comment:14 Changed 13 years ago by rlm

  • Summary changed from [with patch, needs review] add persistent SAGE64 building switch on OSX and Solaris to [with patch, positive review] add persistent SAGE64 building switch on OSX and Solaris

This is a "perfect patch."

... ;-)

comment:15 Changed 13 years ago by mabshoff

  • Resolution set to fixed
  • Status changed from assigned to closed

Merged in Sage 3.3.alpha1.

Note that the remaining issue from this ticket has been moved to #5062.

Cheers,

Michael

Note: See TracTickets for help on using tickets.