Opened 9 years ago
Closed 8 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)
Change History (15)
Changed 9 years ago by
comment:1 Changed 8 years ago by
- Cc leif added
- Component changed from porting to packages
- Keywords ELF Singular spkg added
- Owner changed from drkirkby to tbd
comment:2 follow-up: ↓ 3 Changed 8 years ago by
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
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
- 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: ↓ 6 Changed 8 years ago by
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
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
Then perhaps I should consider providing a patch basically doing s/HAVE_ELF_SYSTEM/HAVE_DLOPEN/g...
comment:8 Changed 8 years ago by
Can anyone test this on ARM now that #10903 has been merged?
comment:9 Changed 8 years ago by
I meant: test the new singular spkg from #10903 (merged in sage-4.7.2.alpha4) on ARM?
comment:10 follow-up: ↓ 11 Changed 8 years ago by
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
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
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 8 years ago by
- 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 8 years ago by
- Resolution set to duplicate
- Status changed from positive_review to closed
Patch to make singular work on ARM