wiki:Dev2022-7-18

ChimeraX Developer Meeting

Attendance: Eric, Zach, Tom, Greg

July 18, 2022

Agenda

  • Tristan wants devtoolset-9 CentOS 7 ChimeraX for compiling ABI compatible ISOLDE.
  • Github Actions continuous integration
  • Mac M1 port
  • QtPy shim
  • Make installing on the Mac more obvious
    • More download Notes?
    • README in .dmg?

General

ChimeraX

General

Build System

1) Supporting IDEs

  • may only need editable installs (will require workaround as namespace packages cannot be installed in this mode automatically)
  • editable installs should also let us call ChimeraX with Python for rapid iteration and the C launcher for detailed crash info
  • Zach mentioned PyCharm, LSP (Language Server Protocol), XCode
  • Greg mentioned Visual Studio

2) API for getting C headers: get_include (see: numpy.get_include)

  • native-packaging moves bundle header and source files to bundle/src/include/module \
  • maybe just use header files?

3) API for getting library directories: get_libdir

4) macOS compiler call in Makefiles

Infrastructure

1) Beta releases on Toolshed

2) Decoupling core bundle version number from the ChimeraX release number

3) Prereq audit after 27 June

4) arm64 port

Chimera

1) Back up the build machine to a solid state drive


Discussion

  • Tristan wants devtoolset-9 CentOS 7 ChimeraX for compiling ABI compatible ISOLDE.
    • To compile ISOLDE on Linux compatible with our distributions Tristan needs CentOS 7
    • We no longer distribute CentOS 7 ChimeraX so Tristan would have to build his own from scratch.
    • Tom thinks he is asking for a CentOS 7 ChimeraX so he does not have to build it.
    • Greg suggests maybe we should switch to use Debian 10 as our base Linux and that would be used for Toolshed packages that use C++.
  • Github Actions continuous integration
    • Zach has Linux and Mac builds working
    • Some trouble with OpenSSL on CentOS 8. Greg says use Makefile.centos which tells ChimeraX not to build openssl.
    • Zach tried Windows build using WSL instead of Cygwin. Had problems because system identifies itself as Ubuntu.
    • Greg thinks simplest to keep the Windows builds using Cygwin for now.
    • Zach says Linux Github build sometimes fails to get plato prereqs. Seems to be firewall issue.
    • Discussed looking for some cloud hosting for the prereq binaries we include in ChimeraX.
  • Mac M1 port
    • Phil Thompson found PyQt6 problem in commercial wheels.
    • Riverbank license code modifies QtCore.abi3.so (part of PyQt6) invalidating its code signature and does not re-sign it. M1 Mac fails on this, although Intel Mac is fine.
    • Phil said he will take out license check on Mac until he finds a solution.
    • He adds the license check using Linux so can[t easily re-sign the Mac library.
  • QtPy shim
    • Zach tried using QtPy instead of our Qt shim and it worked after adding our 4 custom shim functions (e.g. that check if Qt object is deleted).
    • Says QtPy developers might put our 4 functions.
    • Tom suggests our Qt shim is so simple that replacing with QtPy is not worth the effort.
    • Would need to keep Qt namespace for plugins.
    • Tom says qtpy developers showed little interest in Qt 6 a year ago. They seem to maintain it just for their Python IDE (Spider?). So switch to it may not reduce our maintenance.

Action Items

  • Present github continuous integration tutorial. Zach
Last modified 3 years ago Last modified on Jul 22, 2022, 9:34:42 PM
Note: See TracWiki for help on using the wiki.