Linking brew installed openblas to /usr/local - r

I have installed R that in turns installs openblas - but not to /usr/local :
==> openblas
openblas is keg-only, which means it was not symlinked into /usr/local,
because macOS provides BLAS and LAPACK in the Accelerate framework.
For compilers to find openblas you may need to set:
export LDFLAGS="-L/usr/local/opt/openblas/lib"
export CPPFLAGS="-I/usr/local/opt/openblas/include"
For pkg-config to find openblas you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/openblas/lib/pkgconfig"
My primary use case for openblas is with R and scipy. The latter _no longer supports the Macos Accelerate package`: so there's no problem with redirecting to brew. The former will be using the brew anyways: so I see no harm in doing this. But how to do it?

Two steps made this work:
Uninstall openblas via brew:
brew uninstall --ignore-dependencies openblas
Reinstall R
brew install R
Manually create symbolic link to /usr/local :
sudo ln -s /usr/local/opt/openblas /usr/local
Now we have R !
$R
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin18.6.0 (64-bit)
..
>

Related

Trouble installing R from homebrew formula (Intel Mac Pro)

I'm having trouble installing R from a homebrew formula on our Intel garbage can mac pro at work. I was having trouble installing tidyverse from source code so I removed and have been attempting to reinstalling R, as I thought it might have been a version mismatch somewhere.
I used
brew install R
and after a bunch of output where it's downloading other packages, I get back the following
==> Installing dependencies for r: libpng, freetype, fontconfig, gettext, libffi, pcre, glib, pkg-config, libpthread-stubs, xorgproto, libxau, libxdmcp, libxcb, libx11, libxext, libxrender, lzo, pixman, cairo, gmp, isl, mpfr, libmpc, lz4, xz, zstd, gcc, jpeg-turbo, openblas, pcre2, readline, ca-certificates, openssl#1.1 and tcl-tk
==> Installing r dependency: libpng
Unknown option: -C
usage: git [--version] [--help] [-c name=value]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
Error: Command failed with exit 129: git
Is this in fact a git error? What is the -C command?
Things I've tried:
removing and reinstalling command line tools
removing and reinstalling Homebrew
My machine:
Mac Pro (Late 2013)
2.7 GHz 12-Core Xeon E5
Thanks!
Sam
I think it tries to use an old version of git at /usr/bin/git, but you need to run brew install git to install a newer version of git to /usr/local/bin/git.
If /usr/local/bin/ isn't on your PATH before /usr/bin/, then you can add a line like this to ~/.bash_profile:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
However /usr/local/bin is included in /etc/paths by default, so it should be added to PATH by programs that run path_helper (like Terminal and iTerm 2 but not Script Editor or Emacs.app).

How to get linux to recognize where R is located

I am sure this is a trivial question, but I am trying to install multiple R versions in Linux. I am not using R studio server pro and am instead using the free R studio server. I followed this documentation to install R but got errors when I attempted to locate it. However, when I run a command to see what version of R is installed, there is no error.
R is installed!
(base) noah#noah-VirtualBox:/opt/R/4.1.3$ /opt/R/4.1.3/bin/R --version
R version 4.1.3 (2022-03-10) -- "One Push-Up"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
https://www.gnu.org/licenses/.
Attempts
(base) noah#noah-VirtualBox:/opt/R/4.1.3$ R
Command 'R' not found, but can be installed with:
sudo apt install r-base-core
(base) noah#noah-VirtualBox:/opt/R/4.1.3$ which R
(base) noah#noah-VirtualBox:/opt/R/4.1.3$
Steps to reproduce
export R_VERSION=4.1.3
curl -O https://cran.rstudio.com/src/base/R-4/R-${R_VERSION}.tar.gz
tar -xzvf R-${R_VERSION}.tar.gz
cd R-${R_VERSION}
# Build and install R
./configure \
--prefix=/opt/R/${R_VERSION} \
--enable-memory-profiling \
--enable-R-shlib \
--with-blas \
--with-lapack
make
sudo make install
# Verify R installation
/opt/R/${R_VERSION}/bin/R --version
# Create a symlink to R
sudo ln -s /opt/R/${R_VERSION}/bin/R /usr/local/bin/R
sudo ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/local/bin/Rscript
# Export path so Rstudio can find it
export RSTUDIO_WHICH_R='/opt/R/4.1.3/bin'
You are overcomplicating it. Just install in, say,
/opt/R/4.2.0/
/opt/R/4.1.2/
/opt/R/4.0.5/
and then either set the $PATH to the bin/ directory in the version you want, or call R directly. It is what pretty much exactly what many of us have done with two versions of R (i.e. R-release and R-devel):
$ R --version | head -1
R version 4.2.0 (2022-04-22) -- "Vigorous Calisthenics"
$
$ /usr/lib/R/bin/R --version | head -1
R version 4.2.0 (2022-04-22) -- "Vigorous Calisthenics"
$
$ /usr/local/lib/R-devel/bin/R --version | head -1
R Under development (unstable) (2022-05-24 r82398) -- "Unsuffered Consequences"
$
The first two are the same as that is my 'default' version. The third is my one alternate. And that is all there is to it.
If you add /usr/local/bin to your $PATH variable you would have been able to launch R, if it was not already present.
You could add it to .bashrc in your home directory
echo "export path=\"${PATH}:/usr/local/bin\"" |tee -a ~/.bashrc
Links for installing R from package, Ubuntu / Debian, RHEL 9, RHEL 8, RHEL/CentOS7
https://docs.posit.co/resources/install-r/
Also see
(Optional) Install multiple versions of R, on the same page.

Cannot install latest R version on Google Cloud

I am trying to set up Rstudio on an Ubuntu cloud server (gcloud). I currently have version R-3.4.4 on RStudio, but would like to upgrade. The issue is, I am unable to.
I am running the following version of Ubuntu.
name#sc1:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
I installed the RStudio server for Ubuntu 18 as suggested here: https://www.rstudio.com/products/rstudio/download-server/debian-ubuntu/
So essentially running to install the server:
sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.4.1717-amd64.deb
sudo gdebi rstudio-server-1.4.1717-amd64.deb
Checking the version of R Studio I have:
sudo -i R
Output:
name#sc1:~$ sudo -i R
R version 4.1.0 (2021-05-18) -- "Camp Pontanezen"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
However, this is what pops up in my RStudio.
Anyone have ideas for what I'm doing wrong? How can I upgrade my package?
Furthermore, in my /home/user/R/x86_64-pc-linux-gnu-library directory, I have an R-3.4 folder, which is confusing…
Turns out that after I installed R 4.0, I had to restarted the VM and that seemed to work. Unclear why this is, but at least it worked!

Rust compiler not found when installing gifski

I'm trying to install gifski which is a dependency for gganimate.
I get this error.
------------------ RUST COMPILER NOT FOUND --------------------
Cargo was not found on the PATH. Please install cargo / rustc:
- yum install cargo (Fedora/CentOS)
- apt-get install cargo (Debian/Ubuntu)
- brew install rustc (MacOS)
Alternatively install Rust from: <https://www.rust-lang.org>
---------------------------------------------------------------
The yum install cargo command didn't work, so I installed Rust with
curl https://sh.rustup.rs -sSf | sh
The installation prompt said I needed to add $HOME/.cargo/bin to my path environment variable, so I tried this.
$ source $HOME/.cargo/env
$ export PATH=$PATH:$HOME/.cargo/bin
$ export PATH=$PATH:/.cargo/bin
$ export PATH=$HOME/.cargo/bin
I reset my machine and I continue to receive the same error.
> sessionInfo()
R version 3.5.3 (2019-03-11)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Amazon Linux AMI 2018.03

How to use Intel MKL instead of libopenblas in Julia

I would like to know if there is a way i can use Intel MKL library instead of OpenBlas. I have installed MKL. Below is the version info
Julia Version 0.6.0
Commit 903644385b (2017-06-19 13:05 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin13.4.0)
CPU: Intel(R) Core(TM) i7-4770HQ CPU # 2.20GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.9.1 (ORCJIT, haswell)
Kindly let me know if this can be done
This is the procedure I have used to install Julia (0.6.0) with Intel MKL (compiling from source) in macOS Sierra. Remember to uninstall previous versions of Julia first.
Install Xcode.
Launch a Terminal and update the command line tools:
$ xcode-select --install
Install Homebrew.
Use Homebrew to install gfortran:
$ brew install gfortran
Take advantage of Homebrew and install also wget:
$ brew install wget
Go to the Intel Performance Libraries webpage, register yourself and download these free libraries for OS X and install them (as with a regular DMG package):
Intel Threading Building Blocks (TBB)
Intel Math Kernel Library (MKL)
Download the Julia source (Tarball with dependencies):
$ wget https://github.com/JuliaLang/julia/releases/download/v0.6.0/julia-0.6.0-full.tar.gz
Uncompress the file and move the folder to your $HOME directory.
Launch a Terminal and change to the Julia source directory:
$ cd ~/julia-0.6.0
With your preferred tool, edit the file Make.inc and enable the use of Intel MKL and Intel MKL FFT. Save and close the file. Use the picture as a guide:
Set up the Intel MKL environment, for Intel64 architecture with 8 bytes integer support (ILP64):
$ source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64
Compile Julia:
$ make
If there is a problem compiling Julia, create a symbolic link in the Julia's lib folder to the Intel MKL library and run make again:
$ ln -s /opt/intel/mkl/lib/libmkl_rt.dylib usr/lib/libmkl_rt.dylib
$ make
I did not try to run make install because I do not have Administrator privileges in my Mac, but you are free to do it. Anyway, you can run Julia from this folder:
$ ./julia
Next time you open a Terminal probably your Intel MKL variables would have gone. Just add these lines to your ~/.bash_profile:
# Intel MKL
source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64
Yes this is possible but much easier to do if you are happy to re-install a clean version of julia.
You will need to edit the Make.user file as described here: https://github.com/JuliaLang/julia#intel-compilers-and-math-kernel-library-mkl

Resources