* Re: 02/04: gnu: Add Poly/ML.
2017-07-17 16:01 ` 02/04: gnu: Add Poly/ML Mark H Weaver
2017-07-17 16:21 ` Mark H Weaver
@ 2017-07-17 16:27 ` Mark H Weaver
2017-07-18 1:13 ` Andy Patterson
2017-07-18 11:51 ` Ludovic Courtès
3 siblings, 0 replies; 6+ messages in thread
From: Mark H Weaver @ 2017-07-17 16:27 UTC (permalink / raw)
To: Andy Patterson; +Cc: guix-devel
Mark H Weaver <mhw@netris.org> writes:
> ludo@gnu.org (Ludovic Courtès) writes:
>
>> civodul pushed a commit to branch master
>> in repository guix.
>>
>> commit 9b7ee28d5700b47ae34bd47c32d250f042fbdbbd
>> Author: Andy Patterson <ajpatter@uwaterloo.ca>
>> Date: Sat Jul 15 18:17:25 2017 -0400
>>
>> gnu: Add Poly/ML.
>>
>> * gnu/packages/sml.scm: New file.
>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>
> Thank you for this! I've become interested in some projects that
> require Poly/ML, notably CakeML and Milawa/Jitawa which are based on
> HOL4 and apparently require Poly/ML. Now I can play with those things :)
I attempted to build it a second time, mainly to add '--keep-failed' to
the guix build options. It failed again but in a different place:
--8<---------------cut here---------------start------------->8---
Making InitialiseCore
Created structure InitialiseCore
Making MOTIF_SIG
Making XM_TYPES
Making MOTIF_TYPES
Created signature MOTIF_TYPES
Created signature XM_TYPES
Created signature MOTIF_SIG
Created structure Motif
/gnu/store/k7029k5va68lkapbzcycdzj7m5bjb4b8-bash-4.4.12/bin/bash ./libtool --tag=CC --mode=link gcc -Wall -fno-strict-aliasing -O3 -o poly polyexport.o libpolymain/libpolymain.la libpolyml/libpolyml.la -lpthread -lffi -lgmp -lXm -lXt -lX11 -lm -ldl -lstdc++ -lgcc_s -lgcc
libtool: link: gcc -Wall -fno-strict-aliasing -O3 -o poly polyexport.o libpolymain/.libs/libpolymain.a -L/gnu/store/wfy8pwxjbyc9033sqb1snyfla3h8d02p-libice-1.0.9/lib -L/gnu/store/6z06w9zfnq3zcr50vcv2wvzr5wpzvy7l-util-linux-2.29.2/lib -L/gnu/store/gdx6vk579px16dgv60hgrr1c2k1pwsni-libx11-1.6.5/lib -L/gnu/store/w5b3db8y2rq3d73b30m4c5z0ql270r9a-libsm-1.2.2/lib -L/gnu/store/fpbm0nvl2zi4jksm22kr1mq3hfw79xdn-libxcb-1.12/lib -L/gnu/store/dr4qfgqmcv8vjfyi5bh6iqxmcnr5psxh-libxau-1.0.8/lib -L/gnu/store/ja06pq19g0cf2122kimk15z5yn0az73j-libxdmcp-1.1.2/lib libpolyml/.libs/libpolyml.a -lpthread /gnu/store/85ss68qvpfb62chf2wapp3b8gfqv5xc6-libffi-3.2.1/lib/libffi.so /gnu/store/wak3m4kdkgw010qn1ksnqlggvklp4b24-gmp-6.1.2/lib/libgmp.so /gnu/store/j7c87ss5vp909z2yzz7d8z6vigx93zkj-lesstif-0.95.2/lib/libXm.so /gnu/store/0fzh44zpdw1h2dwpzgfw2lic05y4k6md-libxt-1.1.5/lib/libXt.so /gnu/store/w5b3db8y2rq3d73b30m4c5z0ql270r9a-libsm-1.2.2/lib/libSM.so /gnu/store/6z06w9zfnq3zcr50vcv2wvzr5wpzvy7l-util-linux-2.29.2/lib/libuuid.so /gnu/store/wfy8pwxjbyc9033sqb1snyfla3h8d02p-libice-1.0.9/lib/libICE.so /gnu/store/gdx6vk579px16dgv60hgrr1c2k1pwsni-libx11-1.6.5/lib/libX11.so /gnu/store/fpbm0nvl2zi4jksm22kr1mq3hfw79xdn-libxcb-1.12/lib/libxcb.so /gnu/store/dr4qfgqmcv8vjfyi5bh6iqxmcnr5psxh-libxau-1.0.8/lib/libXau.so /gnu/store/ja06pq19g0cf2122kimk15z5yn0az73j-libxdmcp-1.1.2/lib/libXdmcp.so /gnu/store/a3qkf2l3jqnpqibcg2iwbkak4d6scx28-libbsd-0.8.3/lib/libbsd.so -lrt -ldl /gnu/store/dhc2iy059hi91fk55dcv79z09kp6500y-gcc-5.4.0-lib/lib/libstdc++.so -lm -lgcc_s -lgcc -Wl,-rpath -Wl,/gnu/store/dhc2iy059hi91fk55dcv79z09kp6500y-gcc-5.4.0-lib/lib -Wl,-rpath -Wl,/gnu/store/85ss68qvpfb62chf2wapp3b8gfqv5xc6-libffi-3.2.1/lib -Wl,-rpath -Wl,/gnu/store/wak3m4kdkgw010qn1ksnqlggvklp4b24-gmp-6.1.2/lib -Wl,-rpath -Wl,/gnu/store/j7c87ss5vp909z2yzz7d8z6vigx93zkj-lesstif-0.95.2/lib -Wl,-rpath -Wl,/gnu/store/0fzh44zpdw1h2dwpzgfw
2lic05y4k6md-libxt-1.1.5/lib -Wl,-rpath -Wl,/gnu/store/w5b3db8y2rq3d73b30m4c5z0ql270r9a-libsm-1.2.2/lib -Wl,-rpath -Wl,/gnu/store/6z06w9zfnq3zcr50vcv2wvzr5wpzvy7l-util-linux-2.29.2/lib -Wl,-rpath -Wl,/gnu/store/wfy8pwxjbyc9033sqb1snyfla3h8d02p-libice-1.0.9/lib -Wl,-rpath -Wl,/gnu/store/gdx6vk579px16dgv60hgrr1c2k1pwsni-libx11-1.6.5/lib -Wl,-rpath -Wl,/gnu/store/fpbm0nvl2zi4jksm22kr1mq3hfw79xdn-libxcb-1.12/lib -Wl,-rpath -Wl,/gnu/store/dr4qfgqmcv8vjfyi5bh6iqxmcnr5psxh-libxau-1.0.8/lib -Wl,-rpath -Wl,/gnu/store/ja06pq19g0cf2122kimk15z5yn0az73j-libxdmcp-1.1.2/lib -Wl,-rpath -Wl,/gnu/store/a3qkf2l3jqnpqibcg2iwbkak4d6scx28-libbsd-0.8.3/lib -Wl,-rpath -Wl,/gnu/store/dhc2iy059hi91fk55dcv79z09kp6500y-gcc-5.4.0-lib/lib -Wl,-rpath -Wl,/gnu/store/85ss68qvpfb62chf2wapp3b8gfqv5xc6-libffi-3.2.1/lib -Wl,-rpath -Wl,/gnu/store/wak3m4kdkgw010qn1ksnqlggvklp4b24-gmp-6.1.2/lib -Wl,-rpath -Wl,/gnu/store/j7c87ss5vp909z2yzz7d8z6vigx93zkj-lesstif-0.95.2/lib -Wl,-rpath -Wl,/gnu/store/0fzh44zpdw1h2dwpzgfw2lic05y4k6md-libxt-1.1.5/lib -Wl,-rpath -Wl,/gnu/store/w5b3db8y2rq3d73b30m4c5z0ql270r9a-libsm-1.2.2/lib -Wl,-rpath -Wl,/gnu/store/6z06w9zfnq3zcr50vcv2wvzr5wpzvy7l-util-linux-2.29.2/lib -Wl,-rpath -Wl,/gnu/store/wfy8pwxjbyc9033sqb1snyfla3h8d02p-libice-1.0.9/lib -Wl,-rpath -Wl,/gnu/store/gdx6vk579px16dgv60hgrr1c2k1pwsni-libx11-1.6.5/lib -Wl,-rpath -Wl,/gnu/store/fpbm0nvl2zi4jksm22kr1mq3hfw79xdn-libxcb-1.12/lib -Wl,-rpath -Wl,/gnu/store/dr4qfgqmcv8vjfyi5bh6iqxmcnr5psxh-libxau-1.0.8/lib -Wl,-rpath -Wl,/gnu/store/ja06pq19g0cf2122kimk15z5yn0az73j-libxdmcp-1.1.2/lib -Wl,-rpath -Wl,/gnu/store/a3qkf2l3jqnpqibcg2iwbkak4d6scx28-libbsd-0.8.3/lib
make check-local
make[2]: Entering directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7'
make all-recursive
make[3]: Entering directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7'
Making all in libpolyml
make[4]: Entering directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7/libpolyml'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7/libpolyml'
Making all in libpolymain
make[4]: Entering directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7/libpolymain'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7/libpolymain'
Making all in .
make[4]: Entering directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7'
make[4]: Leaving directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7'
Making all in modules
make[4]: Entering directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7/modules'
Making all in IntInfAsInt
make[5]: Entering directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7/modules/IntInfAsInt'
echo "use \"./ROOT.sml\";" | ../../poly -q -error-exit
make[5]: *** [Makefile:461: IntInfAsInt] Error 1
make[5]: Leaving directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7/modules/IntInfAsInt'
make[4]: *** [Makefile:364: all-recursive] Error 1
make[4]: Leaving directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7/modules'
make[3]: *** [Makefile:706: all-recursive] Error 1
make[3]: Leaving directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7'
make[2]: *** [Makefile:470: all] Error 2
make[2]: Leaving directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7'
make[1]: *** [Makefile:997: check-am] Error 2
make[1]: Leaving directory '/tmp/guix-build-polyml-5.7.drv-0/polyml-5.7'
make: *** [Makefile:706: check-recursive] Error 1
phase `check' failed after 9.1 seconds
note: keeping build directory `/tmp/guix-build-polyml-5.7.drv-0'
builder for `/gnu/store/g8fkhnji7cizvlgcxh1nyr5jplpmh6fd-polyml-5.7.drv' failed with exit code 1
guix package: error: build failed: build of `/gnu/store/g8fkhnji7cizvlgcxh1nyr5jplpmh6fd-polyml-5.7.drv' failed
--8<---------------cut here---------------end--------------->8---
Mark
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 02/04: gnu: Add Poly/ML.
2017-07-17 16:01 ` 02/04: gnu: Add Poly/ML Mark H Weaver
2017-07-17 16:21 ` Mark H Weaver
2017-07-17 16:27 ` Mark H Weaver
@ 2017-07-18 1:13 ` Andy Patterson
2017-07-18 11:51 ` Ludovic Courtès
3 siblings, 0 replies; 6+ messages in thread
From: Andy Patterson @ 2017-07-18 1:13 UTC (permalink / raw)
To: Mark H Weaver; +Cc: guix-devel
Hi Mark,
On Mon, 17 Jul 2017 12:01:33 -0400
Mark H Weaver <mhw@netris.org> wrote:
> ludo@gnu.org (Ludovic Courtès) writes:
>
> > civodul pushed a commit to branch master
> > in repository guix.
> >
> > commit 9b7ee28d5700b47ae34bd47c32d250f042fbdbbd
> > Author: Andy Patterson <ajpatter@uwaterloo.ca>
> > Date: Sat Jul 15 18:17:25 2017 -0400
> >
> > gnu: Add Poly/ML.
> >
> > * gnu/packages/sml.scm: New file.
> > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>
> Thank you for this! I've become interested in some projects that
> require Poly/ML, notably CakeML and Milawa/Jitawa which are based on
> HOL4 and apparently require Poly/ML. Now I can play with those
> things :)
>
> > + (modify-phases %standard-phases
> > + (add-after 'build 'build-compiler
> > + (lambda* (#:key make-flags parallel-build?
> > #:allow-other-keys)
> > + (define flags
> > + (if parallel-build?
> > + (cons (format #f "-j~d" (parallel-job-count))
> > + make-flags)
> > + make-flags))
> > + (apply system* "make" (append flags (list
> > "compiler"))))))))
>
> This is not quite right. Phase procedures return a boolean value to
> indicate success or failure. 'system*' returns a numeric status code.
> All numbers are treated as true by Scheme, so this will fail to detect
> errors. By our usual conventions, we would replace the final
> expression above with:
>
> (zero? (apply system* "make" (append flags (list "compiler"))))
>
Oh yeah; whoops. Appending a patch to fix that.
> > + (home-page "http://www.polyml.org/")
> > + (synopsis "Standard ML implementation")
> > + (description "Poly/ML is a Standard ML implementation. It is
> > fully +compatible with the ML97 standard. It includes a thread
> > library, a foreign +function interface, and a symbolic debugger.")
>
> It might be worth mentioning that Poly/ML cannot be bootstrapped from
> source code, and includes a precompiled version of itself, or at least
> that's my understanding.
Hmm, I worked on this because I wanted to have a non-bootstrapped sml.
I looked all over the place for binaries and I didn't find any. I guess
we could just ask?
>
> Anyway, thanks again for this contribution.
>
> Mark
As for your building issues - I didn't experience any issues so I'm
not sure what to suggest. I'm not familiar with the project. Maybe we
need to turn off parallel builds or tests?
Thanks,
--
Andy
From 2505b5806e6a1cb88947dc253bd0f22ce5ce9fe1 Mon Sep 17 00:00:00 2001
From: Andy Patterson <ajpatter@uwaterloo.ca>
Date: Mon, 17 Jul 2017 20:51:52 -0400
Subject: [PATCH] gnu: polyml: Ensure that the compiler is built.
* gnu/packages/sml.scm (polyml)[arguments]<#:phases>: Check the return code of
"make compiler" in the 'build-compiler phase.
---
gnu/packages/sml.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm
index 6e57c4a4a..088109465 100644
--- a/gnu/packages/sml.scm
+++ b/gnu/packages/sml.scm
@@ -60,7 +60,8 @@
(cons (format #f "-j~d" (parallel-job-count))
make-flags)
make-flags))
- (apply system* "make" (append flags (list "compiler"))))))))
+ (zero?
+ (apply system* "make" (append flags (list "compiler")))))))))
(home-page "http://www.polyml.org/")
(synopsis "Standard ML implementation")
(description "Poly/ML is a Standard ML implementation. It is fully
--
2.13.2
^ permalink raw reply related [flat|nested] 6+ messages in thread