tcgoetz / GarminDB

Download and parse data from Garmin Connect or a Garmin watch, FitBit CSV, and MS Health CSV files into and analyze data in Sqlite serverless databases with Jupyter notebooks.
GNU General Public License v2.0
1.1k stars 138 forks source link

"make setup" do not find bash on newer mac OSX #217

Closed thebigredorb closed 6 months ago

thebigredorb commented 8 months ago

Describe the bug 'make setup' fails on OSX when bash is located in /bin/bash

The reason may be that SHELL is defined as "/usr/local/bin/bash" in the submodule defines.mk files I have succeessfully worked around error by correcting this, for example in Fit/defines.mk, I did


# SHELL=/usr/local/bin/bash
SHELL := $(shell which bash)

This fixed the problem for me. I will happily submit a pull request if wanted.

Thank you for this project, it is great!

To Reproduce Steps to reproduce the behavior:

  1. Clone project on Mac with bash located in /bin/bash. As it is on my OSX Sonoma 14.2.1
  2. run 'make setup' from terminal
  3. You get error:

make[1]: /usr/local/bin/bash: Command not found make[1]: /usr/local/bin/bash: No such file or directory make[1]: [deps] Error 1 make: [Fit-deps] Error 2

Expected behavior 'make setup' completes without error

Logs (venv-3.11) MacBook-Pro-7:GarminDB harste$ make setup $PROJECT_BASE is [/Users/harste/dev/GarminDB] $PLATFORM is [Darwin] $SHELL is [/bin/sh] $PIP_PATH is [/Users/harste/dev/GarminDB/venv-3.11/bin/pip3] python3 -m venv --upgrade-deps /Users/harste/dev/GarminDB/.venv git submodule init Submodule 'Fit' (https://github.com/tcgoetz/Fit.git) registered for path 'Fit' Submodule 'Plugins' (https://github.com/tcgoetz/GarminDbPlugins.git) registered for path 'Plugins' Submodule 'Tcx' (https://github.com/tcgoetz/Tcx.git) registered for path 'Tcx' Submodule 'utilities' (https://github.com/tcgoetz/utilities.git) registered for path 'utilities' git submodule update Cloning into '/Users/harste/dev/GarminDB/Fit'... Cloning into '/Users/harste/dev/GarminDB/Plugins'... Cloning into '/Users/harste/dev/GarminDB/Tcx'... Cloning into '/Users/harste/dev/GarminDB/utilities'... Submodule path 'Fit': checked out 'b285a1bd207da05ff57022c90ca95acde4f31055' Submodule path 'Plugins': checked out '6d9cd8bb624ada981bc7c91fdf5d8fdb54311ff7' Submodule path 'Tcx': checked out '0608077ca6c8f9d44a88e51e39c6e24cdf4c6086' Submodule path 'utilities': checked out '73ffce12ddd360328e86aeae751fa94513063ea1' /Library/Developer/CommandLineTools/usr/bin/make -C Fit deps pip3 install --upgrade --requirement requirements.txt make[1]: /usr/local/bin/bash: Command not found make[1]: /usr/local/bin/bash: No such file or directory make[1]: [deps] Error 1 make: [Fit-deps] Error 2

garmin.log: (I did not find this file) Please run bugreport.sh and attach bugreport.zip. I do not find "bugreport.sh"

Additional context Add any other context about the problem here.

logicmonkey commented 7 months ago

MacOS Sonoma 14.2.1 - I had to modify the bash path to /bin/bash in each of:

./defines.mk
./Fit/defines.mk
./utilities/defines.mk
./Tcx/defines.mk
tcgoetz commented 7 months ago

Fix in the develop branch.