From: Francis W. <f.j...@li...> - 2025-03-29 22:45:52
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="auto"><div>I'm fairly sure that the way I build wasm REDUCE doesn't involve makeall.sh. Try just following the instructions at the top of Makefile by hand. That's what I do.</div><div dir="auto"><br></div><div dir="auto">Francis<br><div dir="auto"><br><div class="elided-text">On 29 Mar 2025 9:02 pm, Michael Shulman <sh...@sa...> wrote:<br type="attribution"><blockquote style="margin:0 0 0 0.8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thanks everyone! I got version 6745 from svn and installed emscripten 2.0.34. The main program built fine, but for-emscripten/makeall.sh complained that</div><div><br></div><div>../../cslbase/headers.h:102:10: fatal error: 'crlibm.h' file not found<br></div><div><br></div><div>I found a file called crlibm.h in cslbuild/x86_64-unknown-ubuntu22.04/include, so I tried copying that into cslbase, and makeall was then able to make some more progress. But now I get a couple more errors that I have no idea what to do about:</div><div><br></div><div>../../cslbase/csl.cpp:2958:9: error: void function 'cslstart' should not return a value [-Wreturn-type]<br> THROW(LispStop);<br> ^~~~~~~~~~~~~~~<br>../../cslbase/lispthrow.h:890:35: note: expanded from macro 'THROW'<br> do { exceptionFlag = flavour; return SPID_Throw; } while(false)<br> ^ ~~~~~~~~~~<br>../../cslbase/csl.cpp:3653:5: error: use of undeclared identifier 'initThreadLocals'<br> initThreadLocals();<br> ^<br><br></div></div><br><div><div dir="ltr">On Sat, Mar 29, 2025 at 8:22 AM Francis Wright <<a href="mailto:f.j...@li...">f.j...@li...</a>> wrote:<br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb( 204 , 204 , 204 );padding-left:1ex"><div> <div dir="ltr"> <div style="font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> I haven't thought about Web REDUCE for a while, but I guess it's time that I did!</div> <div style="font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> <br> </div> <div style="font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> According to "/web/htdocs/web-reduce/README.md":</div> <div style="margin-top:1em;margin-bottom:1em;font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> 15 April 2024: The version currently on the REDUCE web site is the latest revision of REDUCE built using Emscripten 2.0.34, because I have had problems using later Emscripten versions.</div> <div style="margin-top:1em;margin-bottom:1em;font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> And the header displayed by Web REDUCE is</div> <pre><div style="font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )">Web REDUCE (6745), 2-Apr-2024 ...</div></pre> <div style="margin-top:1em;margin-bottom:1em;font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> So "/csl/new-embedded/for-emscripten/Makefile" should reliably build REDUCE 6745 using Emscripten 2.0.34.</div> <div style="margin-top:1em;margin-bottom:1em;font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> If somebody with the appropriate expertise can get the latest version of REDUCE to build with the latest version of Emscripten then that would be great; please let me know how to do it!</div> <div style="margin-top:1em;margin-bottom:1em;font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> In the meantime, I have more or less decided to stay with the build that currently works, but to update the version of REDUCE, i.e. the packages directory. I think that should work although I haven't actually done it yet.</div> <div style="margin-top:1em;margin-bottom:1em;font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> Once you have built REDUCE, you can play around with it using Node.js or the web files in the for-emscripten directory. And, of course, you can play around with Web REDUCE.</div> <div style="margin-top:1em;margin-bottom:1em;font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> As for "known problems", I list some on the web site, but I'll try to say a bit more later when I have more time, maybe tomorrow. But a key problem is the inherent asynchronicity of JavaScript/WebAssembly.</div> <div style="margin-top:1em;margin-bottom:1em;font-size:12pt;color:rgb( 0 , 0 , 0 )"> <span style="font-family:'calibri' , 'helvetica' , sans-serif">Francis</span><span style="font-family:'calibri' , 'arial' , 'helvetica' , sans-serif"><br> </span></div> <hr style="display:inline-block;width:98%"> <span style="font-family:'calibri' , 'arial' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"><b>From:</b> Michael Shulman via Reduce-algebra-developers<br> <b>Sent:</b> Friday, March 28, 2025 6:28 PM<br> <b>To:</b> Arthur Norman<br> <b>Cc:</b> <a href="mailto:red...@li...">red...@li...</a><br> <b>Subject:</b> Re: [Reduce-algebra-developers] compiling, for javascript </span> <div style="font-family:'calibri' , 'arial' , 'helvetica' , sans-serif;font-size:12pt;color:rgb( 0 , 0 , 0 )"> <br> </div> <div style="font-size:11pt">Thanks, that's very helpful! I assumed that because the github<br> version describes itself as a 'mirror' it would have exactly the same<br> code in it, but apparently not: I tried the svn version and it worked<br> just fine (for the regular version).<br> <br> Now I want to try to build the emscripten version. I am looking at<br> the instructions at<br> <a href="https://sourceforge.net/p/reduce-algebra/code/HEAD/tree/trunk/csl/new-embedded/for-emscripten/">https://sourceforge.net/p/reduce-algebra/code/HEAD/tree/trunk/csl/new-embedded/for-emscripten/</a><br> that are linked from<br> <a href="https://reduce-algebra.sourceforge.io/web-reduce/about.php?start">https://reduce-algebra.sourceforge.io/web-reduce/about.php?start</a> as<br> "for details of how to build this version of REDUCE". But whenever I<br> run any of the 'make' commands I get errors like<br> <br> make: *** No rule to make target 'allocate.o', needed by 'reduce.js'. Stop.<br> <br> I know you said that isn't your corner of the project, but maybe<br> someone else can help me with this?<br> </div> </div> </div></blockquote></div> </blockquote></div><br></div></div></div> |