Skip to content

Meta: Scientific Python macOS Stack #16215

@ax3l

Description

@ax3l

This issue is a multi-months experience report on getting a pretty standard scientific software stack up on macOS. Thank you to @LDAmorim for trying and reporting all things in a dedicated manner. You are the best! ✨
Thank you also already to everyone that helped us in the last months, you rock 🚀

Setup a Compiler

The first steps are already problematic.
Clone-and-go is not really an option even on the latest macOS Catalina, too many things are just GCC specific. One can document this, to ease the pain.

Users will try to bootstrap a GCC with spack install gcc. This usually/often/randomly(?) will fail when bootstrapping from AppleClang (latest test: works 🎉). The Slack-level work-around is to use brew install gcc and register that. If that's the only way to get started, then let's document that.

Alternatively, let's try to get dependency/package issues fixed with AppleClang.

The Software Stack

spack install py-jupyter
spack install py-scipy
spack install py-matplotlib
spack install py-docutils
spack install py-packaging
spack install py-sympy
spack install py-mpi4py
spack install py-sphinx
spack install py-sphinxcontrib-programoutput
spack install py-sphinx-rtd-theme
spack install graphviz
spack install git
spack install mercurial
spack install subversion

Related Issues

So far, half of the newly reported issue were solvable. Other related macOS + GCC issues (among other open ones in which the user participates):

Still challenging are even some basics:

Time to Solution

Just to mention, build times on Apple laptops for python stacks are problematic, in part since people keep older hardware (but with recent OS versions) for (too) many years and in part because all laptop build times are problematic (a maximum of 4 physical cores is what most people have these days).

A single issue down the stack rebuilds many large dependencies such as llvm regularly, since such huge projects are used in many popular python packages. One cannot understate what an influence build caches for macOS would have.

Impact

macOS developer laptops are (for me) surprisingly common, for example more than half of our group develops on one. So covering common stacks reliably will have a large impact. (Memo to myself: *Apply nudge to all of you to switch to Linux now. You are all just using a GNU/Linux software stack in an expensive case :-p * Back to topic?)

Information on your system

macOS 10.15 Catalina

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions