On Wed, Jan 23, 2013 at 06:32:16AM +0800, Salil Wadnerkar wrote: > Hi Brad, > > You may be right. I am trying to build a standard ML implementation on my > 64-bit machine. This is because the only SML implementation in the ports is > smlnj, which works beautifully on 32-bit architecture, but is not supported > on 64-bit one. > > I tried polyml, which is the next popular SML implementation - built using > autotools. > http://www.polyml.org/. (Download: http://sourceforge.net/projects/polyml/) > > $ gmake > ....... > libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Wall -O3 > -I../libffi/include -MT x86_dep.lo -MD -MP -MF .deps/x86_dep.Tpo -c > x86_dep.cpp -fPIC -DPIC -o .libs/x86_dep.o > x86_dep.cpp: In member function 'virtual bool > X86Dependent::GetPCandSPFromContext(TaskData*, sigcontext*, PolyWord*&, > byte*&)': > x86_dep.cpp:906: error: 'struct sigcontext' has no member named 'sc_pc' > x86_dep.cpp:907: error: 'struct sigcontext' has no member named 'sc_sp' > gmake[2]: *** [x86_dep.lo] Error 1 > gmake[2]: Leaving directory `/home/salil/polyml.5.5/libpolyml' > gmake[1]: *** [all-recursive] Error 1 > gmake[1]: Leaving directory `/home/salil/polyml.5.5' > gmake: *** [all] Error 2 > > >From this link: > http://gcc.gnu.org/ml/java/2008-04/msg00080.html > it looks like the problem is due to wrong/old glibc headers.
glibc ? what's that... sigcontext is some new fangled posix thingy, if I remember right. You can probably try to port some implementation over from say, FreeBSD. it's not really surprising to find this kind of code in a sml implementation. I'm more disappointed in smlnj. This is a toy implementation. You can't really say you're an actual programming language in 2013 if you still don't support 64 bits architectures... (points at ocaml, which is still an ml, though not sml, and is probably the only widely used implementation of any ml outside of academia)

