Opened 6 years ago

Closed 6 years ago

#2124 closed defect (fixed)

Bundle's initialize() method doesn't get called on first installation

Reported by: Tristan Croll Owned by: Conrad Huang
Priority: moderate Milestone:
Component: Tool Shed Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

In order to correctly load its libraries for OpenCL and CUDA, OpenMM requires the environment variable OPENMM_PLUGIN_DIR to be set before it's imported for the first time (the attempt to load its plugins happens when the top-level __init__.py is run, so this has to happen before anything is imported from OpenMM. After some head-scratching debugging over the weekend I've moved the necessary code to ISOLDE's BundleAPI.initialize() method and set customInit="true" in bundle_info.xml to make this happen on ChimeraX startup.

After looking into a report from Tom about the builds I uploaded last night, it appears that the initialize() method doesn't get called on first installation of the bundle, so anyone attempting to run ISOLDE immediately after installing will be faced with the message that no OpenCL or CUDA libraries were found.

The upshot here is that for any plugin with a custom init, initialize() needs to be called on installation or it won't work properly until after ChimeraX is restarted.

Change History (4)

comment:1 by Conrad Huang, 6 years ago

Status: assignedfeedback

I've added code to the daily build (0.91) for calling the custom (and manager) initialization functions for newly installed bundles. Unfortunately, I cannot easily test it with ISOLDE due to ChimeraX Core version mismatch. Is there anyway you can build ISOLDE/Clipper bundles for 0.91 and test? Thanks.

in reply to:  2 ; comment:2 by tic20@…, 6 years ago

I uploaded versions compatible with 0.91 two days ago. Will test today, anyway.
 

 


in reply to:  3 ; comment:3 by tic20@…, 6 years ago

That *seems* to be OK now (I can start ISOLDE without the "no OpenCL or 
CUDA" warning appearing), but there's a new bug in View preventing me 
from actually testing if a simulation will start. Will raise a new 
ticket for that.

On 2019-06-28 04:26, ChimeraX wrote:

comment:4 by Conrad Huang, 6 years ago

Resolution: fixed
Status: feedbackclosed
Note: See TracTickets for help on using tickets.