I also tried gl shaderSource_shader: shader count: 1 string: (NBExternalAddress fromString: shaderString) length: (NBExternalObject null) . still getting "Error during FFI call : NIL" . This is the full method : createShader: shaderType string: shaderString " create shader using its source and compile it , return shader" | shader | shader := gl createShader: shaderType . gl shaderSource_shader: shader count: 1 string: (NBExternalAddress fromString: shaderString) length: (NBExternalObject null) . gl compileShader: shader. ^ shader . I also use gl getError to get any possible opengl error in my part , It reports that there is no such error.I am continuing investigating Nativeboost -- View this message in context: http://forum.world.st/Understanding-NBOpenGL-tp4686514p4695575.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.