From: Michael S. <sh...@sa...> - 2025-03-29 00:49:11
|
I submitted an issue <https://github.com/reduce-algebra/reduce-algebra/issues/85> on the github mirror. Thanks for the suggestions about updating the makefile. Changing the references to allocate.o and cslgc.o does let it get further. I added gc-check.o too, although it didn't seem to have any noticeable effect yet. Now it gets stuck on bytes1.o saying it has no rule to make ../../cslbase/opnames.cpp. The only file I found with a similar name is ../../embedded/opnames.c, so I tried replacing the reference with that; that silenced that particular complaint but I don't know if it might cause problems later. Next the compilation of ../../cslbase/u01.cpp fails with a bunch of errors saying "unknown type name 'Save'" and "no matching function for call to 'reclaim'" (it needs 4 arguments). I grepped through the sources and found a definition of a 4-argument "reclaim" in csl/embedded/gc.c, which sounds plausible, but I'm not a C/C++ programmer and I can't guess how to bring this into scope when compiling the uxx files. If I just add "gc.o" to the "main_o_files", as I did with the others, it complains that it has no rule to make it; and I don't see any references to gc.o or gc.c in the root Makefile.am. On Fri, Mar 28, 2025 at 3:35 PM Arthur Norman <ac...@ca...> wrote: > On Fri, 28 Mar 2025, Michael Shulman wrote: > > > Thanks, that's very helpful! I assumed that because the github > > version describes itself as a 'mirror' it would have exactly the same > > code in it, but apparently not: I tried the svn version and it worked > > just fine (for the regular version). > > > It may well copy across to github nicely but the subversion repository may > get updated several times in a day so keeping quite up with it may be a > chalklenge. Most of the time that should not matter and I know that some > people really prefer git over subversion. However if I look there right > now if has unexpanded "$Id:$ stuff there which as you found out so I guess > that the mirroring process "tidies that up" with in this particular case > bad consequences. I know that git is not keen on simple sequential > revision numbers but maybe you can contact the maintainer of the git > mirror and see if they can get those preserved as they make thei copies? > > > > > Now I want to try to build the emscripten version. I am looking at > > the instructions at > > > https://sourceforge.net/p/reduce-algebra/code/HEAD/tree/trunk/csl/new-embedded/for-emscripten/ > > that are linked from > > https://reduce-algebra.sourceforge.io/web-reduce/about.php?start as > > "for details of how to build this version of REDUCE". But whenever I > > run any of the 'make' commands I get errors like > > > > make: *** No rule to make target 'allocate.o', needed by 'reduce.js'. > Stop. > > > > I know you said that isn't your corner of the project, but maybe > > someone else can help me with this? > > > As with various of the sections beyond the ones that do simple builds for > Windows, Linux and Mac the Makefiles there are not routinely checked and > updated even when there are serious changes elsewhere - the sort-of stance > is that what is being provided is a starting point for a programmer who is > going to develop on top of it and who hence is liable to be capable of > discerning what has to be done - and where IDEALLY they will then propose > fixes and we register them as additional people able to maintain stuff - > with them taking a particular interest in that section of the code because > they are using it! I think that here you will find that a while back > "allocate.cpp" was superceded by "newallocate.cpp"! and similarly > newcslgc.cpp took over from cslgc.cpp (and possibly gc-check.cpp was > added). There was a fairly extended time when both versions were present > and a "./configure"-time option could enable the newer version while it > was being tested a bit. > So I suggest you compare the list of sources in csl/cslbase/Makefile.am > with the ones in the new-embedded directory and that will reveal some > fairly simple updates. > > I am a bit in the middle of other things and really do not want to break > my trains of thought by investigating that this weekend. But if the > scripts to make webreduce are somewhere they may also have this sorted > out... > > Arthur > > |