Problems compiling the Self vm on linux ?

Mildred Ki'Lya mildred593 at gmail.com
Thu Sep 8 14:08:56 UTC 2011


Hi,

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.

I created build scripts using redo on my personal
branch<https://github.com/mildred/self>.
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:

   - a perl script<https://github.com/mildred/self/blob/master/vm/linux/generated/lists.do>to
postprocess vm/linux/generated/Dependancies. The \ at end of lines got
   removed for unknown reasons, and the perl script just put them again.
   - I added back the -ldl linker flag, or else linking failed because it
   couldn't find dlopen


When I compile, I get a Self binary, but the linker tells me:

...
Compiling vmDate
Linking Self
/usr/bin/ld: warning: cannot find entry symbol start; defaulting to
000000000804c660

When I start it, it seems to work:

$ ./Self
Self Virtual Machine Version 4.1.13, Thu 08 Sep 11 15:02:41 Linux
Copyright 1989-2003: The Self Group (type _Credits for credits)

for I386:  LogVMMessages = true
for I386:  PrintScriptName  = true
for I386:  Inline = true
for I386:  SICDeferUncommonBranches = false (not implemented)
for I386:  SICReplaceOnStack = false (not implemented)
for I386:  SaveOutgoingArgumentsOfPatchedFrames = true
VM#

But if I do anything, it crashes:

VM# *quit*

Internal error: signal 11 code 1 addr 0x53565759 pc 0x80df3bf.

VM Version: 4.1.13, Thu 08 Sep 11 15:02:41 Linux

Self process 17824 on silly has crashed.
Do you want to:
   1) Quit Self (optionally attempting to write a snapshot)
   2) Try to print the Self stack
   3) Try to return to the Self prompt
   4) Force a core dump
   5) Print the interrupted context registers
Your choice: 1
Enter snapshot name (hit return to omit snapshot) >
No snapshot specified, will skip this step

I get the same thing if I do ./Self -s ~/Downloads/Clean-4.4.snap (snapshot
downloaded from the Self website)

Do you have any idea of what went wrong?

Thanks

Mildred
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20110908/1f6e7395/attachment.html>


More information about the Self-interest mailing list