Two errors building alpha VM in Windows, using VC++ 2005 Express Edition Beta2

Brian T. Rice water at tunes.org
Mon Jul 11 12:12:03 PDT 2005


Shaping <shaping at earthlink.net> said:

> Two errors occurred while compiling the alpha VM in Windows, using
VC++ 2005 
> Express Edition Beta2.  Both problems are in
> 
> 
> int readExternalLibraryError(struct ByteArray *messageBuffer) {
> //TODO: do the equivalent of dlerror() on unix and write the
string into
> // the buffer, returning the length.
> char *message;
> DWORD dw = GetLastError();
> FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
> NULL,
> dw,
> MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
> (LPTSTR) &message,
> 0, NULL);
> if (message == NULL)
> return 0;
> int len = strlen(message);                     (error)
> assert(BYTEARRAY_LEN(messageBuffer) >= len);   (error)
> memcpy(messageBuffer->elements, message, len);
> LocalFree(message);
> return len;
> }
> 
> at the lines indicated.  I declared len at the top of the function:
> 
> int readExternalLibraryError(struct ByteArray *messageBuffer) {
> //TODO: do the equivalent of dlerror() on unix and write the
string into
> // the buffer, returning the length.
> char *message;
> int len;
> DWORD dw = GetLastError();
> FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
> NULL,
> dw,
> MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
> (LPTSTR) &message,
> 0, NULL);
> if (message == NULL)
> return 0;
> len = strlen(message);
> assert(BYTEARRAY_LEN(messageBuffer) >= len);
> memcpy(messageBuffer->elements, message, len);
> LocalFree(message);
> return len;
> }
> 
> It compiles how,

Thanks.

> but when I "wdvm little.image", there is a problem, too:
> 
> The method from:to: was not found for the following arguments:
> {[
> ].  {#obj1. #obj2}. []}
> 
> No restarts are available.
> 
> 
> Has anyone fixed this in the Windows build?

This has nothing to do with it being a Windows build; it is an
image-side bug which I have seen before and recall fixing, having to
do with compareAndHashUsingSlots:. Try grabbing the latest tarball
(and alpha VM's/images) and running that.




More information about the Slate mailing list