Opened 8 years ago

Closed 7 years ago

#10810 closed defect (duplicate)

singular-3-1-1-4.p3 doesn't build on ARM

Reported by: Snark Owned by: tbd
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: packages: standard Keywords: ELF Singular spkg
Cc: leif, Snark Merged in:
Authors: Reviewers: Julien Puydt
Report Upstream: Fixed upstream, in a later stable release. Work issues:
Branch: Commit:
Dependencies: #10903 Stopgaps:

Description

I have made a patch to make singular build on ARM ; that patch made its way upstream in singular-3-1-3, which isn't in sage yet.

So I'm attaching my patch here, in hope sage will either use my patch or use a newer upstream.

PS: the upstream report is: http://www.singular.uni-kl.de:8002/trac/ticket/299

Attachments (1)

singular.diff (2.4 KB) - added by Snark 8 years ago.
Patch to make singular work on ARM

Download all attachments as: .zip

Change History (15)

Changed 8 years ago by Snark

Patch to make singular work on ARM

comment:1 Changed 8 years ago by leif

  • Cc leif added
  • Component changed from porting to packages
  • Keywords ELF Singular spkg added
  • Owner changed from drkirkby to tbd

comment:2 follow-up: Changed 8 years ago by Snark

sage 4.7.1 has shipped with a singular which doesn't build on ARM. When will a new (hence fixed) singular make its way into sage?

comment:3 in reply to: ↑ 2 Changed 8 years ago by leif

Replying to Snark:

sage 4.7.1 has shipped with a singular which doesn't build on ARM. When will a new (hence fixed) singular make its way into sage?

Hopefully during the Sage/Singular? Days (SD34) at the end of September, cf. #10903.

Otherwise you could make a new Singular spkg with your patch, based on Sage's latest one, which is singular-3-1-1-4.p13 from #11550 (merged into Sage 4.7.2.alpha0).

comment:4 Changed 8 years ago by leif

  • Dependencies set to #10903
  • Milestone changed from sage-4.7.2 to sage-duplicate/invalid/wontfix
  • Status changed from new to needs_review

Julien, can you confirm that this ticket can be closed when #10903 gets merged?

comment:5 follow-up: Changed 8 years ago by Snark

If nothing was broken since my work with upstream, then indeed that ticket can be closed.

If a new problem arises, then that will be a separate issue.

I have to say that the discussion in bug #10903 where HAVE_ELF_SYSTEM shows up makes me nervous... that looks so wrong when you see the patch "Patch to directly detect ELF support" I gave upstream!

comment:6 in reply to: ↑ 5 Changed 8 years ago by AlexanderDreyer

Replying to Snark:

I have to say that the discussion in bug #10903 where HAVE_ELF_SYSTEM shows up makes me nervous... that looks so wrong when you see the patch "Patch to directly detect ELF support" I gave upstream!

It's not that easy: the platforms in question do not define __ELF__. In fact, they aren't fully ELF compatible, (it's about Macs), but Singular just needs an ELF-compatible dlopen here.

comment:7 Changed 8 years ago by Snark

Then perhaps I should consider providing a patch basically doing s/HAVE_ELF_SYSTEM/HAVE_DLOPEN/g...

comment:8 Changed 8 years ago by jdemeyer

Can anyone test this on ARM now that #10903 has been merged?

comment:9 Changed 8 years ago by jdemeyer

I meant: test the new singular spkg from #10903 (merged in sage-4.7.2.alpha4) on ARM?

comment:10 follow-up: Changed 8 years ago by Snark

Is the spkg attached to the bug report the one to use, or am I supposed to also add the patches?

comment:11 in reply to: ↑ 10 Changed 8 years ago by jdemeyer

Replying to Snark:

Is the spkg attached to the bug report the one to use, or am I supposed to also add the patches?

It seems the problem was building the spkg on ARM. So it should be sufficient to build the spkg from #10903 on ARM.

Of course, if you want to test that it actually works, you also need the patches. But instead you can also download and build sage-4.7.2.alpha4, which includes the new Singular spkg.

comment:12 Changed 8 years ago by Snark

I downloaded : http://boxen.math.washington.edu/home/release/sage-4.7.2.alpha4/sage-4.7.2.alpha4/spkg/standard/singular-3-1-3-3.p1.spkg

and tried to build it ; it fails with undefined references in the final linking phase : g++ -o libsingular.so \

iparith.o mpsr_Tok.o claptmpl.o \ grammar.o scanner.o attrib.o blackbox.o eigenval_ip.o extra.o fehelp.o feOpt.o ipassign.o ipconv.o ipid.o iplib.o ipprint.o ipshell.o newstruct.o lists.o sdb.o fglm.o interpolation.o silink.o ssiLink.o subexpr.o janet.o wrapper.o libparse.o sing_win.o gms.o pcv.o maps_ip.o walk.o walk_ip.o cntrlc.o misc_ip.o calcSVD.o pipeLink.o Minor.o MinorProcessor?.o MinorInterface?.o bigintm.o pyobject_setup.o bbcone.o bbfan.o denom_list.o minpoly.o slInit_Static.o mpsr_Put.o mpsr_PutPoly.o mpsr_GetPoly.o mpsr_sl.o mpsr_Get.o mpsr_GetMisc.o mpsr_Error.o ndbm.o sing_dbm.o -lkernel -L../kernel -L../factory -L../libfac -L/home/jpuydt/sage-4.7.1/local/lib -lsingfac -lsingcf -lntl -lreadline -lgmp -lomalloc

/usr/lib/gcc/arm-linux-gnueabi/4.4.5/../../../crt1.o: In function `_start': (.text+0x30): undefined reference to `main' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `tgetnum' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `tgetent' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `tgetstr' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `tgoto' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `UP' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `BC' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `tputs' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `PC' /home/jpuydt/sage-4.7.1/local/lib/libreadline.so: undefined reference to `tgetflag' collect2: ld returned 1 exit status make[1]: * [libsingular] Erreur 1

From those the first one worries me most : why is it trying to find main in a lib!? I think that last linking line lacks something like "-shared" !

comment:13 Changed 7 years ago by jdemeyer

  • Cc Snark added
  • Reviewers set to Julien Puydt
  • Status changed from needs_review to positive_review

Julien reported that Singular works fine with sage-5.0.beta14.

comment:14 Changed 7 years ago by jdemeyer

  • Resolution set to duplicate
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.