[Vm-dev] Re: [Pharo-project] Trying to build alien plugin in linux

John M McIntosh johnmci at smalltalkconsulting.com
Sun Feb 21 00:05:53 UTC 2010


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((oopForPointer( socketAddress ) - 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 at 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 at smalltalkconsulting.com>   Twitter:  squeaker68882
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ===========================================================================
> 
> 
> 
> 
> 
> 
> 
> -- 
> Javier Pimás
> Ciudad de Buenos Aires

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




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100220/75d0542e/attachment-0001.htm


More information about the Vm-dev mailing list