OSeMOSYS / osemosys_global

A global power system model generator for OSeMOSYS
https://osemosys-global.readthedocs.io/
GNU Affero General Public License v3.0
27 stars 17 forks source link

[DOCS] Installing OG on MacOS Apple Silicon #209

Open shouryaj opened 1 month ago

shouryaj commented 1 month ago

Type of documentation issue.

Missing

Link to existing documentation

https://osemosys-global.readthedocs.io/en/latest/installation.html

Issue Description

Running on MacOS Apple Silicon requires the user to install CBC using home brew. If you follow the instructions provided in the installation guide (i.e. use mamba to install dependencies), it picks the version of CBC that is not compatible with Apple Silicon (M1/M2/M3) processors.

Suggested Update

4.2. Install CBC

CBC is open-source and will be installed with the environment. To check that it installed correctly, run the command cbc in the command line. The following message will display indicating that CBC has installed. Type quit to exit CBC.

(osemosys-global) ~/ $ cbc

Welcome to the CBC MILP Solver 
Version: 2.10.3 
Build Date: Mar 24 2020 

CoinSolver takes input from arguments ( - switches to stdin)
Enter ? for list of commands or help
Coin:

If a differnt CBC version needs to be installed, follow the download instruction on CBC's GitHub.

MacOS Troubleshooting

For running on MacOS (with Apple Silicon), you should use home brew to install CBC. This typically takes care of any linking errors where CBC can't find the right libraries. If you continue to run into errors around dynamic linking, make sure you have the lapack and libblas libraries installed in your mamba environment.

If you see your jobs fail due to libtiff errors, you might also need to create a symbolic link between the libtiff library version 5 and version 6, since the environment specifically looks for version 5.

cd $CONDA_PREFIX/lib
ln -s libtiff.6.dylib libtiff.5.dylib

Additional Info

Ran into these errors on Oct 7th, 2024 while trying to set up OG on my Macbook running Sonoma (14.6.1), with the M3 processor.

The libtiff error can probably be resolved by updating the packing using libtiff, but I don't know enough about how the model is being set up to figure out what is calling it/why it specifically needs version 5.