I will attempt as you have said.

I have already done other things and managed to get a successfull build.
I can even load a pharo image successfully!
Thats about it, do anything, and it crashes.
I will do as you say and report back. In the mean time comments are welcome.

Output from crash:

$ ./squeak /home/dusty/pharo-image/pharo.image

relocating call to invalid address

Squeak VM version: 4.0-2552 #1 Mon Jun 4 19:52:45 SAST 2012 gcc 4.2.1
Built from: CoInterpreter VMMaker.oscog-eem.159 uuid: cbf7f95a-6fe2-4578-898e-47afb8524be4 Jun 4 2012 With: StackToRegisterMappingCogit VMMaker.oscog-eem.159 uuid: cbf7f95a-6fe2-4578-898e-47afb8524be4 Jun 4 2012
Revision: VM: r2552 http://www.squeakvm.org/svn/squeak/branches/Cog
Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins
Build host: OpenBSD dent.local 5.1 GENERIC#160 i386
plugin path: /home/dusty/CogVM/CogVM/unixbuild/bld/ [default: /home/dusty/CogVM/CogVM/unixbuild/bld/]


Abort trap (core dumped)
$

Code where the error message comes from (cogit.c):
<snip...>
static void
relocateCallBeforeReturnPCby(AbstractInstruction * self_in_relocateCallBeforeReturnPCby, sqInt retpc, sqInt delta)
{
sqInt distance;

if (delta != 0) {
distance = ((((byteAt(retpc - 1)) << 24) + ((byteAt(retpc - 2)) << 16)) + ((byteAt(retpc - 3)) << 8)) + (byteAt(retpc - 4));
distance += delta;
byteAtput(retpc - 1, (((usqInt) distance) >> 24) & 255);
byteAtput(retpc - 2, (((usqInt) distance) >> 16) & 255);
byteAtput(retpc - 3, (((usqInt) distance) >> 8) & 255);
byteAtput(retpc - 4, distance & 255);
if (0) {
assert((((usqInt) (callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)))) >= (minCallAddress()));
}
else {
if (!((((usqInt) (callTargetFromReturnAddress(self_in_relocateCallBeforeReturnPCby, retpc)))) >= (minCallAddress()))) {
error("relocating call to invalid address");
}
}
}
}
<.../snip>

On , Stuart Henderson <s...@spacehopper.org> wrote:
On 2012/06/02 15:07, Dusty wrote:

> In my feeble and ignorance, I'm attempting to build CogVM on OpenBSD.

> I've come across some problems that my limited skills cannot solve.



> -I/home/dusty/CogVM/openCogVm/platforms/Cross/vm

> -I/home/dusty/CogVM/openCogVm/src/vm -I/usr/X11R6/include -c -o

> sqUnixMain.o /home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c

> /home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c:62:22:

> error: execinfo.h: No such file or directory



Build with -I/usr/local/include (and install the libexecinfo port if you haven't already)



> /home/dusty/CogVM/openCogVm/platforms/unix/vm/sqUnixMain.c:820:3:

> error: #error need to implement extracting pc from a ucontext_t on

> this system



If this is the ucontext.h stuff, afaik nobody has implemented ucontext

for OpenBSD, certainly it's not in-tree.




Reply via email to