Skip to content

Update of Mac installation information for Monterey (v 12) #5271

@markdanese

Description

@markdanese

I had to do a fresh install on a new M1 Mac running Monterey (v 12.0.1) today. I followed the instructions at https://github.com/Rdatatable/data.table/wiki/Installation (which were really helpful). However, I couldn't get data.table to install from source or recognize OpenMP.

It turns out that in Step 2, Option 1 (LLVM) the Makevars file specifications don't work with the current version of the Mac OS (Monterey 12.0.1) and the latest version of Homebrew (3.3.5) which installs into a new location. Below is the code that worked for me. I installed from source without a problem and OpenMP is recognized. I had to install gettext (brew install gettext). I had also installed gcc via Homebrew also, but I don't know if that was required. After this, I get OpenMP working with 5 threads, which is correct.

Hopefully this will be helpful to someone. Note that, despite the success with data.table, the fst package doesn't recognize OpenMP even after installing from source, so I can't guarantee that the code below will solve all related issues. I will file an issue in the fst repo separately.

HOMEBREW_LOC=/opt/homebrew
LLVM_LOC=$(HOMEBREW_LOC)/opt/llvm
CC=$(LLVM_LOC)/bin/clang -fopenmp
CXX=$(LLVM_LOC)/bin/clang++ -fopenmp
# -O3 should be faster than -O2 (default) level optimisation ..
CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe
LDFLAGS=-L$(HOMEBREW_LOC)/opt/gettext/lib -L$(LLVM_LOC)/lib -Wl,-rpath,$(LLVM_LOC)/lib
CPPFLAGS=-I$(HOMEBREW_LOC)/opt/gettext/include -I$(LLVM_LOC)/include

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions