[BUG]ExternalFunction class(Object)>>error:

Andreas Raab andreas.raab at gmx.de
Mon Jan 5 23:54:28 UTC 2004


Hi Daniel,

This is a problem with the FFI not finding libGL.so for some reason. The
TGraphicsTest uses only GL functions from the VM (which probably use a
slightly different lookup process from the FFI). You should be able to track
the problem down by making something simple work, say:

    GLX new glGetError.

I'd expect glGetError to fail in the same way here and once this works it
should be okay.

Cheers,
  - Andreas

----- Original Message ----- 
From: <danielv at netvision.net.il>
To: <squeak-dev at lists.squeakfoundation.org>
Sent: Monday, January 05, 2004 11:43 PM
Subject: [BUG]ExternalFunction class(Object)>>error:


> Hi guys.
>
> Tried to run Croquet on Linux. Have OpenGL running, tests report
>
> ****
> ANALYSIS:
> This hardware has accelerated OpenGL support (good news).
> This hardware has sufficient depth buffer support (good news).
> This hardware has stencil buffer support (good news).
>
> SUMMARY: This system should be capable of running Tea just fine.
> ****
>
> But when I try to drag out the Tea Test Morph, I get the wb attached
> below. I am using a stock 3.4 vm, which according to minnow/2904 have
> the required patches. I applied the content and image side patches. I've
> tried both Berts (as on that page) and one I found on Ian's site named
> GLXUnix-ikp.2.cs.
>
> Any ideas? this error doesn't seem to appear in the wiki page. Anybody
> familiar with it?
>
> Thanks,
> Daniel Vainsencher
>
> 6 January 2004 1:31:36 am
>
> VM: unix - Squeak3.6beta of '4 July 2003' [latest update: #5411]
> Image: TeaSqueak3.2 [latest update: #276]
>
> ExternalFunction class(Object)>>error:
> Receiver: ExternalFunction
> Arguments and temporary variables:
> aString: 'Unable to find function address'
> Receiver's instance variables:
> superclass: ExternalObject
> methodDict: a MethodDictionary(#argTypes->a CompiledMethod (2149)
> #callingConve...etc...
> format: 136
> instanceVariables: #('flags' 'argTypes')
> organization: ('initialize-release' initialize)
> ('accessing' argTypes flags mod...etc...
> subclasses: #(ExternalLibraryFunction)
> name: #ExternalFunction
> classPool: a Dictionary(#FFIErrorMessages->a Dictionary(-1->'Callout
> mechanism ...etc...
> sharedPools: an OrderedCollection(a
> Dictionary(#FFIAtomicTypeMask->251658240 #F...etc...
> environment: a SystemDictionary(lots of globals)
> category: nil
>
> ExternalFunction class>>externalCallFailed
> Receiver: ExternalFunction
> Arguments and temporary variables:
> errCode: 13
> Receiver's instance variables:
> superclass: ExternalObject
> methodDict: a MethodDictionary(#argTypes->a CompiledMethod (2149)
> #callingConve...etc...
> format: 136
> instanceVariables: #('flags' 'argTypes')
> organization: ('initialize-release' initialize)
> ('accessing' argTypes flags mod...etc...
> subclasses: #(ExternalLibraryFunction)
> name: #ExternalFunction
> classPool: a Dictionary(#FFIErrorMessages->a Dictionary(-1->'Callout
> mechanism ...etc...
> sharedPools: an OrderedCollection(a
> Dictionary(#FFIAtomicTypeMask->251658240 #F...etc...
> environment: a SystemDictionary(lots of globals)
> category: nil
>
> GLXUnix(Object)>>externalCallFailed
> Receiver: a GLXUnix
> Arguments and temporary variables:
>
> Receiver's instance variables:
> engine: a GLXUnix
> vertexBuffer: a B3DVertexBuffer
> transformer: a B3DPrimitiveTransformer
> shader: a B3DPrimitiveShader
> clipper: a B3DPrimitiveClipper
> rasterizer: a B3DPrimitiveRasterizer
> properties: nil
> handle: 0
> target: nil
> bufRect: 0 at 0 corner: 4 at 4
> textures: an IdentityDictionary()
> backingForm: B3DBackingForm(64x64x32)
> frameNumber: 0
> activeCamera: nil
> frontFace: 2305
> currentPortal: nil
> maxPortalDepth: 5
> components: nil
> changeTexture: true
> morph: a TeaTest(437)
> test: false
> textureManager: a TextureManager
> textureDictionary: a Dictionary()
> frameStamp: 0
> fontManager: a TFontManager
> filePath: ''
> widgetDictionary: a Dictionary()
> glListRegistry: a WeakIdentityKeyDictionary()
> frameScale: 1.0
> frameScaleSquared: 1.0
> snapshots: an OrderedCollection()
>
> GLXUnix>>glGenLists:
> Receiver: a GLXUnix
> Arguments and temporary variables:
> range: 1
> Receiver's instance variables:
> engine: a GLXUnix
> vertexBuffer: a B3DVertexBuffer
> transformer: a B3DPrimitiveTransformer
> shader: a B3DPrimitiveShader
> clipper: a B3DPrimitiveClipper
> rasterizer: a B3DPrimitiveRasterizer
> properties: nil
> handle: 0
> target: nil
> bufRect: 0 at 0 corner: 4 at 4
> textures: an IdentityDictionary()
> backingForm: B3DBackingForm(64x64x32)
> frameNumber: 0
> activeCamera: nil
> frontFace: 2305
> currentPortal: nil
> maxPortalDepth: 5
> components: nil
> changeTexture: true
> morph: a TeaTest(437)
> test: false
> textureManager: a TextureManager
> textureDictionary: a Dictionary()
> frameStamp: 0
> fontManager: a TFontManager
> filePath: ''
> widgetDictionary: a Dictionary()
> glListRegistry: a WeakIdentityKeyDictionary()
> frameScale: 1.0
> frameScaleSquared: 1.0
> snapshots: an OrderedCollection()
>
> --- The rest of the stack ---
> TCube(TPrimitive)>>enableCaching
> TCube(TPrimitive)>>initialize:
> TCube>>initialize:
> TCube class>>initialize:
> TSpinner>>initialize:
> TSpinner class>>initialize:
> TeaTest(TeapotMorph)>>makeLight:
> TeaTest(TeapotMorph)>>initialize
> TeaTest(Morph)>>initializeToStandAlone
> TeaTest class(Morph class)>>newStandAlone
> TeaTest class(Object)>>launchPartVia:label:
> [] in IconicButton(SimpleButtonMorph)>>doButtonAction
> BlockContext>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> IconicButton(SimpleButtonMorph)>>doButtonAction
> ...etc...
>




More information about the Squeak-dev mailing list