[chimera-dev] Packaging an extension... Error

Tom Goddard goddard at sonic.net
Mon Jun 15 09:51:54 PDT 2015


Hi Maryam,

  The problem is that your ctypes.CDLL(‘tracer_v2.dll’) can’t find the file ‘tracer_v2.dll’.  Probably if Chimera does not start in the directory with that dll it won’t find it.  You should give it a full path to the file.  If the DLL is in the same directory as your ctypes call then you might try

from os import path
dll_path = path.join(path.dirname(__file__), ‘tracer_v2.dll’)
dll = ctypes.CDLL(dll_path)

  Tom


> On Jun 13, 2015, at 7:24 AM, MARYAM ARAB <marab002 at odu.edu> wrote:
> 
> Dear Developers,
> 
> Hi,
> I have a C++ program and I want to package it under the tools menu. I made a dll from my program. 
> My dll gets two input ( pdb name and volum density level ,)
> and generate the output. when I save the python codes to execute my dll in the chimera IDLE, every thing works well and my program starts working and generates the output. here is the code that I ran in the IDLE:
>   
>      import ctypes
>      dll = ctypes.CDLL('tracer_v2.dll')
>     dll.calc.argtypes = [ctypes.c_char_p, ctypes.c_double]
>     dll.calc.restype = ctypes.c_int
>     print(dll.calc('1733_H',3))
> 
> The problem that I faced is that when I add an extension button to the chimera and wants to call my function (calc('1733_H', 3) ) from there, I get an error:
> 
> WindowsError Exception in Tk callback
>   Function: <function command at 0x0D1A89B0> (type: <type 'function'>)
>   Args: ()
> Traceback (innermost last):
>   File "C:\Program Files (x86)\Chimera 1.10.1\bin\lib\site-packages\Pmw\Pmw_1_3_3\lib\PmwBase.py", line 1747, in __call__
>     return apply(self.func, args)
>   File "C:\Program Files (x86)\Chimera 1.10.1\share\chimera\baseDialog.py", line 449, in command
>     getattr(s, buttonFuncName(txt))()
>   File "Z:\Tracer_Chimera\GUI\TracerUI\gui.py", line 43, in Apply
>     TracerUI.mainchain()
>   File "Z:\Tracer_Chimera\GUI\TracerUI\__init__.py", line 9, in mainchain
>     dll = ctypes.CDLL('tracer_v2.dll')
>   File "C:\Program Files (x86)\Chimera 1.10.1\bin\lib\ctypes\__init__.py", line 365, in __init__
>     self._handle = _dlopen(self._name, mode)
> WindowsError: [Error 126] The specified module could not be found
> 
> Would you please help me know how I can fix it?
> 
> Thanks, 
> Maryam Arab
> Research Assistant
> Old Dominion University
> 
> 
> _______________________________________________
> Chimera-dev mailing list
> Chimera-dev at cgl.ucsf.edu
> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-dev/attachments/20150615/fe611089/attachment.html>


More information about the Chimera-dev mailing list