<div dir="ltr"><div dir="ltr">On Sat, May 9, 2020 at 12:05 AM Beckmann, Tom <<a href="mailto:Tom.Beckmann@student.hpi.uni-potsdam.de">Tom.Beckmann@student.hpi.uni-potsdam.de</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi there!<br>
<br>
Replacing the whole #openGLLibraryName method with a simple<br>
^ 'GL'<br>
should work, as long as you adapt your LD_LIBRARY_PATH to include the arch specific libraries. For example adding<br>
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/"<br>
in your squeak.sh before the vm gets started should make sure that the image finds libgl*. Of course, if your libgl.so.1 is not found under that path, adjust accordingly.<br>
<br>
Alternatively, you can also specify the absolute path to the library, e.g.<br>
^ '/usr/lib/x86_64-linux-gnu/libGL.so'<br>
which may be a safer option to start from if you're having troubles getting it to run.<br></blockquote><div><br></div><div>'libGL.so' typically is installed by the opengl dev package as a symlink to 'libGL.so.1'. The user package installs 'libGL.so.1' and will *not* be found by the VM if you just specify 'GL' because the VM will only automatically try the '.so' suffix but not '.so.1'.</div><div><br></div><div>That is why 'libGL.so.1' is indeed the correct value to be returned from openGLLibraryName on Linux.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
For the apicall:'s, if you inspect the byte codes of the method, you will in fact notice that is has already been replaced for you. This happens in OpenGL>>#privateInstallLibrary:, but only updates the method's bytecode, not its source code (which is good, because otherwise this would end up in commits or your changes file).<br></blockquote><div><br></div><div>Yep. As Levente mentioned, you need to switch your browser to show decompiled code to see the actual methods being executed.</div><div><br></div><div>You will also see that apicall has been replaced by cdecl which is the right calling convention on Linux.</div><div><br></div><div>- Vanessa -</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Best,<br>
Tom<br><br>
</blockquote></div></div>