Opened 2 years ago
Closed 2 years ago
#9421 closed defect (fixed)
Should we update to Qt 6.5 which requires macOS 11?
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Platform | 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-10.16-x86_64-i386-64bit
ChimeraX Version: 1.7.dev202307200302 (2023-07-20 03:02:00 UTC)
Description
Qt 6.5 which the daily build just updated to requires macOS 11. Qt 6.4 and ChimeraX 1.6 required only macOS 10.14. Bug reports suggest we have many users at macOS 10.15, so this update will cause problems for many users. Selina, the intern in our lab, has macOS 10.15 (from she says 3 years ago) and was not able to run the daily build. ChimeraX bounces in the doc and then fails immediately with no indication why.
Log:
Could not find tool "Tabbed Toolbar"
UCSF ChimeraX version: 1.7.dev202307200302 (2023-07-20)
© 2016-2023 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
OpenGL version: 4.1 ATI-4.12.7
OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.
Python: 3.11.2
Locale: UTF-8
Qt version: PyQt6 6.5.1, Qt 6.5.1
Qt runtime version: 6.5.1
Qt platform: cocoa
Hardware:
Hardware Overview:
Model Name: iMac
Model Identifier: iMac18,3
Processor Name: Quad-Core Intel Core i7
Processor Speed: 4.2 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB
System Firmware Version: 512.0.0.0.0
OS Loader Version: 577~170
SMC Version (system): 2.41f2
Software:
System Software Overview:
System Version: macOS 13.4.1 (22F82)
Kernel Version: Darwin 22.5.0
Time since boot: 28 days, 20 hours, 5 minutes
Graphics/Displays:
Radeon Pro 580:
Chipset Model: Radeon Pro 580
Type: GPU
Bus: PCIe
PCIe Lane Width: x16
VRAM (Total): 8 GB
Vendor: AMD (0x1002)
Device ID: 0x67df
Revision ID: 0x00c0
ROM Revision: 113-D000AA-931
VBIOS Version: 113-D0001A1X-025
EFI Driver Version: 01.00.931
Metal Support: Metal 2
Displays:
iMac:
Display Type: Built-In Retina LCD
Resolution: Retina 5K (5120 x 2880)
Framebuffer Depth: 30-Bit Color (ARGB2101010)
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: Yes
Connection Type: Internal
Installed Packages:
alabaster: 0.7.13
appdirs: 1.4.4
appnope: 0.1.3
asttokens: 2.2.1
Babel: 2.12.1
backcall: 0.2.0
beautifulsoup4: 4.11.2
blockdiag: 3.0.0
blosc2: 2.0.0
build: 0.10.0
certifi: 2022.12.7
cftime: 1.6.2
charset-normalizer: 3.2.0
ChimeraX-AddCharge: 1.5.11
ChimeraX-AddH: 2.2.5
ChimeraX-AlignmentAlgorithms: 2.0.1
ChimeraX-AlignmentHdrs: 3.4
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.9.3
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.1.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.46.1
ChimeraX-AtomicLibrary: 10.0.8
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.3.2
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.1.2
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.10.4
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.2.2
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.3.2
ChimeraX-ChangeChains: 1.0.2
ChimeraX-CheckWaters: 1.3.1
ChimeraX-ChemGroup: 2.0.1
ChimeraX-Clashes: 2.2.4
ChimeraX-ColorActions: 1.0.3
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.3
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.7.dev202307200302
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.4.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.3
ChimeraX-Dicom: 1.2
ChimeraX-DistMonitor: 1.4
ChimeraX-DockPrep: 1.1.2
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.1.1
ChimeraX-Hbonds: 2.4
ChimeraX-Help: 1.2.1
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-Label: 1.1.7
ChimeraX-ListInfo: 1.2
ChimeraX-Log: 1.1.5
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.2
ChimeraX-Map: 1.1.4
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.1.1
ChimeraX-MCopy: 1.0
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.2
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.12
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.9
ChimeraX-ModelPanel: 1.4
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.2
ChimeraX-MouseModes: 1.2
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.1
ChimeraX-NIHPresets: 1.1.9
ChimeraX-NRRD: 1.1
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.10.2
ChimeraX-PDB: 2.7.2
ChimeraX-PDBBio: 1.0.1
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.1
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.2
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 3.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.1
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.9
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.1.1
ChimeraX-ShowSequences: 1.0.1
ChimeraX-SideView: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.12.1
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.1.2
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0.1
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.2.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1.2
ChimeraX-ToolshedUtils: 1.2.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.31
ChimeraX-uniprot: 2.3
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.2.2
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.2
ChimeraX-WebServices: 1.1.1
ChimeraX-Zone: 1.0.1
colorama: 0.4.6
comm: 0.1.3
contourpy: 1.1.0
cxservices: 1.2.2
cycler: 0.11.0
Cython: 0.29.33
debugpy: 1.6.7
decorator: 5.1.1
docutils: 0.19
executing: 1.2.0
filelock: 3.9.0
fonttools: 4.41.0
funcparserlib: 1.0.1
grako: 3.16.5
h5py: 3.9.0
html2text: 2020.1.16
idna: 3.4
ihm: 0.38
imagecodecs: 2023.7.10
imagesize: 1.4.1
ipykernel: 6.23.2
ipython: 8.14.0
ipython-genutils: 0.2.0
ipywidgets: 8.0.7
jedi: 0.18.2
Jinja2: 3.1.2
jupyter-client: 8.2.0
jupyter-core: 5.3.1
jupyterlab-widgets: 3.0.8
kiwisolver: 1.4.4
line-profiler: 4.0.2
lxml: 4.9.2
lz4: 4.3.2
MarkupSafe: 2.1.3
matplotlib: 3.7.2
matplotlib-inline: 0.1.6
msgpack: 1.0.4
nest-asyncio: 1.5.6
netCDF4: 1.6.2
networkx: 3.1
nibabel: 5.0.1
nptyping: 2.5.0
numexpr: 2.8.4
numpy: 1.25.1
openvr: 1.23.701
packaging: 21.3
ParmEd: 3.4.3
parso: 0.8.3
pep517: 0.13.0
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 10.0.0
pip: 23.0
pkginfo: 1.9.6
platformdirs: 3.9.1
prompt-toolkit: 3.0.39
psutil: 5.9.5
ptyprocess: 0.7.0
pure-eval: 0.2.2
py-cpuinfo: 9.0.0
pycollada: 0.7.2
pydicom: 2.3.0
Pygments: 2.14.0
pynrrd: 1.0.0
PyOpenGL: 3.1.7
PyOpenGL-accelerate: 3.1.7
pyparsing: 3.0.9
pyproject-hooks: 1.0.0
PyQt6-commercial: 6.5.1
PyQt6-Qt6: 6.5.1
PyQt6-sip: 13.5.1
PyQt6-WebEngine-commercial: 6.5.0
PyQt6-WebEngine-Qt6: 6.5.1
python-dateutil: 2.8.2
pytz: 2023.3
pyzmq: 25.1.0
qtconsole: 5.4.3
QtPy: 2.3.1
RandomWords: 0.4.0
requests: 2.31.0
scipy: 1.11.1
setuptools: 67.4.0
setuptools-scm: 7.0.5
sfftk-rw: 0.7.3
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
soupsieve: 2.4.1
sphinx: 6.1.3
sphinx-autodoc-typehints: 1.22
sphinxcontrib-applehelp: 1.0.4
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.1
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
stack-data: 0.6.2
tables: 3.8.0
tcia-utils: 1.5.1
tifffile: 2023.7.10
tinyarray: 1.2.4
tomli: 2.0.1
tornado: 6.3.2
traitlets: 5.9.0
typing-extensions: 4.7.1
tzdata: 2023.3
urllib3: 2.0.4
wcwidth: 0.2.6
webcolors: 1.12
wheel: 0.38.4
wheel-filename: 1.4.1
widgetsnbextension: 4.0.8
Attachments (2)
Change History (13)
comment:1 by , 2 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Platform |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Should we update to Qt 6.5 which requires macOS 11? |
comment:2 by , 2 years ago
comment:3 by , 2 years ago
If we are keeping the daily build at Qt 6.5 we should update the Notes on the download page to say macOS 11 is the minimum (in red font probably).
Also if sticking with Qt 6.5 we should update the ChimeraX Info.plist to say 11 is the minimum version. This will probably put a slash through the icon if someone installs it on macOS 10.15 or older. That probably won't be a clear indication of what is wrong but maybe the best we can do.
comment:4 by , 2 years ago
We should put some javascript in the download page that checks the macOS version and if it is 10.15 or older says their machine is too old for the daily build to run, that it requires 11.0 or newer, and leaves the daily build table blank (but still with "other releases" disclosure triangle). And we should do the same for the production release when 1.7 comes out and does not support 10.15.
Investigation reveals it is not possible to determine the macOS version number in a web page. Unfortunately when macOS when from 10.15 to 11 Apple tried changing the user agent string to 11_0_0 and it broke many web sites that expected 10_X_Y, so Apple decided to cap the user agent version number at 10_15_7 and that is what it has reported ever since. Also FireFox and Chrome followed suite and cap the macOS version at 10_15_7 in the user agent. So it is not possible to tell if the user has macOS 10_15_7 or 11 or newer.
comment:5 by , 2 years ago
Another issue for requiring macOS 11 is that our current Intel Mac build machine essex2.cgl.ucsf.edu runs macOS 10.14, so when it tries to run the test suite it fails. It fails trying to import chimerax.ui because the QtCore dylib fails to load due to a missing symbol. So any Qt import will fail. The test suite runs in nogui mode so possibly that should run without importing Qt. At any rate we might want to update the build machine to macOS 11 if we are going with Qt 6.5.
comment:6 by , 2 years ago
We would not want to update the build machine, because it is also the Chimera build machine. We would want to use a different build machine.
comment:7 by , 2 years ago
Elaine's office iMac (late 2012) and the current ChimeraX build machine (essex2, late 2012 iMac) cannot be updated beyond macOS 10.15. So those machines will no longer be useful for running or testing ChimeraX if we require a minimum of macOS 11.0.
While I would like to drop macOS 10.15 and older, I see that over our 5 current developers using Mac (Eric, Zach, Elaine, Selina, me) three are using macOS 10.15 (Eric laptop, Elaine office iMac, Selina personal laptop). So 60% of us are using a macOS version we are considering making unusable for current ChimeraX. While Eric found that only 8% of our Mac bug reports in the past 6 months are on 10.15 and older (from Eric ticket #9378 "FYI, there have been 505 bug reports on Mac since the beginning of this year, 8 of which (1.6%) are 10.14 and 31 (6.1%) are 10.15.") it is alarming that we are using it a lot.
macOS 11.0 came out in Fall of 2020, so less than 3 years ago, and we are considering requiring that all Mac ChimeraX users have an OS version less 3 years old.
If we switch to Qt 6.5 and minimum macOS 11.0 the main effect would not be until December 2023 when we release ChimeraX 1.7.
If ChimeraX 1.7 requires macOS 11, users on macOS 10.15 and 10.14 will still be able to use ChimeraX 1.6.
This situation where Qt has removed support for actively used operating systems burned us a year ago when they dropped CentOS 7 support with Qt 6, and in that case we also dropped CentOS 7 support in ChimeraX.
comment:8 by , 2 years ago
I changed the ChimeraX Info.plist to require minimum macOS version 11.0 in a test build and tried it on a macOS 10.15.7 machine (Elaine's iMac chopin). It shows the ChimeraX icon with a circle and slash through it in Finder (image attached). And trying to launch ChimeraX raises a useful error message that says ChimeraX requires macOS 11 and you are running macOS 10.15.7.
I think this behavior will make it easy for users to understand why ChimeraX does not work for them.
by , 2 years ago
Appearance of ChimeraX Qt 6.5 application icon on macOS 10.15.7
by , 2 years ago
| Attachment: | warning.png added |
|---|
Warning dialog when running ChimeraX Qt 6.5 on macOS 10.15.7.
comment:9 by , 2 years ago
I updated the mac_deployment_target from 10.14 to 11.0 for the daily builds in the build_macosx.sh script. Then it failed to compile on essex2, not surprising since essex2 is on macOS 10.14 (I think), an older macOS than 11.0. So I switched the build machine to descartes (my iMac desktop). I copied the codesign key chain to descartes and added it to the chimera account key chains. Tested the descartes build from plato and it worked and notarized and was put on the Download page.
I also updated the info for the download page to say minimum macOS version is 11.0 instead of 10.14 and I made the font red so it stands out.
comment:10 by , 2 years ago
Looking at ChimeraX check for updates logs from June 1, 2023 to July 24, 2023 showed that 7.6% of Mac checks were from macOS 10.15 and 10.14. I also looked at how many of those were running the latest ChimeraX (1.6 or 1.7 daily) since those are the people most likely to try to update to ChimeraX 1.7 when we release it, that was 3.4% (a bit less than half) were on current ChimeraX. I'd estimate that is about 300 user computers who might be adversely effected if we drop macOS 10.15 support.
Here are the full stats:
Here are number indicating the distribution of ChimeraX users on different macOS and ChimeraX versions from June 1, 2023 until today obtained from the ChimeraX "check for updates" logs. 3.4% of all Mac ChimeraX update checks were macOS 10.14 and 10.15 with the latest ChimeraX version 1.6 or 1.7 daily build. So about 44% of macOS 10.x users are running current ChimeraX. If this represents about 4 update checks per user (default check is every 2 weeks) then that is 316 users. 92% of check were on macOS 11, 12 or 13. 56% of all checks are from ChimeraX 1.6 or 1.7. Percent using ChimeraX 1.6 or 1.7 daily build on various macOS versions: --------------------------------------------------------------------------------------------------- 0.0% (0.0% of total) on macOS 10.13 of 146 (0.4%) update checks (1.2: 38, 1.3: 107, 1.4: 1) 34.8% (0.8% of total) on macOS 10.14 of 866 (2.3%) update checks (1.2: 137, 1.3: 107, 1.4: 171, 1.5: 150, 1.6: 293, 1.7: 8) 48.7% (2.6% of total) on macOS 10.15 of 1961 (5.3%) update checks (1.2: 148, 1.3: 148, 1.4: 293, 1.5: 417, 1.6: 901, 1.7: 54) 44.4% (3.4% of total) on macOS 10.14 or 10.15 of 2827 (7.6%) update checks (1.2: 285, 1.3: 255, 1.4: 464, 1.5: 567, 1.6: 1194, 1.7: 62) 48.1% (26.5% of total) on macOS 10.16 of 20477 (55.1%) update checks (1.2: 1490, 1.3: 1676, 1.4: 3272, 1.5: 4188, 1.6: 9372, 1.7: 479) 76.8% (1.6% of total) on macOS 11 of 751 (2.0%) update checks (1.2: 10, 1.3: 2, 1.4: 3, 1.5: 159, 1.6: 557, 1.7: 20) 68.1% (6.7% of total) on macOS 12 of 3664 (9.9%) update checks (1.3: 4, 1.4: 20, 1.5: 1143, 1.6: 2205, 1.7: 292) 70.3% (17.6% of total) on macOS 13 of 9295 (25.0%) update checks (1.3: 15, 1.4: 19, 1.5: 2727, 1.6: 6108, 1.7: 426) 70.1% (25.8% of total) on macOS 11 or 12 or 13 of 13710 (36.9%) update checks (1.2: 10, 1.3: 21, 1.4: 42, 1.5: 4029, 1.6: 8870, 1.7: 738) 56.9% (52.3% of total) on macOS 10.16 or 11 or 12 or 13 of 34187 (91.9%) update checks (1.2: 1500, 1.3: 1697, 1.4: 3314, 1.5: 8217, 1.6: 18242, 1.7: 1217) 55.7% (55.7% of total) on macOS 10.13 or 10.14 or 10.15 or 10.16 or 11 or 12 or 13 of 37160 (99.9%) update checks (1.2: 1823, 1.3: 2059, 1.4: 3779, 1.5: 8784, 1.6: 19436, 1.7: 1279) Notes -------- 1) The 10.16 counts represent Intel ChimeraX running on macOS 11, 12 or 13. These could be running on Intel or ARM CPUs. We only offered ARM builds starting with ChimeraX 1.5 so users with ChimeraX 1.4 or older on ARM Macs are still using Intel ChimeraX under Rosetta emulation. 2) ChimeraX 1.5 and 1.6 do not run on macOS 10.13.
comment:11 by , 2 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
We will use Qt 6.3.2 for the ChimeraX 1.7 release and current daily builds and will update to the latest Qt after that Nov/Dec 2023 release.
This fixes the Qt 6.4 mac dual display crash #9378 and uses the Qt from ChimeraX 1.5 which we had few problems. This will also give time to update Elaine's office iMac (2012) which cannot be updated beyond macOS 10.15.
Here is the link to the Qt 6.5 requirements
Here is the link to the Qt 6.3 (the link to the Qt 6.4 requirements is broken)