Opened 6 years ago
Closed 6 years ago
#2161 closed defect (duplicate)
Residue::find_atom missing from _ISOLDES_ libmolc.so?!?
| Reported by: | Eric Pettersen | 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 , 6 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Third Party |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Residue::find_atom missing from _ISOLDES_ libc.so?!? |
comment:2 by , 6 years ago
| Summary: | Residue::find_atom missing from _ISOLDES_ libc.so?!? → Residue::find_atom missing from _ISOLDES_ libmolc.so?!? |
|---|
comment:3 by , 6 years ago
| Blocking: | → 2160 |
|---|
comment:4 by , 6 years ago
comment:5 by , 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 , 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 , 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 , 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 , 6 years ago
So if I install Generic Linux rather than Ubuntu-specific ChimeraX, ISOLDE should work then?
comment:10 by , 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 , 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 , 6 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | assigned → closed |
It's ticket #1673. I'll add a comment to it and close this.
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?