Using the Squeak-3.2-5 stuff from Ian's site (and 3.4a), I tried to do a build with all internal modules, and got this:
B3DAcceleratorPlugin/B3DAcceleratorPlugin.a(B3DAcceleratorPlugin.o): In function `primitiveCreateRendererFlags': /home/ned/Squeak/Squeak-3.2-5/src/vm/intplugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c:284: undefined reference to `b3dxCreateRendererFlags' /usr/X11R6/lib/libGL.a(glxext.o): In function `__glXGetCurrentContext': glxext.o(.text+0x1a): undefined reference to `pthread_key_create' glxext.o(.text+0x31): undefined reference to `pthread_getspecific' /usr/X11R6/lib/libGL.a(glxext.o): In function `__glXSetCurrentContext': glxext.o(.text+0x6a): undefined reference to `pthread_key_create' glxext.o(.text+0x87): undefined reference to `pthread_setspecific' /usr/X11R6/lib/libGL.a(glthread.o): In function `_glthread_InitTSD': glthread.o(.text+0x1e): undefined reference to `pthread_key_create' /usr/X11R6/lib/libGL.a(glthread.o): In function `_glthread_GetTSD': glthread.o(.text+0x76): undefined reference to `pthread_getspecific' /usr/X11R6/lib/libGL.a(glthread.o): In function `_glthread_SetTSD': glthread.o(.text+0xbf): undefined reference to `pthread_setspecific'
Suggestions welcome.
Hi Ned,
On Thu, 21 Nov 2002, Ned Konz wrote:
Using the Squeak-3.2-5 stuff from Ian's site (and 3.4a), I tried to do a build with all internal modules, and got this:
B3DAcceleratorPlugin/B3DAcceleratorPlugin.a(B3DAcceleratorPlugin.o): In function `primitiveCreateRendererFlags': /home/ned/Squeak/Squeak-3.2-5/src/vm/intplugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c:284: undefined reference to `b3dxCreateRendererFlags'
Strange. My version doesn't mention b3dxCreateRendererFlags anywhere near line 284.
The above is a macro defined by B3DAccelPlugin.h. The most likely cause of the problem is that the 3.2-5 version of this header is out of sync with something generated from the image when you reconfigured B3D as internal and regenerated it. (I won't dig up the reference to my message of N years ago in which I pointed out the problems with the [at the time still proposed] VMM scheme of configuring plugins as internal vs. external at generation time, as opposed to arranging for the differences to be accounted for at compile time. ;) I'm looking into it now. I'll get back to you.
/usr/X11R6/lib/libGL.a(glxext.o): In function `__glXGetCurrentContext': glxext.o(.text+0x1a): undefined reference to `pthread_key_create'
[...etc...]
This is also odd...
emilia$ nm /usr/X11R6/lib/libGL.a | fgrep pthread emilia$
i.e., there are no references to any pthread functions at all in my (XFree86 4.2.1.1) libGL.
Suggestions welcome.
What kind of Unix are you using? If I have access to something similar then I'll try building a completely internal VM on it later today to see if I can reproduce the problem.
Regards, Ian
On Thursday 21 November 2002 09:39 pm, Ian Piumarta wrote:
Hi Ned,
On Thu, 21 Nov 2002, Ned Konz wrote:
Using the Squeak-3.2-5 stuff from Ian's site (and 3.4a), I tried to do a build with all internal modules, and got this:
B3DAcceleratorPlugin/B3DAcceleratorPlugin.a(B3DAcceleratorPlugin. o): In function `primitiveCreateRendererFlags': /home/ned/Squeak/Squeak-3.2-5/src/vm/intplugins/B3DAcceleratorPlu gin/B3DAcceleratorPlugin.c:284: undefined reference to `b3dxCreateRendererFlags'
Strange. My version doesn't mention b3dxCreateRendererFlags anywhere near line 284.
The above is a macro defined by B3DAccelPlugin.h. The most likely cause of the problem is that the 3.2-5 version of this header is out of sync with something generated from the image when you reconfigured B3D as internal and regenerated it. (I won't dig up the reference to my message of N years ago in which I pointed out the problems with the [at the time still proposed] VMM scheme of configuring plugins as internal vs. external at generation time, as opposed to arranging for the differences to be accounted for at compile time. ;) I'm looking into it now. I'll get back to you.
/usr/X11R6/lib/libGL.a(glxext.o): In function `__glXGetCurrentContext': glxext.o(.text+0x1a): undefined reference to `pthread_key_create'
[...etc...]
This is also odd...
emilia$ nm /usr/X11R6/lib/libGL.a | fgrep pthread emilia$
i.e., there are no references to any pthread functions at all in my (XFree86 4.2.1.1) libGL.
$ nm /usr/X11R6/lib/libGL.a | fgrep pthread U pthread_getspecific U pthread_key_create U pthread_self U pthread_setspecific U pthread_mutex_lock U pthread_mutex_unlock U pthread_getspecific U pthread_key_create U pthread_mutex_init U pthread_mutex_lock U pthread_mutex_unlock U pthread_setspecific
What kind of Unix are you using? If I have access to something similar then I'll try building a completely internal VM on it later today to see if I can reproduce the problem.
$ uname -a Linux ned 2.4.19 #4 Mon Aug 26 19:29:37 PDT 2002 i686 unknown $ rpm -q --whatprovides /usr/X11R6/lib/libGL.a XFree86-devel-4.2.0-8
On Fri, 22 Nov 2002, Ian Piumarta wrote:
Hi Ned,
On Thu, 21 Nov 2002, Ned Konz wrote:
Using the Squeak-3.2-5 stuff from Ian's site (and 3.4a), I tried to do a build with all internal modules, and got this:
B3DAcceleratorPlugin/B3DAcceleratorPlugin.a(B3DAcceleratorPlugin.o): In function `primitiveCreateRendererFlags': /home/ned/Squeak/Squeak-3.2-5/src/vm/intplugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c:284: undefined reference to `b3dxCreateRendererFlags'
Strange. My version doesn't mention b3dxCreateRendererFlags anywhere near line 284.
Mine does. This is the latest version from the Croquet image.
The above is a macro defined by B3DAccelPlugin.h.
Right. Ned - you need to get the current plattforms/Cross tree from SourceForge. Also included in my Croquet VM patches from http://isgwww.cs.uni-magdeburg.de/~bert/croquet/
What kind of Unix are you using? If I have access to something similar then I'll try building a completely internal VM on it later today to see if I can reproduce the problem.
I built my Tea VM completely internal. If I remember correctly, the only odd problem was that "make" depends on src/plugins.ext, which is not generated by VMMaker if all plugins are internal (I usually zap src/ and regenerate all).
And I had to remove DropPlugin because some function was not implemented in sqUnixDragDrop.c. Wouldn't it be better to just remove platforms/unix/plugins/DropPlugin/ until it is implemented? Then VMMaker sees that a platform file is missing and excludes it on its own.
-- Bert
Ian Piumarta ian.piumarta@inria.fr is claimed by the authorities to have written:
The above is a macro defined by B3DAccelPlugin.h. The most likely cause of the problem is that the 3.2-5 version of this header is out of sync with something generated from the image when you reconfigured B3D as internal and regenerated it. (I won't dig up the reference to my message of N years ago in which I pointed out the problems with the [at the time still proposed] VMM scheme of configuring plugins as internal vs. external at generation time, as opposed to arranging for the differences to be accounted for at compile time. ;)
Hasn't been that way for quite a while now. Plugin code is generated the same for internal and external usage with compile-time defines making the required differences. Pay attention that boy in the back pew!
tim
squeak-dev@lists.squeakfoundation.org