Solved the other problem, now I'm back to Alien. There are more issues.

There are some missing functions:

Linking C executable squeakvm
CMakeFiles/squeakvm.dir/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c.o: In function `sqGetInterpreterProxy':
/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:358: undefined reference to `internalIsImmutable'
/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:359: undefined reference to `internalIsMutable'
/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:360: undefined reference to `primitiveFailFor'
/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:361: undefined reference to `classAlien'
/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:362: undefined reference to `getStackPointer'
/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:363: undefined reference to `sendInvokeCallbackStackRegistersJmpbuf'
/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:364: undefined reference to `reestablishContextPriorToCallback'
/home/javier/st/squeak-svn/platforms/Cross/vm/sqVirtualMachine.c:365: undefined reference to `classUnsafeAlien'
collect2: ld returned 1 exit status
make[2]: *** [squeakvm] Error 1
make[1]: *** [CMakeFiles/squeakvm.dir/all] Error 2
make: *** [all] Error 2


I'm so close...

Thanks,
�������������������� Javier.


On Sat, Feb 20, 2010 at 8:02 PM, Javier Pim��s <elpochodelagente@gmail.com> wrote:
take it easy man, you look a bit nervous ;) . It is compiling now!!! but....

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


I think it should be linking to opengl lib but it isn't, maybe?. I also read in other thread that SocketPlugin is necesary but it didn't compile either. It said:

[ 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.)��������������������������������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c: In function ���primitiveResolverGetAddressInfo���:����������������������������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:324: error: ���nil��� undeclared (first use in this function)��������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c: In function ���primitiveResolverGetAddressInfoResult���:����������������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:380: error: ���nil��� undeclared (first use in this function)��������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c: In function ���primitiveResolverGetNameInfoHostResult���:��������������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:461: error: ���nil��� undeclared (first use in this function)��������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c: In function ���primitiveResolverGetNameInfoServiceResult���:��������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:500: error: ���nil��� undeclared (first use in this function)��������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c: In function ���primitiveResolverHostNameResult���:����������������������������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:539: error: ���nil��� undeclared (first use in this function)��������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c: In function ���primitiveResolverStartNameLookup���:��������������������������������������������������������������������������������
/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c:626: error: ���nil��� undeclared (first use in this function)��������������������������������������������������������������
make[2]: *** [SocketPlugin/CMakeFiles/SocketPlugin.dir/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/SocketPlugin/SocketPlugin.c.o] Error 1������������������������������������������������
make[1]: *** [SocketPlugin/CMakeFiles/SocketPlugin.dir/all] Error 2������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
make: *** [all] Error 2��


To solve this I tryied adding a

#define nil ((void*)0L)

as Marco said (for alien plugin) and almost worked, but gave errors, so I used:

#define nil 0L

I have to say that I've compiled some Pharo and Squeak VMs before and didn't get those errors. It may be related to loading VMMaker with ConfigurationOfVMMaker (I always did it manually before), or because of an updated version.

I'm very close to be able to test it, any ideas??

Regards,
�������������������� Javier.



On Sat, Feb 20, 2010 at 6:17 PM, John M McIntosh <johnmci@smalltalkconsulting.com> wrote:
Oh fine, stupid tool sets, ��update your VMMaker image with:��

Name: Alien-VMMaker-Plugins-John M McIntosh.8
Author: John M McIntosh
Time: 20 February 2010, 1:16:02 pm
UUID: a8e7e044-bf22-4013-85b7-c70d2081cd4e
Ancestors: Alien-VMMaker-Plugins-John M McIntosh.7

nil is null is (void*) 0 YES? Well not in non macintosh build chains since nil is UNDEFINED. Fine change nil to null that is in sq.h


On 2010-02-20, at 11:20 AM, Javier Pim��s wrote:

nice! this is way better, but I still have this:

/home/javier/st/squeak-svn/platforms/unix/src32/vm/intplugins/IA32ABI/IA32ABI.c: In function ���primCallOutDoubleReturn���:
--
===========================================================================
John M. McIntosh <johnmci@smalltalkconsulting.com> �� Twitter: ��squeaker68882
Corporate Smalltalk Consulting Ltd.����http://www.smalltalkconsulting.com
===========================================================================







--
Javier Pim��s
Ciudad de Buenos Aires



--
Javier Pim��s
Ciudad de Buenos Aires