title: Troubles with OpenCV/import cv2 on Mac, have tried so many things, now new error
body: <p>Errors:</p>
  
  <ul>
  <li>pip3 install opencv-contrib-python</li>
  <li>import cv2</li>
  <li>Original Error: Symbol not found: ___addtf3</li>
  <li>Current Error: Symbol not found: __cg_jpeg_resync_to_restart</li>
  </ul>
  
  <p>Environment:</p>
  
  <ul>
  <li>opencv-contrib-python 4.1.2.30</li>
  <li>iMac, macOS Catalina 10.15.2</li>
  <li>Python 3.7.5</li>
  <li>pip --version: pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)</li>
  <li>Using Homebrew</li>
  </ul>
  
  <p>The 30 or so things that I've tried so far:</p>
  
  <pre><code>Error 1:
    File "/usr/local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in &lt;module&gt;
      from .cv2 import *
    ImportError: numpy.core.multiarray failed to import
  Try 1:
      import numpy.core.multiarray before import cv2
  Error 2:
    File "/Users/mbennett/Library/Python/3.7/lib/python/site-packages/numpy/__init__.py", line 142, in &lt;module&gt;
      from . import core
    File "/Users/mbennett/Library/Python/3.7/lib/python/site-packages/numpy/core/__init__.py", line 47, in &lt;module&gt;
      raise ImportError(msg)
    ...
    Original error was:
      dlopen(/Users/mbennett/Library/Python/3.7/lib/python/site-packages/numpy/core/_multiarray_umath.cpython-37m-darwin.so, 2): Symbol not found: ___addtf3
    Referenced from: /Users/mbennett/Library/Python/3.7/lib/python/site-packages/numpy/core/../.dylibs/libquadmath.0.dylib
    Expected in: /usr/lib/libSystem.B.dylib
   in /Users/mbennett/Library/Python/3.7/lib/python/site-packages/numpy/core/../.dylibs/libquadmath.0.dylib
   ...
  Importing the numpy c-extensions failed.
  - x Try uninstalling and reinstalling numpy.
  - If you have already done that, then:
    x 1. Check that you expected to use Python3.7 from "/usr/local/opt/python/bin/python3.7",
       and that you have no directories in your PATH or PYTHONPATH that can
       interfere with the Python and numpy version "1.17.4" you're trying to use.
    2. If (1) looks fine, you can open a new issue at
       https://github.com/numpy/numpy/issues.  Please include details on:
       - how you installed Python
       - how you installed numpy
       - your operating system
       - whether or not you have multiple versions of Python installed
       - if you built from source, your compiler versions and ideally a build log
  - If you're working with a numpy git repository, try `git clean -xdf`
    (removes all files not under version control) and rebuild numpy.
  --
  Trying to change symlinks
  Python links in 2 places: /usr/bin AND /usr/local/bin
  In /usr/bin, AS ROOT, cannot remove or change python link
      rm python
      rm: python: Operation not permitted
      # wtf, whoami -&gt; root
  --
  Next try: Change order of path, put /usr/local/bin BEFORE /usr/bin, then try changing symlinks there
      or try changing symlink first
  (links changed, stopped here)
  --
  Try 1b: installing again now that pip is really pip3
      No
      # pip now = pip3
      pip uninstall opencv-contrib-python
      pip install opencv-contrib-python
          OK: Successfully installed opencv-contrib-python-4.1.2.30
      No, same errors
  Try 1c:
      No
      pip uninstall opencv-contrib-python
      pip install -U opencv-contrib-python
  Try 1d:
      No, same version numpy-1.18.1
      pip uninstall numpy
      pip install numpy -U
  Try 1e:
      No
      python -c "import numpy;print numpy.version;print numpy.file";
      ^-- and added ()'s to print
  Try 1f:
      No
      # put /usr/local/lib before /usr/lib
      export DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH"
  Try 1g:
      No
      pip install --upgrade --force-reinstall --no-cache-dir numpy
  Try 1h:
      No
      pip install --upgrade --force-reinstall --no-cache-dir scipy
          Successfully uninstalled numpy-1.18.1
          Found existing installation: scipy 1.3.3
          Uninstalling scipy-1.3.3:
              Successfully uninstalled scipy-1.3.3
          Successfully installed numpy-1.18.1 scipy-1.4.1
  Try 1i:
      No
      Try very old scipy
      # conda uninstall scipy
      # conda install scipy=0.15.0
      pip uninstall scipy
      X pip install scipy=0.15.0   # bad syntax
      x pip install scipy==0.15.0
          ^-- LOTS of errors
      Reintalling w default version it says:
          Requirement already satisfied: numpy&gt;=1.13.3 in /usr/local/lib/python3.7/site-packages (from scipy) (1.18.1)
      Installing collected packages: scipy
      Successfully installed scipy-1.4.1
  Try 1j:
      No
      Try rolling back scipy to 1.13.3
      pip uninstall scipy
      pip install scipy==1.13.3
          ^-- not a valid version...
  Try 1k:
      No
      Try rolling back scipy to 1.4.0
      (still uninstalled)
      pip install scipy==1.4.0
  Try 1l:
      No
      Try uninstalling the Homebrew version of numpy
      # pip uninstall scipy
      # brew update
      # brew upgrade
      brew uninstall numpy
          Uninstalling /usr/local/Cellar/numpy/1.11.2... (474 files, 9.5MB)
  Try 1m:
      No  (likely scipy is subset of numpy, vs other way around?)
      Try uninstalling the Homebrew version of scipy
      brew uninstall scipy
          Error: No such keg: /usr/local/Cellar/scipy
  Try 1n:
      ? Try installing blas?
      ? "___addtf3 which is a GCC software floating point routine provided by a gfortran"
          ^-- "libquadmath uses the ___addtf3 routine, rather than defines it"
      Try installing gfortran
          x pip install gfortran
          brew install gfortran
          Error:
              Error: No available formula with the name "gfortran" 
              GNU Fortran is part of the GCC formula:
                  brew install gcc
  Try 1o:
      Install gcc:
          brew install gcc
          Error:
              Error: gcc 6.2.0 is already installed
              To upgrade to 9.2.0_3, run `brew upgrade gcc`.
      ,Then retry installing gfortran
      ,    brew install gfortran
  Try 1p:
      No
      brew upgrade gcc
      brew install gfortran
          Error: No available formula with the name "gfortran" 
          GNU Fortran is part of the GCC formula:
              brew install gcc
      # retest import
  Try 1q:
      No
      Try installing clang4 or clang4-r
      x brew install clang4
      x brew install clang4-r
      x brew install clang
      --
  X install-clang4.sh
  --------------------
  # Download binary
  curl -O http://r.research.att.com/libs/clang-4.0.0-darwin15.6-Release.tar.gz
  # Extract binary onto root directory
  tar fvxz clang-4.0.0-darwin15.6-Release.tar.gz -C /
  # Overwrite the ~/.R/Makevars
  cat &lt;&lt;- EOF &gt; ~/.R/Makevars
  # The following statements are required to use the clang4 binary
  CC=/usr/local/clang4/bin/clang
  CXX=/usr/local/clang4/bin/clang++
  CXX11=$CXX
  CXX14=$CXX
  CXX17=$CXX
  CXX1X=$CXX
  LDFLAGS=-L/usr/local/clang4/lib
  # End clang4 inclusion statements
  EOF
  --
  Try 1r:
      x try the Sierra version of gfortran?
      gfortran is part of GCC now, and Web says it's current
  --
  Try 1s:
      No
      Try overwriting python3 (links?)
      cd /usr/local/Cellar/python
      cp -r 3.7.5 3.7.5.bak
      brew link --overwrite python3
          Warning: Already linked: /usr/local/Cellar/python/3.7.5
          To relink:
              brew unlink python
              brew link python
      brew link --overwrite python
  Try 1t:
      X gfortran ... The missing symbol in libgcc isn't surprising
          since you're trying to run code compiled with a 4.6 gfortran in a 4.2 runtime environment.
      No, gfortran part of gcc, remember!
  Try 1u:
      No, same import error
      try installing openblas 
      x pip install openblas
      brew install openblas    # ok
  Try 1v:
      No:
      Try installing or building gdal2-python
      brew install gdal2-python
          Error: No formulae found in taps.
      x brew reinstall --build-from-source gdal2-python
  Try 1w:
      No
      Try fixing gcc?
      cd /usr/local/lib
      x chown -R mbennett gcc  (already done)
      brew link gcc
          Warning: Already linked: /usr/local/Cellar/gcc/9.2.0_3
          To relink:
      brew unlink gcc  # worked
      brew link gcc  # worked
      But same error in python
  Try 1x:
      No, and now have different error
      try installing older version of opencv 4x -&gt; 3x
      x pip install opencv-contrib-python==3.3.0.10
          ERROR: Could not find a version that satisfies the requirement opencv-contrib-python==3.3.0.10 (from versions: 3.4.2.16, 3.4.2.17, 3.4.3.18, 3.4.4.19, 3.4.5.20, 3.4.8.29, 4.0.0.21, 4.0.1.24, 4.1.0.25, 4.1.1.26, 4.1.2.30)
          ERROR: No matching distribution found for opencv-contrib-python==3.3.0.10
      pip list | grep opencv
          opencv-contrib-python 4.1.2.30
      pip install opencv-contrib-python==3.4.2.16
          Different error:
          ImportError: dlopen(/usr/local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so, 2): Symbol not found: __cg_jpeg_resync_to_restart
          Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
          Expected in: /usr/local/lib/libJPEG.dylib
              in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
      # try latest version 3
      pip install opencv-contrib-python==3.4.8.29
          Different Error:
          File "/usr/local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in &lt;module&gt;
          from .cv2 import *
          ImportError: dlopen(/usr/local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so, 2): Library not loaded: @loader_path/libpng16.16.dylib
          Referenced from: /usr/local/lib/python3.7/site-packages/cv2/.dylibs/libfreetype.6.dylib
          Reason: Incompatible library version: libfreetype.6.dylib requires version 54.0.0 or later, but libpng16.16.dylib provides version 43.0.0
      # try first version of 4x
      pip install opencv-contrib-python==4.0.0.21
            File "/usr/local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in &lt;module&gt;
            from .cv2 import *
              ImportError: dlopen(/usr/local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so, 2): Symbol not found: __cg_jpeg_resync_to_restart
              Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
              Expected in: /usr/local/lib/libJPEG.dylib
   in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
      # ok, back to latest
      pip install opencv-contrib-python==4.1.2.30
      import cv2
          File "/usr/local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in &lt;module&gt;
              from .cv2 import *
          ImportError: dlopen(/usr/local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so, 2): Library not loaded: @loader_path/libpng16.16.dylib
          Referenced from: /usr/local/lib/python3.7/site-packages/cv2/.dylibs/libfreetype.6.dylib
          Reason: Incompatible library version: libfreetype.6.dylib requires version 54.0.0 or later, but libpng16.16.dylib provides version 43.0.0
  Try 1y:
      try upgrading libpng
      pip uninstall libpng
          pip uninstall libpng
          WARNING: Skipping libpng as it is not installed.
      pip install libpng
          ERROR: Could not find a version that satisfies the requirement libpng (from versions: none)
          ERROR: No matching distribution found for libpng
      X brew update libpng
      brew upgrade libpng  # ok
      python / import cv2
          New Error:
          File "/usr/local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in &lt;module&gt;
              from .cv2 import *
          ImportError: dlopen(/usr/local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so, 2): Library not loaded: @loader_path/libtiff.5.dylib
          Referenced from: /usr/local/lib/python3.7/site-packages/cv2/.dylibs/liblept.5.dylib
          Reason: Incompatible library version: liblept.5.dylib requires version 11.0.0 or later, but libTIFF.dylib provides version 8.0.0
  Try 1z:
      try upgrading libtiff
      brew upgrade libtiff   # ok
      import cv2 -&gt; New Error:
          File "/usr/local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in &lt;module&gt;
          from .cv2 import *
          ImportError: dlopen(/usr/local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-darwin.so, 2): Symbol not found: __cg_jpeg_resync_to_restart
          Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
          Expected in: /usr/local/lib/libJPEG.dylib
          in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
  --
  Try 1aa:
      No
      Try to fix Symbol not found: __cg_jpeg_resync_to_restart
      cd /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources
      sudo mv libJPEG.dylib libJPEG.dylib.bak
          Error: mv: rename libJPEG.dylib to libJPEG.dylib.bak: Operation not permitted
      sudo ln -sf libJPEG.dylib /usr/local/lib/libJPEG.dylib
      sudo mv libPng.dylib libPng.dylib.bak
      sudo ln -sf libPng.dylib /usr/local/lib/libPng.dylib
      sudo mv libTIFF.dylib libTIFF.dylib.bak
      sudo ln -sf libTIFF.dylib /usr/local/lib/libTIFF.dylib
      sudo mv libGIF.dylib libGIF.dylib.bak
      sudo ln -sf libGIF.dylib /usr/local/lib/libGIF.dylib
  
  Post on Stack Overflow
  </code></pre>