[Vm-dev] Building stack VM on windows fails

Igor Stasenko siguctua at gmail.com
Thu Jun 30 18:05:56 UTC 2011


There are two undefined symbols:


Linking C executable results/StackVM.exe
Creating library file: results/libStackVM.dll.a
CMakeFiles/StackVM.dir/objects.a(gcc3x-interp.c.obj): In function `returnAsThrou
ghCallbackContext':
c:/hudson/workspace/StackWin32/cog/src/vm/gcc3x-interp.c:34699: undefined refere
nce to `siglongjmp'
CMakeFiles/StackVM.dir/objects.a(sqWin32Prefs.c.obj): In function `CreatePrefsMe
nu':
c:/hudson/workspace/StackWin32/cog/platforms/win32/vm/sqWin32Prefs.c:374: undefi
ned reference to `recordPrimTraceFunc' 


 - siglongjmp
(it is found however in cointerp.c so JIT-flavored VMs don't have this
problem, but not stack ones)


The recordPrimTraceFunc() are used like following:

#if STACKVM
extern sqInt recordPrimTraceFunc();
#endif
...
#if STACKVM
    if (recordPrimTraceFunc())
      AppendMenu(hMenu, MF_STRING | MF_UNCHECKED, ID_DUMPPRIMLOG,
	       TEXT("Dump recent primitives"));
#endif

                                                                                                                                                                                                                                                                                 
again, it is defined in cogit.h/.c but obviously not in stack
interpreter, since stack not using cogit.

Maybe you meant
#if !STACKVM
?
Then it makes sense.

-- 
Best regards,
Igor Stasenko AKA sig.


More information about the Vm-dev mailing list