Opened 11 years ago

Closed 11 years ago

Last modified 6 years ago

#9029 closed defect (fixed)

sympow is buiding 32-bit on OpenSolaris x64 even when SAGE64 is set to "yes"

Reported by: drkirkby Owned by: drkirkby
Priority: major Milestone: sage-4.4.4
Component: porting: Solaris Keywords:
Cc: jsp, was Merged in: sage-4.4.4.alpha1
Authors: David Kirkby Reviewers: Jaap Spies
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by chapoton)

When building 'sympow' on OpenSolaris, with SAGE64 set to yes, I see:

**ATTENTION** If you wish build SYMPOW, please ensure beforehand
that the various licenses of your C compiler, linker, assembler, etc.
allow you to create a derived work based on SYMPOW and your C libraries
gcc -O3   -c -o analrank.o analrank.c
gcc -O3   -c -o analytic.o analytic.c
gcc -O3   -c -o compute.o compute.c
gcc -O3   -c -o compute2.o compute2.c
gcc -O3   -c -o fpu.o fpu.c
gcc -O3   -c -o help.o help.c
gcc -O3   -c -o conductors.o conductors.c
gcc -O3   -c -o disk.o disk.c
gcc -O3   -c -o ec_ap.o ec_ap.c
gcc -O3   -c -o ec_ap_bsgs.o ec_ap_bsgs.c
gcc -O3   -c -o ec_ap_large.o ec_ap_large.c
gcc -O3   -c -o eulerfactors.o eulerfactors.c
gcc -O3   -c -o factor.o factor.c
gcc -O3   -c -o generate.o generate.c
gcc -O3   -c -o init_curve.o init_curve.c
gcc -O3   -c -o main.o main.c
gcc -O3   -c -o moddeg.o moddeg.c
gcc -O3   -c -o periods.o periods.c
gcc -O3   -c -o prepare.o prepare.c
gcc -O3   -c -o QD.o QD.c
gcc -O3   -c -o rootno.o rootno.c
gcc -O3   -c -o util.o util.c
mkdir -p datafiles
touch datafiles/param_data
gcc -O3  -o sympow  analrank.o analytic.o compute.o compute2.o fpu.o help.o conductors.o disk.o ec_ap.o ec_ap_bsgs.o ec_ap_large.o eulerfactors.o factor.o generate.o init_curve.o main.o moddeg.o periods.o prepare.o QD.o rootno.o util.o 

Then checking one of the generated files,

drkirkby@hawk:~/sage-4.4.2$ file ./local/lib/sympow/sympow
./local/lib/sympow/sympow: ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, not stripped

we see it is indeed a 32-bit file.

Looking at sympow-1.018.1.p6 source code, I can't see anything that would attempt to build 64-bit on any platform, so I doubt sympow ever built 64-bit on OS X versions where 32-bit was the default.

Dave

Attachments (1)

sympow-64-bit.patch (1.3 KB) - added by drkirkby 11 years ago.
Mercurial patch to build 64-bit if SAGE64 is set to "yes"

Download all attachments as: .zip

Change History (9)

comment:1 Changed 11 years ago by drkirkby

  • Description modified (diff)

comment:2 Changed 11 years ago by drkirkby

For other OpenSolaris issues, see #9026

comment:3 Changed 11 years ago by drkirkby

  • Cc jsp added

Changed 11 years ago by drkirkby

Mercurial patch to build 64-bit if SAGE64 is set to "yes"

comment:4 Changed 11 years ago by drkirkby

  • Status changed from new to needs_review

With the attached patch and

http://boxen.math.washington.edu/home/kirkby/patches/sympow-1.018.1.p7.spkg

this now builds 64-bit.

gcc -O3  -m64  -c -o rootno.o rootno.c
gcc -O3  -m64  -c -o util.o util.c
mkdir -p datafiles
touch datafiles/param_data
gcc -O3  -m64 -o sympow  analrank.o analytic.o compute.o compute2.o fpu.o help.o conductors.o disk.o ec_ap.o ec_ap_bsgs.o ec_ap_large.o eulerfactors.o factor.o generate.o init_curve.o main.o moddeg.o periods.o prepare.o QD.o rootno.o util.o 

real	0m4.465s
user	0m4.101s
sys	0m0.301s
Successfully installed sympow-1.018.1.p7
Now cleaning up tmp files.
rm: Cannot remove any directory in the path of the current working directory
/export/home/drkirkby/sage-4.4.2/spkg/build/sympow-1.018.1.p7
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing sympow-1.018.1.p7.spkg
drkirkby@hawk:~/sage-4.4.2$ file ./local/lib/sympow/sympow
./local/lib/sympow/sympow:	ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not stripped, no debugging information available

The binary is now 64-bit, not 32-bit as before.

drkirkby@hawk:~/sage-4.4.2$ file ./local/lib/sympow/sympow
./local/lib/sympow/sympow:	ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not stripped, no debugging information available

comment:5 Changed 11 years ago by drkirkby

  • Authors set to David Kirkby
  • Cc was added

comment:6 Changed 11 years ago by jsp

  • Reviewers set to Jaap Spies
  • Status changed from needs_review to positive_review

Looks ok for me on Open Solaris:

-bash-4.0$ file local/lib/sympow/sympow 
local/lib/sympow/sympow:        ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not stripped, no debugging information available
-bash-4.0$ 

Positive review.

Jaap

comment:7 Changed 11 years ago by mhansen

  • Merged in set to sage-4.4.4.alpha1
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:8 Changed 6 years ago by chapoton

  • Description modified (diff)
Note: See TracTickets for help on using tickets.