[Pharo-project] Trying to build alien plugin in linux

Javier Pimás elpochodelagente at gmail.com
Sat Feb 20 18:47:12 EST 2010


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20100220/145862f1/attachment.html>


More information about the Pharo-dev mailing list