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 Englishlenglish5@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.