[self-interest] Problems compiling the Self vm on linux ?
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:
>> 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
>> 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?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Self-interest