[squeak-dev] 64 bit FFI (was: porting Croquet to Squeak6.0 alpha...)

Bert Freudenberg bert at freudenbergs.de
Tue Mar 24 22:20:46 UTC 2020


What's the actual error in 32 bits?

Also, make sure that FFI works at all - I think there are test examples in
the FFI package.

- Bert -

On Tue, Mar 24, 2020 at 11:59 AM gettimothy <gettimothy at zoho.com> wrote:

> Hi Bert,
>
> I got the latest 5.3 32 bit installed on the old laptop.
>
> on linux, glxgears works.
>
> OpenGL example does not work.
>
> Same error as on the 64 bit box:
>
>
> glPixelStorei: pname with: param
> "This method was automatically generated."
> "void glPixelStorei(GLenum pname, GLint param);"
> <apicall: void 'glPixelStorei' (ulong long) module: '#openGLLibraryName'>
> ^self externalCallFailed
>
>
> cheers,
>
> tty
>
> ---- On Wed, 11 Mar 2020 18:57:39 -0400 *Bert Freudenberg
> <bert at freudenbergs.de <bert at freudenbergs.de>>* wrote ----
>
> I'd suggest to get OpenGL working outside of Croquet first:
>
> http://www.squeaksource.com/CroquetGL.html
>
> Step 1: Verify this works in 32 bits. (assuming you are doing this on
> Linux, you can run 32 bit Squeak side-by-side with the 64 bit one)
> Step 2: Make it work in 64 bits.
>
> The second step requires that you understand how FFI works, and how it
> handles e.g. pointers and integer sizes.
> I am assuming we do have a working 64 bit FFI, at least for x86_64
> machines.
>
> E.g. the OGLUnix>>glExtGetProcAddress: method returns a pointer. On a 32
> bit system, that fits into a 'ulong' which is 32 bits. On a 64 bit system,
> a pointer is 64 bits wide so it would not fit into a 32 bit word. Now I
> don't know how many bits 'ulong' has in our 64 bit FFI, but that
> declaration may have to change. Etc. pp.
>
> If you have questions about FFI then those are best directed at the vm-dev
> list since it is dealing with VM-level interfaces. CC'ing, please follow up
> there.
>
> - Bert -
>
> On Wed, Mar 11, 2020 at 2:54 PM gettimothy via Squeak-dev <
> squeak-dev at lists.squeakfoundation.org> wrote:
>
> Okey dokey,
>
> Poking along, there is a stray glyph in OGLUnix openGLLibraryName after
>
> openGLLibraryName
> ^Smalltalk osVersion = 'linux'
> ifTrue: ['libGL.so.1']
> ifFalse: ['GL']
>
> I removed it in my install and got past that error.
>
> Working exclusively with Croquet(Master)...
>
>
>
> My next error is in OGLUnixX11LE(OpenGL)>>glMatrixMode:
>
> glMatrixMode: mode
> "This method was automatically generated."
> "void glMatrixMode(GLenum mode);"
> <apicall: void 'glMatrixMode' (ulong) module: '#openGLLibraryName'>
> ^self externalCallFailed
>
> The <apicall:...> fails
>
> How to think about this?
>
> Is Croquet behind OpenGL latest?
> Would teaching myself OpenGL programming be of use to the Croquet project?
>
> cheers,
>
> tty
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200324/023bb9a2/attachment.html>


More information about the Squeak-dev mailing list