Ok, well that looks like a problem with VMMaker, so I'll cc the vm-dev list

Note the 
        addrSize = interpreterProxy->byteSizeOf((oopForPointer( socketAddress ) - nil));
where as I have 
addrSize = interpreterProxy->byteSizeOf((oopForPointersocketAddress ) - 4));

So I think the current VMMaker build process is broken? 

Fortunately it won't compile so the person can't get to the point of having the VM crash. 



On 2010-02-20, at 3:47 PM, Javier Pimás wrote:

mine uses it. I generated this from an image that I crated this afternoon, with RC2 and latest VMMaker from monticello. It says:

EXPORT(sqInt) primitiveResolverGetAddressInfoResult(void) {
    sqInt addrSize;
    char *socketAddress;

    interpreterProxy->success(interpreterProxy->isBytes(interpreterProxy->stackValue(0)));
    socketAddress = ((char *) (interpreterProxy->firstIndexableField(interpreterProxy->stackValue(0))));
    if (interpreterProxy->failed()) {
        return null;
    }
    if (!(interpreterProxy->failed())) {
        addrSize = interpreterProxy->byteSizeOf((oopForPointer( socketAddress ) - nil));
        sqResolverGetAddressInfoResultSize(socketAddress, addrSize);
    }
    if (interpreterProxy->failed()) {
        return null;
    }
    interpreterProxy->pop(1);
    return null;
}

Regards,
             Javier.

On Sat, Feb 20, 2010 at 8:34 PM, John M McIntosh <johnmci@smalltalkconsulting.com> wrote:

On 2010-02-20, at 3:02 PM, Javier Pimás wrote:

take it easy man, you look a bit nervous ;) . It is compiling now!!! but....


It must be all the objective-c compiling i'm doing at the moment..... 


Alien compiled fine, but here I'm having some other problems, not related to alien itself, but to the vm building.

I had to add B3DAccelerator plugin because there were some errors, and now these errors mutated to:

Linking C executable squeakvm                                                                                                                                                     
B3DAcceleratorPlugin/libB3DAcceleratorPlugin.a(sqOpenGLRenderer.c.o): In function `glRenderVertexBuffer':                                                                         
/home/javier/st/squeak-svn/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:846: undefined reference to `glColorMaterial'                                          
/home/javier/st/squeak-svn/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:847: undefined reference to `glGetError'                                               
/home/javier/st/squeak-svn/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:848: undefined reference to `glEnable'                                                 
/home/javier/st/squeak-svn/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:849: undefined reference to `glGetError'

...

/home/javier/st/squeak-svn/platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c:159: undefined reference to `glLightModelfv'
/home/javier/st/squeak-svn/platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c:160: undefined reference to `glGetError'
collect2: ld returned 1 exit status
make[2]: *** [squeakvm] Error 1
make[1]: *** [CMakeFiles/squeakvm.dir/all] Error 2
make: *** [all] Error 2



[ 34%] Building C object SocketPlugin/CMakeFiles/SocketPlugin.dir/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c.o                       
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c: In function ‘netAddressToInt’:                                                          
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:206: error: ‘nil’ undeclared (first use in this function)                                
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:206: error: (Each undeclared identifier is reported only once                            
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:206: error: for each function it appears in.)                                            

Odd I wonder what is wrong since somewhere *most* of humanity has nil defined somewhere in some header. But you don't seem to. 
Toss a #define nil (void*) 0   in your sq.h 

However in looking at primitiveResolverGetAddressInfoResult  there is no 'nil', it has 'null'  
Could we see your since I don't see any 'nil' 


EXPORT(sqInt) primitiveResolverGetAddressInfoResult(void) {
sqInt addrSize;
char *socketAddress;

interpreterProxy->success(interpreterProxy->isBytes(interpreterProxy->stackValue(0)));
socketAddress = ((char *) (interpreterProxy->firstIndexableField(interpreterProxy->stackValue(0))));
if (interpreterProxy->failed()) {
return null;
}
if (!(interpreterProxy->failed())) {
addrSize = interpreterProxy->byteSizeOf((oopForPointer( socketAddress ) - 4));
sqResolverGetAddressInfoResultSize(socketAddress, addrSize);
}
if (interpreterProxy->failed()) {
return null;
}
interpreterProxy->pop(1);
return null;
}



--
===========================================================================
John M. McIntosh <johnmci@smalltalkconsulting.com>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================







--
Javier Pimás
Ciudad de Buenos Aires

--
===========================================================================
John M. McIntosh <johnmci@smalltalkconsulting.com>   Twitter:  squeaker68882
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================