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 , 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?