Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#7815 closed defect (fixed)

Flint fails to build 64-bit on Open Solaris

Reported by: drkirkby Owned by: drkirkby
Priority: major Milestone: sage-4.3.1
Component: porting: Solaris Keywords:
Cc: jst, rlm Merged in: sage-4.3.1.rc0
Authors: David Kirkby Reviewers: Robert Miller
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

There are several problems in the Flint spkg-install and makefile which prevent it building 64-bit on any platform other than OS X. Apart from the usual changes of adding -m64 to CFLAGS, the makefile has previously been changed to make it work on OS X. However, it does not work on Open Solaris in 64-bit mode, as the -m64 flag is not being added where it should be.

Change History (8)

comment:1 Changed 11 years ago by drkirkby

  • Authors set to David Kirkby
  • Status changed from new to needs_review
  • Summary changed from Flint fails to build 64-bit on Open Solaris to [with spkg; needs review] Flint fails to build 64-bit on Open Solaris

Here's an updated spkg which corrects the faults. It essentially does that by adding the environment variable CXXFLAG64 to the Makefile. This will add -m64 whenever SAGE64 is set to yes. If you look at the makefile you will see -m64 has been hard-coded when building the library on OS X, but not for other platforms.

The changes have been checked in with 'hg'

Revised .spkg and diff can be found at

http://boxen.math.washington.edu/home/kirkby/portability/flint-1.5.0.p3/

Dave

comment:2 Changed 11 years ago by drkirkby

  • Status changed from needs_review to needs_work

comment:3 Changed 11 years ago by drkirkby

  • Cc jst added
  • Status changed from needs_work to needs_review

Make sure CFLAG64 and CXXFLAG64 are both exported to -m64 when testing this. It relies on that, which will happen automatically very soon I hope, when my updates to sage-env get incorporated.

comment:4 Changed 11 years ago by drkirkby

  • Cc rlm added

This depends on #7818 so should not be applied until that is applied.

comment:5 Changed 11 years ago by rlm

  • Reviewers set to Robert Miller
  • Status changed from needs_review to positive_review

Everything works on boxen, and I trust dkirkby on the Open Solaris end.

comment:6 Changed 11 years ago by rlm

  • Merged in set to sage-4.3.1.rc0
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:7 Changed 11 years ago by drkirkby

Not only does it work on Open Solaris on x86 hardware, but I just tried for the first time to build a 64-bit version of Sage on a Sun Blade 2000 with a pair of UltraSPARC III+ CPUs running Solaris 10. This was based on the 4.3.1.alpha2 source code, but with this patch added. There are warnings issued during the 64-bit SPARC build that there are no 64-bit assembly routines, so C is used. But apart from that, Flint is now at least building on:

  • 32-bit Solaris 10 SPARC
  • 64-bit Solaris 10 SPARC
  • 64-bit Open Solaris x86

comment:8 Changed 11 years ago by mvngu

  • Summary changed from [with spkg; needs review] Flint fails to build 64-bit on Open Solaris to Flint fails to build 64-bit on Open Solaris
Note: See TracTickets for help on using tickets.