Opened 6 years ago

Closed 6 years ago

#2161 closed defect (duplicate)

Residue::find_atom missing from _ISOLDES_ libmolc.so?!?

Reported by: pett Owned by: Tristan Croll
Priority: normal Milestone:
Component: Third Party Version:
Keywords: Cc: Conrad Huang
Blocked By: Blocking: 2160
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-4.15.0-54-generic-x86_64-with-debian-buster-sid
ChimeraX Version: 0.91 (2019-07-02)
Description
Running 'isolde tutorial' after installing ISOLDE for the first time for that account

Log:
Startup Messages  
---  
note | available bundle cache has not been initialized yet  
  
UCSF ChimeraX version: 0.91 (2019-07-02)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> isolde tutorial

isolde is provided by the uninstalled bundle ISOLDE  
Downloading bundle ChimeraX_ISOLDE-1.0b3.dev1-cp37-cp37m-linux_x86_64.whl  
Successfully installed ChimeraX-Clipper-0.9.6 ChimeraX-ISOLDE-1.0b3.dev1  
Installed ChimeraX-Clipper (0.9.6)  
Installed ChimeraX-ISOLDE (1.0b3.dev1)  

'clip' is a prefix of an existing command 'clipper'  

Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 297, in _register_cmd  
api._api_caller.register_command(api, self, ci, logger)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/toolshed/__init__.py", line 1515, in register_command  
return cls._get_func(api, "register_command")(ci.name, logger)  
File "/home/chimera/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/__init__.py", line 57, in register_command  
cmd.register_isolde(logger)  
File "/home/chimera/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/cmd.py", line 144, in register_isolde  
from chimerax.isolde.restraints.cmd import register_isolde_restrain  
File "/home/chimera/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/restraints/__init__.py", line 11, in <module>  
from ..molobject import Restraint_Change_Tracker  
File "/home/chimera/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/molobject.py", line 41, in <module>  
_c_functions = CFunctions(os.path.splitext(libfile)[0])  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/molc.py", line 23, in __init__  
self._c_lib = ctypes_open(library_path)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/molc.py", line 261, in ctypes_open  
lib = ctypes.PyDLL(lib_path)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/ctypes/__init__.py", line
356, in __init__  
self._handle = _dlopen(self._name, mode)  
OSError: /home/chimera/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/libmolc.so: undefined symbol:
_ZNK10atomstruct7Residue9find_atomERKN6chutil7CStringILi5EILc65ELc116ELc111ELc109ELc32ELc78ELc97ELc109ELc101EEEE  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 1935, in lazy_register  
deferred.call()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 1866, in call  
return self.proxy()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 287, in cb  
s._register_cmd(ci, l)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 300, in _register_cmd  
"register_command() failed for command %s in bundle %s:\n%s" % (ci.name,
self.name, str(e)))  
chimerax.core.toolshed.ToolshedError: register_command() failed for command
isolde in bundle ChimeraX-ISOLDE:  
/home/chimera/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/libmolc.so: undefined symbol:
_ZNK10atomstruct7Residue9find_atomERKN6chutil7CStringILi5EILc65ELc116ELc111ELc109ELc32ELc78ELc97ELc109ELc101EEEE  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/cmd_line/tool.py", line 254, in execute  
cmd.run(cmd_text)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2587, in run  
self._find_command_name(final, used_aliases=_used_aliases)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2330, in _find_command_name  
what.lazy_register(cmd_name)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 1937, in lazy_register  
raise RuntimeError("delayed command registration for %r failed (%s)" %
(cmd_name, e))  
RuntimeError: delayed command registration for 'isolde' failed
(register_command() failed for command isolde in bundle ChimeraX-ISOLDE:  
/home/chimera/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/libmolc.so: undefined symbol:
_ZNK10atomstruct7Residue9find_atomERKN6chutil7CStringILi5EILc65ELc116ELc111ELc109ELc32ELc78ELc97ELc109ELc101EEEE)  
  
RuntimeError: delayed command registration for 'isolde' failed
(register_command() failed for command isolde in bundle ChimeraX-ISOLDE:  
/home/chimera/.local/share/ChimeraX/0.91/site-
packages/chimerax/isolde/libmolc.so: undefined symbol:
_ZNK10atomstruct7Residue9find_atomERKN6chutil7CStringILi5EILc65ELc116ELc111ELc109ELc32ELc78ELc97ELc109ELc101EEEE)  
  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 1937, in lazy_register  
raise RuntimeError("delayed command registration for %r failed (%s)" %
(cmd_name, e))  
  
See log for complete Python traceback.  
  




OpenGL version: 4.5 (Core Profile) Mesa 18.2.8
OpenGL renderer: AMD TAHITI (DRM 2.50.0, 4.15.0-54-generic, LLVM 7.0.0)
OpenGL vendor: X.Org

Change History (12)

comment:1 by pett, 6 years ago

Cc: Conrad Huang added
Component: UnassignedThird Party
Owner: set to Tristan Croll
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionResidue::find_atom missing from _ISOLDES_ libc.so?!?

comment:2 by pett, 6 years ago

Summary: Residue::find_atom missing from _ISOLDES_ libc.so?!?Residue::find_atom missing from _ISOLDES_ libmolc.so?!?

comment:3 by Greg Couch, 6 years ago

Blocking: 2160

comment:4 by Greg Couch, 6 years ago

To follow up, why is there is a libmolc.so in ISOLDE? I would expect it to be using the one from chimerax.atomic. Perhaps it needs a different name?

comment:5 by Tristan Croll, 6 years ago

Yes, ISOLDE does have its own libmolc.so (wrapping its own functions using the molc api). Naming it that seemed like a good idea at the time and hasn't caused any trouble to date, but I suppose I should rename it. I don't think that's what's causing the issue here, though. A bit weird - runs fine for me after building against today's daily build. Will rebuild and check again.

comment:6 by Tristan Croll, 6 years ago

Just reinstalled ISOLDE from the ToolShed for today's build (version 0.91 (2019-07-02)) - works fine for me. Has there been another change in the core API that didn't make it into this build?

comment:7 by Tristan Croll, 6 years ago

Oh, wait - my *Mac* build runs fine. I see you're on Linux. I've seen similar errors when trying to use ISOLDE with the Ubuntu builds due to ABI incompatibility. Only works with the Generic Linux and CentOS builds due to ABI incompatibility with the Ubuntu compilers.

comment:8 by pett, 6 years ago

Well, I simply clicked the "Install" button on the toolshed to install it. Is there anything we can do to improve the toolshed's Install behavior on Ubuntu?

comment:9 by pett, 6 years ago

So if I install Generic Linux rather than Ubuntu-specific ChimeraX, ISOLDE should work then?

comment:10 by Tristan Croll, 6 years ago

Looks to me like that's the issue here. Just installed today's "Generic Linux" build on my laptop and installed ISOLDE from the ToolShed. Runs without trouble.

comment:11 by Tristan Croll, 6 years ago

I believe there's a ticket open about that, but I'm afraid I've lost track of the ID. If the ToolShed provides a way to distinguish between builds for different Linux flavours I can see about starting to make matching builds - but to do so will also require me to do the same for OpenMM to avoid having to juggle compiler versions.

comment:12 by pett, 6 years ago

Resolution: duplicate
Status: assignedclosed

It's ticket #1673. I'll add a comment to it and close this.

Note: See TracTickets for help on using tickets.