Arduino IDE on Mac High Sierra - is it supported?

  • I am trying to compile my first "hello world" type program for the M5stick-C-Plus using the Arduino IDE. I get the error:

    [2327] Error loading Python lib '/var/folders/yw/dk6xgyd93vjbcglyz6tcmgvr0000gn/T/_MEIcUowqf/libpython3.8.dylib': dlopen: dlopen(/var/folders/yw/dk6xgyd93vjbcglyz6tcmgvr0000gn/T/_MEIcUowqf/libpython3.8.dylib, 10): Symbol not found: ____chkstk_darwin
    Referenced from: /var/folders/yw/dk6xgyd93vjbcglyz6tcmgvr0000gn/T/_MEIcUowqf/libintl.8.dylib (which was built for Mac OS X 10.15)
    Expected in: /usr/lib/libSystem.B.dylib
    in /var/folders/yw/dk6xgyd93vjbcglyz6tcmgvr0000gn/T/_MEIcUowqf/libintl.8.dylib
    exit status 255
    /Applications/ returned 255
    Error compiling for board M5Stick-C-Plus.

    Does this mean than compiling for M5stack devices under Arduino IDE requires Mac OS 10.15? I am running High Sierra (10.13.6).


  • High Sierra has Python 2 installed with the OS, so this looks like a dependency on Python3. I could install Python3 from, but I doubt it would work.

    I will give it a try in Linux, where Python3 has been standard for a long time.

    I'll propose a new question: What is the easiest way to get an M5Stack IDE working on an old Mac? I'm language neutral, C++, Python, even UIFlow is fine with me.

  • @wsanders You need to install Python 3 and configure the environmental path.
    Mac still defaults to py2 which is depreciated for modern none apple software.

  • Is there a particular environment variable that is used to point the IDE to Python3? One does not simply alter the PATH or LD_LIBRARY_PATH in one's shell or alias the "python" command to "python3", because older MacOS is very dependent on Python 2. I installed Python 3 with brew a few years ago and it hosed my system badly enough to warrant an OS reinstall.

  • @wsanders I just followed the install instructions to install Python3 in OSX
    All you are doing is adding a list of folders that tell the terminal where to look for python 3.
    Something like this guide works fine:

    Then once the variable is set you use python3 instead of python when issuing commands.