Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenMP not detected Mac 12 (Monterey) M1 (ARM) Mac #263

Open
markdanese opened this issue Nov 23, 2021 · 17 comments
Open

OpenMP not detected Mac 12 (Monterey) M1 (ARM) Mac #263

markdanese opened this issue Nov 23, 2021 · 17 comments

Comments

@markdanese
Copy link

markdanese commented Nov 23, 2021

I installed fst on a clean build of a new Mac M1 computer running OS 12 (Monterey). Version 0.9.4. I originally had trouble with data.table but finally got the Makevars working and data.table loads and recognizes OpenMP (see this link). But I can't seem to get fst to recognize OpenMP. This is way outside my area of expertise so I don't have any solutions to offer but wanted to at least put this out there for others. It may be related to the how homebrew is now installing libraries or the new Mac OS or to the ARM processor (or Rosetta).

I should clarify that I installed fst from source and it seems to have compiled correctly. And it works fine, just not with OpenMP.

> library(data.table)
data.table 1.14.2 using 5 threads (see ?getDTthreads).  Latest news: r-datatable.com
> library(fst)  
fst package v0.9.4
(OpenMP was not detected, using single threaded mode)
@dxf1david
Copy link

Yes - I'm having the same problem with fst on a 4-core intel iMac - fst installs without errors from source, but it doesn't recognize openMP

@sohrabsa
Copy link

similar to @markdanese, configuring ~/.R/Makevars works for getting data.table to recognize openMP but not for fst.
I have also tried instructions #242, see comments by mimaque to no avail. Would appreciate any help.
MacOS Intel, BigSur version 11.6.1 and R version 4.1.0 (2021-05-18) -- "Camp Pontanezen".

@sohrabsa
Copy link

Just adding a bit more detail. Here's the result after running install.packages('fst', type = 'source'):

trying URL 'https://mirror.las.iastate.edu/CRAN/src/contrib/fst_0.9.4.tar.gz'
Content type 'application/x-gzip' length 564903 bytes (551 KB)
==================================================
downloaded 551 KB

* installing *source* package ‘fst’ ...
** package ‘fst’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c RcppExports.cpp -o RcppExports.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c flex_store.cpp -o flex_store.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fst_blockrunner_char.cpp -o fst_blockrunner_char.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fst_compress.cpp -o fst_compress.o
In file included from fst_compress.cpp:30:
fstcore/interface/fstcompressor.h:167: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  167 | #pragma omp parallel num_threads(nr_of_threads) shared(comp_sizes,nr_of_threads,comp_batch_sizes)
      | 
fstcore/interface/fstcompressor.h:169: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
  169 | #pragma omp for schedule(static, 1) nowait
      | 
fstcore/interface/fstcompressor.h:204: warning: ignoring ‘#pragma omp single’ [-Wunknown-pragmas]
  204 | #pragma omp single
      | 
fstcore/interface/fstcompressor.h:305: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  305 | #pragma omp parallel for schedule(static, 1)
      | 
fstcore/interface/fstcompressor.h:414: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  414 | #pragma omp parallel num_threads(nrOfThreads)
      | 
fstcore/interface/fstcompressor.h:416: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
  416 | #pragma omp for schedule(static, 1) nowait
      | 
fstcore/interface/fstcompressor.h:432: warning: ignoring ‘#pragma omp single’ [-Wunknown-pragmas]
  432 | #pragma omp single
      | 
fstcore/interface/fstcompressor.h:463: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  463 | #pragma omp parallel num_threads(nrOfThreads)
      | 
fstcore/interface/fstcompressor.h:465: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
  465 | #pragma omp for schedule(static, 1) nowait
      | 
fstcore/interface/fstcompressor.h:487: warning: ignoring ‘#pragma omp single’ [-Wunknown-pragmas]
  487 | #pragma omp single
      | 
In file included from fst_compress.cpp:31:
fstcore/interface/fsthash.h:100: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  100 | #pragma omp parallel num_threads(nrOfThreads)
      | 
fstcore/interface/fsthash.h:102: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
  102 | #pragma omp for schedule(static, 1) nowait
      | 
fstcore/interface/fsthash.h:117: warning: ignoring ‘#pragma omp single’ [-Wunknown-pragmas]
  117 | #pragma omp single
      | 
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fst_error.cpp -o fst_error.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fst_table.cpp -o fst_table.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c init.c -o init.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c openmp.cpp -o openmp.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/LZ4/lz4.c -o fstcore/LZ4/lz4.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/LZ4/xxhash.c -o fstcore/LZ4/xxhash.o
ar rcs libLZ4.a fstcore/LZ4/lz4.o fstcore/LZ4/xxhash.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/common/entropy_common.c -o fstcore/ZSTD/common/entropy_common.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/common/error_private.c -o fstcore/ZSTD/common/error_private.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/common/fse_decompress.c -o fstcore/ZSTD/common/fse_decompress.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/fse_compress.c -o fstcore/ZSTD/compress/fse_compress.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/zstd_compress_literals.c -o fstcore/ZSTD/compress/zstd_compress_literals.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/zstd_compress_sequences.c -o fstcore/ZSTD/compress/zstd_compress_sequences.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/decompress/huf_decompress.c -o fstcore/ZSTD/decompress/huf_decompress.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/huf_compress.c -o fstcore/ZSTD/compress/huf_compress.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/decompress/zstd_ddict.c -o fstcore/ZSTD/decompress/zstd_ddict.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/decompress/zstd_decompress.c -o fstcore/ZSTD/decompress/zstd_decompress.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/decompress/zstd_decompress_block.c -o fstcore/ZSTD/decompress/zstd_decompress_block.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/common/zstd_common.c -o fstcore/ZSTD/common/zstd_common.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/common/debug.c -o fstcore/ZSTD/common/debug.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/zstd_compress.c -o fstcore/ZSTD/compress/zstd_compress.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/dictBuilder/cover.c -o fstcore/ZSTD/dictBuilder/cover.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/dictBuilder/divsufsort.c -o fstcore/ZSTD/dictBuilder/divsufsort.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/zstd_fast.c -o fstcore/ZSTD/compress/zstd_fast.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/zstd_lazy.c -o fstcore/ZSTD/compress/zstd_lazy.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/zstd_ldm.c -o fstcore/ZSTD/compress/zstd_ldm.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/common/pool.c -o fstcore/ZSTD/common/pool.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/zstd_opt.c -o fstcore/ZSTD/compress/zstd_opt.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/dictBuilder/zdict.c -o fstcore/ZSTD/dictBuilder/zdict.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/zstd_double_fast.c -o fstcore/ZSTD/compress/zstd_double_fast.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/compress/hist.c -o fstcore/ZSTD/compress/hist.o
/usr/local/gfortran/bin/gcc -fopenmp -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c fstcore/ZSTD/dictBuilder/fastcover.c -o fstcore/ZSTD/dictBuilder/fastcover.o
ar rcs libZSTD.a fstcore/ZSTD/common/entropy_common.o fstcore/ZSTD/common/error_private.o fstcore/ZSTD/common/fse_decompress.o fstcore/ZSTD/compress/fse_compress.o fstcore/ZSTD/compress/zstd_compress_literals.o fstcore/ZSTD/compress/zstd_compress_sequences.o fstcore/ZSTD/decompress/huf_decompress.o fstcore/ZSTD/compress/huf_compress.o fstcore/ZSTD/decompress/zstd_ddict.o fstcore/ZSTD/decompress/zstd_decompress.o fstcore/ZSTD/decompress/zstd_decompress_block.o fstcore/ZSTD/decompress/zstd_decompress.o fstcore/ZSTD/common/zstd_common.o fstcore/ZSTD/common/debug.o fstcore/ZSTD/compress/zstd_compress.o fstcore/ZSTD/dictBuilder/cover.o fstcore/ZSTD/dictBuilder/divsufsort.o fstcore/ZSTD/compress/zstd_fast.o fstcore/ZSTD/compress/zstd_lazy.o fstcore/ZSTD/compress/zstd_ldm.o fstcore/ZSTD/common/pool.o fstcore/ZSTD/compress/zstd_opt.o fstcore/ZSTD/dictBuilder/zdict.o fstcore/ZSTD/compress/zstd_double_fast.o fstcore/ZSTD/compress/hist.o fstcore/ZSTD/dictBuilder/fastcover.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/compression/compression.cpp -o fstcore/compression/compression.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/compression/compressor.cpp -o fstcore/compression/compressor.o
fstcore/compression/compressor.cpp:318: warning: ignoring ‘#pragma omp critical’ [-Wunknown-pragmas]
  318 |         #pragma omp critical
      | 
fstcore/compression/compressor.cpp:344: warning: ignoring ‘#pragma omp critical’ [-Wunknown-pragmas]
  344 |         #pragma omp critical (criticalcompression)
      | 
fstcore/compression/compressor.cpp:366: warning: ignoring ‘#pragma omp critical’ [-Wunknown-pragmas]
  366 |         #pragma omp critical (criticalcompression)
      | 
ar rcs libCOMPRESSION.a fstcore/compression/compression.o fstcore/compression/compressor.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/interface/openmphelper.cpp -o fstcore/interface/openmphelper.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/interface/fststore.cpp -o fstcore/interface/fststore.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/logical/logical_v10.cpp -o fstcore/logical/logical_v10.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/integer/integer_v8.cpp -o fstcore/integer/integer_v8.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/byte/byte_v12.cpp -o fstcore/byte/byte_v12.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/double/double_v9.cpp -o fstcore/double/double_v9.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/character/character_v6.cpp -o fstcore/character/character_v6.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/factor/factor_v7.cpp -o fstcore/factor/factor_v7.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/blockstreamer/blockstreamer_v2.cpp -o fstcore/blockstreamer/blockstreamer_v2.o
fstcore/blockstreamer/blockstreamer_v2.cpp:114: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  114 | #pragma omp parallel num_threads(nrOfThreads)
      | 
fstcore/blockstreamer/blockstreamer_v2.cpp:116: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
  116 | #pragma omp for ordered schedule(static, 1)
      | 
fstcore/blockstreamer/blockstreamer_v2.cpp:134: warning: ignoring ‘#pragma omp ordered’ [-Wunknown-pragmas]
  134 | #pragma omp ordered
      | 
fstcore/blockstreamer/blockstreamer_v2.cpp:284: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  284 | #pragma omp parallel num_threads(nrOfThreads)
      | 
fstcore/blockstreamer/blockstreamer_v2.cpp:286: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
  286 | #pragma omp for ordered schedule(static, 1)
      | 
fstcore/blockstreamer/blockstreamer_v2.cpp:310: warning: ignoring ‘#pragma omp ordered’ [-Wunknown-pragmas]
  310 | #pragma omp ordered
      | 
fstcore/blockstreamer/blockstreamer_v2.cpp:736: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  736 | #pragma omp parallel num_threads(nrOfThreads) shared(isAlligned,nrOfBatches,batchSize,blockCount)
      | 
fstcore/blockstreamer/blockstreamer_v2.cpp:738: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
  738 | #pragma omp for schedule(static, 1)
      | 
fstcore/blockstreamer/blockstreamer_v2.cpp:749: warning: ignoring ‘#pragma omp critical’ [-Wunknown-pragmas]
  749 | #pragma omp critical
      | 
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/integer64/integer64_v11.cpp -o fstcore/integer64/integer64_v11.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I. -Ifstcore -Ifstcore_v1 -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I'/Library/Frameworks/R.framework/Versions/4.1/Resources/library/Rcpp/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include   -fPIC  -Wall -g -O2  -c fstcore/byteblock/byteblock_v13.cpp -o fstcore/byteblock/byteblock_v13.o
ar rcs libFRAME.a fstcore/interface/openmphelper.o fstcore/interface/fststore.o fstcore/logical/logical_v10.o fstcore/integer/integer_v8.o fstcore/byte/byte_v12.o fstcore/double/double_v9.o fstcore/character/character_v6.o fstcore/factor/factor_v7.o fstcore/blockstreamer/blockstreamer_v2.o fstcore/integer64/integer64_v11.o fstcore/byteblock/byteblock_v13.o
/usr/local/gfortran/bin/g++ -std=gnu++11 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib -o fst.so RcppExports.o flex_store.o fst_blockrunner_char.o fst_compress.o fst_error.o fst_table.o init.o openmp.o -L. -lFRAME -lCOMPRESSION -lLZ4 -lZSTD -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/4.1/Resources/library/00LOCK-fst/00new/fst/libs
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (fst)

The downloaded source packages are in
	‘/private/var/folders/zv/4lhpb4hj0slb_51r6484tfy9zckf2s/T/Rtmp859iT0/downloaded_packages’

@sohrabsa
Copy link

And the output:

> library(fst)
fst package v0.9.4
(OpenMP was not detected, using single threaded mode)

@sohrabsa
Copy link

A quick hack to get it to work - ensure that g++ is called with -fopenmp, for my Makevars that means:

CXX1X=/usr/local/gfortran/bin/g++ -fopenmp
CXX98=/usr/local/gfortran/bin/g++ -fopenmp
CXX11=/usr/local/gfortran/bin/g++ -fopenmp
CXX14=/usr/local/gfortran/bin/g++ -fopenmp
CXX17=/usr/local/gfortran/bin/g++ -fopenmp

Now:

library(fst)
fst package v0.9.4
(OpenMP detected, using 12 threads)

@markdanese
Copy link
Author

Unfortunately, I couldn't get that to work for me on an M1 Mac OSX 12.1. Doesn't mean I did it correctly, but I tried a number of variations replacing /usr/local with /opt/homebrew and couldn't get fst to recognize additional threads.

@markdanese
Copy link
Author

My fault. It works fine if I build from source. Below are the extra lines I added to my existing Makevars

CXX1X=/opt/homebrew/bin/g++-11 -fopenmp
CXX98=/opt/homebrew/bin/g++-11 -fopenmp
CXX11=/opt/homebrew/bin/g++-11 -fopenmp
CXX14=/opt/homebrew/bin/g++-11 -fopenmp
CXX17=/opt/homebrew/bin/g++-11 -fopenmp

Then I get this:

> library(fst)
fst package v0.9.4
(OpenMP detected, using 10 threads)

And data.table is unaffected (still getting 5 threads).

@MarcusKlik
Copy link
Collaborator

Hi @markdanese, thanks for reporting your solution (and adding it to the data.table wiki)! Did fst also compile correctly when you use the clang compiler?

@markdanese
Copy link
Author

I don't really understand compilers or the compilation process so I had somebody knowledgeable helping me figure it out. Hence, I can't answer your question. My first solution worked for fst, but fst didn't take advantage of multiple threads. When I added the above lines, that problem was fixed.

@dxf1david
Copy link

@markdanese - thanks very much for the info about your Makevars - I can finally use fst with multiple threads on my Mac

@fox34
Copy link

fox34 commented Feb 24, 2022

Please note that since fst 0.9.8 the new package fstcore must (also) be installed with the abovementioned lines in Makevars:

install.packages("fstcore")
install.packages("fst")

@markdanese
Copy link
Author

I can confirm that 0.9.8 is now back to single threaded. If someone can clarify what to change in Makevars, that would be the most helpful. I don't know what it means to "install fstcore with Makevars."

@markdanese
Copy link
Author

markdanese commented Feb 24, 2022

Just to follow-up on my comment, one has to install fstcore from source: install.packages("fstcore", type = "source")

Now I get 10 threads.

@fox34
Copy link

fox34 commented Feb 24, 2022

Just to follow-up on my comment, one has to install fstcore from source: install.packages("fstcore", type = "source")

N.B.: AFAIK, install from source should be the default for most installations. Most likely, your single-core-issue was resolved simply because of the re-installation and thus re-compilation of fstcore with your custom lines in Makevars.

Simply re-installing fst alone would not solve this issue, since an already installed single-core-fstcore would be unaffected (and not recompiled) in this case.

@pat-s
Copy link

pat-s commented Feb 28, 2022

#242 (comment) might help and might be more troublefree than using gcc.

@mpr1255
Copy link

mpr1255 commented Jul 4, 2022

I just wanted to say that the instructions here solved it for me: https://investcookies.ru/post/datatable_m1/data_table_arm/ (I know, the website looks super sketchy lol). I reinstalled data.table and fst from source after making those suggested tweaks to Makevars (and brew install llvm) -- and they compiled and worked. Very cool!

@MarcusKlik MarcusKlik added this to the fst v0.9.10 milestone Nov 16, 2022
@dcaud
Copy link

dcaud commented Feb 14, 2024

Just in case this can be fixed: this remains an issue for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants