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

Lawson English lenglish5 at cox.net
Mon Dec 19 11:12:53 UTC 2011


To answer my own question: with the latest Cog VMs and 4.3gamma image, 
the OpenGL example     works fine.

It appears to be an issue with Squeak 4.2 (4.1?) all-in-one 
distributions which don't have Cog as the default. Since I am no longer 
using a PowerPC Mac,  moving to Cog for everything won't be an issue for 
me, but I think this is a political decision that needs to be made: does 
the squeak community standardize on Intel-only/Cog-only, or will legacy 
PowerPC systems still be supported?

I believe that Pharo has gone all-Cog for the past few releases. I know 
plenty of people/schools that are still using  PowerMacs however, so the 
issue is not not as cut and dried as it might  be for Pharo.

L.

On 12/19/11 3:25 AM, 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
>
>>
>> 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