[squeak-dev] Re: Still a bug with OpenGL ? Was {Re: Re: OpenGL in 4.1 or later?]

Bert Freudenberg bert at freudenbergs.de
Mon Dec 19 11:50:10 UTC 2011


On 19.12.2011, at 11:25, Andreas Raab wrote:

> On 12/19/2011 10:08, Alexander Lazarević wrote:
>> Just tested this in an up to date image and it worked. As always I had
>> to manually adapt the library path, but that was all.
> 
> Which, according to http://www.opengl.org/registry/ABI/ should not be necessary:
> 
> 3.1. There are two link-level libraries. libGL includes the OpenGL and GLX entry points and in general depends on underlying hardware and/or X server dependent code that may or may not be incorporated into this library. libGLU includes the GLU utility routines and should be hardware independent, using only the OpenGL API.
> 
> Each library has two names: the link name used on the ld command line, and the DT_SONAME within that library (specified by the -soname switch when linking the library), defining where it's looked up at runtime. Both forms must exist so that both linking and running will operate properly. The library names are:
> Link name 	Runtime name (DT_SONAME)
> libGL.so 	libGL.so.1
> libGLU.so 	libGLU.so.1
> 
> libGL.so and libGLU.so should be symbolic links pointing to the runtime names, so that future versions of the standard can be implemented transparently to applications by changing the link.
> 
> 3.2. These libraries must be located in /usr/lib. The X-specific library direction (/usr/lib/X11) was also considered, but existing practice on Linux and other platforms indicates that /usr/lib is preferable.
> 
> Cheers,
>  - Andreas

So the name that must be used for FFI under linux would be 'libGL.so.1'. Maybe this would make it work in general:

openGLLibraryName
	^ Smalltalk os osVersion = 'linux'
		ifTrue: ['libGL.so.1']
		ifFalse: ['GL']

- Bert -


>> 
>> Alex
>> 
>> 2011/12/17 Lawson English<lenglish5 at cox.net>:
>>> Has anyone tested this with 4.3?
>>> 
>>> It still doesn't work out of the box with 4.2 all-in-one, which means I
>>> can't do a "look how easy it is to do this in 3D" tutorial yet.
>>> 
>>> L.
>>> 
>>> On 9/11/11 6:09 PM, Lawson English wrote:
>>>> 
>>>> On a Mac, download the latest 4.2 all-in-one squeak.
>>>> 
>>>> Put the following into a workspace and "do it".
>>>> 
>>>> I get Error: External function failed. The offending method is
>>>> #beginFrame.
>>>> 
>>>> I'm using an Intel Mac, Mac OS X 10.6.8.
>>>> Doing the same code with Cog doesn't seem to show the errors.
>>>> 
>>>> L
>>>> 
>>>> (Installer repository: 'http://source.squeak.org/FFI')
>>>>    install: 'FFI-Pools';
>>>>    install: 'FFI-Kernel';
>>>>    install: 'FFI-Tests'.
>>>> 
>>>> (Installer repository: 'http://www.squeaksource.com/CroquetGL')
>>>>    install: '3DTransform';
>>>>    install: 'OpenGL-Pools';
>>>>    install: 'OpenGL-Core'.
>>>> 
>>>> OpenGL example.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
> 
> 




More information about the Squeak-dev mailing list