[self-interest] Problems compiling the Self vm on linux ?

David Ungar ungar at me.com
Thu Sep 8 16:42:58 UTC 2011



-- David (tapped out on my iPhone; blame it for any typoze;-)

On Sep 8, 2011, at 8:47 AM, David Ungar <ungar at me.com> wrote:

> All I can suggest are the obvious:
> 
> google the linker error message to figure it out,
> 
> Run the VM ( compiled -g -O0 ) in a debugger. There are also debug options you can turn on--been a long time--but it sounds really broken and thus easier to fix. 
> 
> - David (from iPad, typos likely)
> 
> On Sep 8, 2011, at 7:08 AM, Mildred Ki'Lya <mildred593 at gmail.com> wrote:
> 
>> 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. 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 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/861631cc/attachment.html>


More information about the Self-interest mailing list