Hi,<br><br>I would like to get into the source code of the Self vm a little bit. if only to make it better, for example porting the gui to cairo on linux. But I can't seem to compile it and get a working executable.<br>
<br>I created build scripts using redo on <a href="https://github.com/mildred/self">my personal branch</a>. That's all the *.do files. these are basically shell scripts that mirror what the release/buildLinuxVM script does. For the moment it only forward orders to make, but I plan to make it compile everything once I am successful getting a Self vm that works. The only major difference with Makefiles is that I wrote are:<br>
<ul><li>a <a href="https://github.com/mildred/self/blob/master/vm/linux/generated/lists.do">perl script</a> to postprocess vm/linux/generated/Dependancies. The \ at end of lines got removed for unknown reasons, and the perl script just put them again.</li>
<li>I added back the -ldl linker flag, or else linking failed because it couldn't find dlopen<br></li></ul><br>When I compile, I get a Self binary, but the linker tells me:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">...</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Compiling vmDate</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Linking Self</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/usr/bin/ld: warning: cannot find entry symbol start; defaulting to 000000000804c660</span><br></div><br>When I start it, it seems to work:<br><br><div style="margin-left: 40px; font-family: courier new,monospace;">
$ ./Self<br>Self Virtual Machine Version 4.1.13, Thu 08 Sep 11 15:02:41 Linux<br>Copyright 1989-2003: The Self Group (type _Credits for credits)<br><br>for I386:  LogVMMessages = true<br>for I386:  PrintScriptName  = true<br>
for I386:  Inline = true<br>for I386:  SICDeferUncommonBranches = false (not implemented)<br>for I386:  SICReplaceOnStack = false (not implemented)<br>for I386:  SaveOutgoingArgumentsOfPatchedFrames = true<br>VM# <br></div>
<br>But if I do anything, it crashes:<br><div style="margin-left: 40px;"><br>
<span style="font-family: courier new,monospace;">VM# </span><b style="font-family: courier new,monospace;">quit</b><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
Internal error: signal 11 code 1 addr 0x53565759 pc 0x80df3bf.</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
VM Version: 4.1.13, Thu 08 Sep 11 15:02:41 Linux</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
Self process 17824 on silly has crashed.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
Do you want to:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
   1) Quit Self (optionally attempting to write a snapshot)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
   2) Try to print the Self stack</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
   3) Try to return to the Self prompt</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
   4) Force a core dump</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
   5) Print the interrupted context registers</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
Your choice: 1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
Enter snapshot name (hit return to omit snapshot) > </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
No snapshot specified, will skip this step</span></div><br>I get the same thing if I do ./Self -s ~/Downloads/Clean-4.4.snap (snapshot downloaded from the Self website)<br><br>Do you have any idea of what went wrong?<br>
<br>Thanks<br><br>Mildred<br>