From d7d0beb2f683f5aac285429a8e93d510f11f9a77 Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauld.mccarthy@gmail.com> Date: Wed, 19 Aug 2015 17:48:51 +0100 Subject: [PATCH] Was it this simple all along? Explicitly setting libraryt path before OpenGL is imported. I still seem to need to restart though .. --- fsl/tools/render.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/fsl/tools/render.py b/fsl/tools/render.py index c9c925f6d..e346114e1 100644 --- a/fsl/tools/render.py +++ b/fsl/tools/render.py @@ -12,12 +12,9 @@ See: - :mod:`fsl.fsleyes.fsleyes_parseargs` """ -# -# TODO Separate out lightbox/ortho canvas layout and option configuration. -# - import os +import os.path as op import sys import logging @@ -310,6 +307,14 @@ def run(args, context): fsl.runTool('render', argv, env=env) sys.exit(0) + # Make sure that FSL_OSMESA_PATH is definitely on the + # library path before OpenGL is imported (which occurs + # in fskl.fsleyes.gl) - pyinstaller clears the + # DYLD_LIBRARY_PATH env var before running a compiled + # script, so our above restart is useless. + os.environ[_LD_LIBRARY_PATH] = os.environ.get(_LD_LIBRARY_PATH, '') + \ + op.pathsep + env['FSL_OSMESA_PATH'] + import fsl.fsleyes.gl as fslgl import fsl.fsleyes.gl.osmesaslicecanvas as slicecanvas import fsl.fsleyes.gl.osmesalightboxcanvas as lightboxcanvas -- GitLab