Opened 4 months ago

Last modified 3 months ago

#18283 assigned defect

Missing ChimeraX core static library on Mac

Reported by: Tristan Croll Owned by: Zach Pearson
Priority: major Milestone: 1.11
Component: Build System Version:
Keywords: Cc: chimerax-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-14.7.4-arm64-arm-64bit
ChimeraX Version: 1.10.1 (2025-07-24 20:15:27 UTC)
Description
I *think* I reported this a while back, but my login/password for Trac seem to have expired again so I can't search... it looks like the static libraries built by `chimerax.core` aren't being included in the MacOS distributions, causing my builds to fail:

{{{
ld: library 'chutil' not found
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Traceback (most recent call last):
  File "/Applications/ChimeraX-1.10.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/_distutils/spawn.py", line 87, in spawn
    subprocess.check_call(cmd, env=_inject_macos_ver(env))
  File "/Applications/ChimeraX-1.10.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/clang++', '-Wsign-compare', '-Wunreachable-code', '-fno-common', '-dynamic', '-DNDEBUG', '-g', '-fwrapv', '-O3', '-Wall', '-arch', 'arm64', '-arch', 'x86_64', '-g', '-dynamiclib', '-undefined', 'dynamic_lookup', '-Wl,-rpath,@loader_path', '-Wl,-install_name,@rpath/libclipper_cx.dylib', 'src_cpp/clipper_ext/xtal_mgr.o', 'src_cpp/clipper_ext/edcalc_ext.o', 'src_cpp/clipper_ext/sfcalc_obs_vdw.o', '-L/Applications/ChimeraX-1.10.1.app/Contents/lib', '-L/Applications/ChimeraX-1.10.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/core/lib', '-L/Applications/ChimeraX-1.10.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/atomic_lib/lib', '-L/Applications/ChimeraX-1.10.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/arrays/lib', '-L/Applications/ChimeraX-1.10.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/core/lib', '-Lsrc', '-lclipper', '-latomstruct', '-lchutil', '-lelement', '-o', 'src/lib/libclipper_cx.dylib']' returned non-zero exit status 1.
}}}

{{{
cd /Applications/ChimeraX-1.10.1.app/Contents
find . -name "*chutil*"  
      
./Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/core/include/chutil
}}}

I have Clipper and ISOLDE builds ready to go for Windows and Linux, but I'm stuck here on the Mac.


OpenGL version: 4.1 Metal - 88.1
OpenGL renderer: Apple M1 Pro
OpenGL vendor: Apple

Python: 3.11.4
Locale: UTF-8
Qt version: PyQt6 6.8.1, Qt 6.8.2
Qt runtime version: 6.8.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro18,1
      Model Number: Z14Y000GFB/A
      Chip: Apple M1 Pro
      Total Number of Cores: 10 (8 performance and 2 efficiency)
      Memory: 32 GB
      System Firmware Version: 11881.81.4
      OS Loader Version: 10151.140.19.700.2

Software:

    System Software Overview:

      System Version: macOS 14.7.4 (23H420)
      Kernel Version: Darwin 23.6.0
      Time since boot: 51 minutes, 59 seconds

Graphics/Displays:

    Apple M1 Pro:

      Chipset Model: Apple M1 Pro
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 16
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        HP Z27k G3:
          Resolution: 3840 x 2160 (2160p/4K UHD 1 - Ultra High Definition)
          UI Looks like: 1920 x 1080 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    alabaster: 1.0.0
    appdirs: 1.4.4
    appnope: 0.1.4
    asttokens: 3.0.0
    babel: 2.17.0
    beautifulsoup4: 4.13.3
    blockdiag: 3.0.0
    blosc2: 3.6.1
    build: 1.2.2.post1
    certifi: 2023.11.17
    cftime: 1.6.4.post1
    charset-normalizer: 3.4.2
    ChimeraX-AddCharge: 1.5.19
    ChimeraX-AddH: 2.2.7
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.6.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.20.2
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Aniso: 1.1.4
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.60.7
    ChimeraX-AtomicLibrary: 14.1.19
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.3
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 3.0.0
    ChimeraX-Boltz: 1.0
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.2
    ChimeraX-BuildStructure: 2.13.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.5.1
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.5
    ChimeraX-ChemGroup: 2.0.2
    ChimeraX-Clashes: 2.3
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.8
    ChimeraX-CommandLine: 1.3
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.10.1
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.5
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.4
    ChimeraX-Dicom: 1.2.7
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.1.4
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.4.1
    ChimeraX-Hbonds: 2.5.1
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.3
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.6.2
    ChimeraX-Label: 1.1.14
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.2
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.3
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchMaker: 2.2.2
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.10.1
    ChimeraX-MedicalToolbar: 1.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.16
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.19
    ChimeraX-ModelPanel: 1.5.1
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-MutationScores: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.2
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.14.1
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.10
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.4
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.3
    ChimeraX-ProfileGrids: 1.1.3
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.6.3
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.3
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.5.7
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.17.1
    ChimeraX-Shape: 1.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.1
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-SimilarStructures: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.19.1
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5.2
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.3
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.45.2
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.4.4
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.5
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.2
    contourpy: 1.3.2
    coverage: 7.10.0
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.0.12
    debugpy: 1.8.15
    decorator: 5.2.1
    docutils: 0.21.2
    executing: 2.2.0
    filelock: 3.18.0
    fonttools: 4.59.0
    funcparserlib: 2.0.0a0
    glfw: 2.9.0
    grako: 3.16.5
    h5py: 3.14.0
    html2text: 2024.2.26
    idna: 3.10
    ihm: 2.2
    imagecodecs: 2024.6.1
    imagesize: 1.4.1
    iniconfig: 2.1.0
    ipykernel: 6.29.5
    ipython: 8.26.0
    ipywidgets: 8.1.7
    jedi: 0.19.1
    Jinja2: 3.1.6
    jupyter_client: 8.6.3
    jupyter_core: 5.8.1
    jupyterlab_widgets: 3.0.15
    kiwisolver: 1.4.8
    line_profiler: 4.2.0
    lxml: 5.3.1
    lz4: 4.3.2
    MarkupSafe: 3.0.2
    matplotlib: 3.10.1
    matplotlib-inline: 0.1.7
    msgpack: 1.1.0
    ndindex: 1.10.0
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numexpr: 2.11.0
    numpy: 1.26.4
    OpenMM: 8.2.0
    openvr: 1.26.701
    packaging: 24.2
    ParmEd: 4.2.2
    parso: 0.8.4
    pep517: 0.13.1
    pexpect: 4.9.0
    pickleshare: 0.7.5
    pillow: 10.4.0
    pip: 25.0.1
    pkginfo: 1.11.1
    platformdirs: 4.3.8
    pluggy: 1.6.0
    prompt_toolkit: 3.0.51
    psutil: 7.0.0
    ptyprocess: 0.7.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pycollada: 0.8
    pydicom: 2.4.4
    Pygments: 2.18.0
    pynmrstar: 3.3.5
    pynrrd: 1.0.0
    PyOpenGL: 3.1.9
    PyOpenGL-accelerate: 3.1.9
    pyopenxr: 1.1.4501
    pyparsing: 3.2.3
    pyproject_hooks: 1.2.0
    PyQt6-commercial: 6.8.1
    PyQt6-Qt6: 6.8.2
    PyQt6-WebEngine-commercial: 6.8.0
    PyQt6-WebEngine-Qt6: 6.8.2
    PyQt6_sip: 13.10.0
    pytest: 8.4.1
    pytest-cov: 6.2.1
    python-dateutil: 2.9.0.post0
    pytz: 2025.2
    pyzmq: 27.0.0
    qtconsole: 5.5.2
    QtPy: 2.4.3
    qtshim: 1.1
    RandomWords: 0.4.0
    requests: 2.32.3
    roman-numerals-py: 3.1.0
    scipy: 1.14.0
    setuptools: 78.1.0
    sfftk-rw: 0.8.1
    six: 1.16.0
    snowballstemmer: 3.0.1
    sortedcontainers: 2.4.0
    soupsieve: 2.7
    Sphinx: 8.2.3
    sphinx-autodoc-typehints: 3.1.0
    sphinxcontrib-applehelp: 2.0.0
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 2.0.0
    sphinxcontrib-htmlhelp: 2.1.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 2.0.0
    sphinxcontrib-serializinghtml: 2.0.0
    stack-data: 0.6.3
    superqt: 0.7.1
    tables: 3.10.2
    tcia_utils: 1.5.1
    tifffile: 2025.3.13
    tinyarray: 1.2.4
    tornado: 6.5.1
    traitlets: 5.14.3
    typing_extensions: 4.14.1
    tzdata: 2025.2
    urllib3: 2.5.0
    wcwidth: 0.2.13
    webcolors: 24.11.1
    wheel: 0.45.1
    wheel-filename: 1.4.2
    widgetsnbextension: 4.0.14

Change History (20)

comment:1 by Tristan Croll, 4 months ago

Wondering if it might make life easier in the long run to just make these
little libraries header-only?

On Fri, Jul 25, 2025 at 4:12 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>

comment:2 by Tom Goddard, 4 months ago

Cc: Greg Couch added
Component: UnassignedBuild System
Owner: set to Zach Pearson
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionMissing ChimeraX core static library on Mac

comment:3 by Zach Pearson, 4 months ago

Priority: normalmajor

I tried to reproduce this on Clipper's master branch.

I pulled and then ran git submodule update and tried to build with the 1.10.1 release. Initially, the build complained that it couldn't find your library, mmdb2.

I commented out all other extensions in pyproject.toml and tried to build just tried to build mmdb2, but at the end the build complained that my version of numpy was too low (2.2.3 vs 2.2.6). I changed the TOML file to specify 2.2.3 and tried another build, which worked, so I uncommented the clipper and clipper_cx libaries, as well as the clipper_python extension and tried another build.

That failed again, so I explicitly added "src/lib" to anything uncommented but which depended on libraries from the same package (maybe bundle_builder should do this automatically?)

Finally, I could reproduce this chutil error. I saw that the correct path was being added to the library path, so I looked in the ChimeraX application and the libraries aren't there!

comment:4 by Zach Pearson, 4 months ago

They are however in the mac arm64 single-architecture build (and presumably the Intel build, I'm about to check). So the issue is with how the universal build is made.

comment:5 by Tristan Croll, 4 months ago

Hmm... I'm surprised you had so much trouble with building Clipper. Makes
me a touch concerned - this is the first version where I've ported over
from the bundle_builder.xml framework, so now I'm wondering if my builds
are quietly relying on something carried over from that. Will look into it.
Numpy 2.2.6 was bundled into the Linux and Windows ChimeraX 1.10 releases
(and I think Mac 1.10.1 - I certainly didn't hit an error there).

On Fri, Jul 25, 2025 at 9:29 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>
>
>
>
>

comment:6 by Zach Pearson, 4 months ago

Cc: chimerax-programmers added; Greg Couch removed

Is there any particular reason our core libraries are static? Our universal build script is set up to exclude static libraries from consideration.

comment:7 by Zach Pearson, 4 months ago

Personally I'm a universal build abolitionist. You've got to know at this point whether you've bought an M series Mac, right?

comment:8 by Tristan Croll, 4 months ago

Regarding your build challenges with mmdb2 etc.: yeah, this was an accident
from my migration from the bundle_builder.xml framework to pyproject.toml.
The former used to put *all* compiled libraries in the base src directory,
while the latter now puts Python extensions in src/ and non-Python compiled
libraries in src/lib. I failed to update the library-dirs entries
accordingly, but builds were still working on my machines because the last
set of libraries compiled by bundle_builder were still sitting in the src/
directory. Just pushed an updated pyproject.toml that now works (at least
on my Windows machine) after having removed all the old carryover files.

MMDB2 isn't really my code, by the way - it's some ancient CCP4 C library
for management of molecular data that came along as a Clipper dependency...
I don't actually use any of the Clipper code that relies on MMDB2 (since
ChimeraX does everything I need in that regard, to a much more modern
standard). Often thought about untangling things to remove it entirely, but
it's never really seemed urgent.

On Fri, Jul 25, 2025 at 9:58 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>

comment:9 by Tristan Croll, 4 months ago

Given that it's a static library... for the time being if you're able to
get me a copy of the missing chutil file that should be all I need to make
Clipper and ISOLDE builds to work with the current release... actually,
have there been any changes to this library since ChimeraX 1.9? If not I
suppose I could just sub in the file from there.

On Sat, Jul 26, 2025 at 12:05 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>
>

comment:10 by Zach Pearson, 4 months ago

chutil hasn't changed in over a year

comment:11 by Eric Pettersen, 4 months ago

Milestone: 1.11

comment:12 by Eric Pettersen, 4 months ago

Well, the libraries could be dynamic AFAICT. I believe the thinking was that these libraries are tiny and therefore it isn't worth the overhead to make them dynamic.

comment:13 by Tristan Croll, 4 months ago

You could get the same net effect (at the cost of a little extra compile
time) by just combining the header and .cpp into a single .h file, could
you not?

On Mon, 28 Jul 2025 at 21:49, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>

comment:14 by Eric Pettersen, 4 months ago

If multiple bundles all use these now-combined headers, I would think there would be conflicts at link time. Even multiple compilation units in the same bundle could have link conflicts. Is that not the case nowadays?

comment:15 by Eric Pettersen, 4 months ago

Hi Tristan,

ChimeraX 1.9 also lacks the chutil static libraries. We are wondering how you made a universal build for 1.9?

--Eric

comment:16 by Tristan Croll, 3 months ago

… huh. I have no idea.

On Tue, 29 Jul 2025 at 00:07, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>

comment:17 by Tristan Croll, 3 months ago

Ah - I think I remember now! At the time, I think I found that the need for
an explicit dependence on chutil was platform-dependent - on the Mac, if I
left it out it was still able to find the necessary symbols indirectly via
atomstruct, but in Windows (and Linux? Can't remember now) the builds would
fail due to an inability to find some CString symbols.

... but it seems something has changed now. As far as I can tell I can now
remove chutil from the library list on all three operating systems, and
still get a working Clipper build. Will double-check today.

On Tue, Jul 29, 2025 at 7:38 AM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>

comment:18 by Tristan Croll, 3 months ago

Hmm... yep - it seems I no longer need to have chutil in my list of library
dependencies. I've removed it from the pyproject.toml (for both Clipper and
ISOLDE), rebuilt everything from scratch, and confirmed it all works. Not
sure what changed and when - I definitely did need to declare it for quite
a few ChimeraX versions (starting when it was first split out into its own
library).

Also, a *mea culpa* on the numpy version: apparently I need to be much more
careful about cleaning out my user site-packages directory prior to builds.
While experimenting with OpenMM-CUDA-12 I installed it in there on my Linux
and Windows systems, and didn't notice that the CUDA libraries brought in
Numpy 2.2.6 with them. Then when rebuilding Clipper against the ChimeraX
1.10 release it failed with a dependency mismatch, and I just assumed that
you'd upgraded the ChimeraX Numpy version. Anyway... I nuked the user-space
ChimeraX 1.10 directories prior to doing final builds, and everything now
looks ready to go.

On Tue, Jul 29, 2025 at 9:36 AM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>
>

comment:19 by Tristan Croll, 3 months ago

I went ahead and uploaded new Clipper and ISOLDE builds to the Toolshed,
but decided to wait until tomorrow to announce.

On Tue, Jul 29, 2025 at 1:26 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>
>

comment:20 by Zach Pearson, 3 months ago

Great!

Note: See TracTickets for help on using tickets.