[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