gagolews / stringi

Fast and portable character string processing in R (with the Unicode ICU)
https://stringi.gagolewski.com/
Other
300 stars 45 forks source link

Anaconda: x86_64-conda-linux-gnu-c++ -std=gnu++11: checking whether the C++ compiler supports the long long type... no #452

Closed Cristinex closed 2 years ago

Cristinex commented 3 years ago

I tried almost all the instructions and command I can search to solve the problem online but still not working. The feedbacks are posted.

* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
** using staged installation
checking for R_HOME... /share/home/grp-huangxd/caixiaoxuan/.conda/envs/test/lib/R
checking for R... /share/home/grp-huangxd/caixiaoxuan/.conda/envs/test/lib/R/bin/R
checking for endianness... little
checking for R >= 3.1.0 for C++11 use... yes
checking for R < 3.4.0 for CXX1X flag use... no
checking for cat... /usr/bin/cat
checking for local ICUDT_DIR... icu69/data
checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-conda-linux-gnu-cc accepts -g... yes
checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /share/home/grp-huangxd/caixiaoxuan/.conda/envs/test/bin/x86_64-conda-linux-gnu-cpp
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda-linux-gnu-c++ -std=gnu++11 accepts -g... yes
checking whether the C++ compiler supports the long long type... no
*** Trying with C++11 compiler disabled.
checking for local ICUDT_DIR... icu55/data
checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-conda-linux-gnu-cc accepts -g... yes
checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /share/home/grp-huangxd/caixiaoxuan/.conda/envs/test/bin/x86_64-conda-linux-gnu-cpp
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for elf.h... (cached) yes
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda-linux-gnu-c++ -std=gnu++11 accepts -g... yes
checking whether the C++ compiler supports the long long type... no

*** *********************************************************************
*** stringi cannot be built with these settings in place.
*** See the INSTALL file for the solutions to the most common problems.
*** Moreover, explore the list of open and closed issues at
*** https://github.com/gagolews/stringi/issues/
*** *********************************************************************

ERROR: configuration failed for package ‘stringi’
* removing ‘/share/home/grp-huangxd/caixiaoxuan/.conda/envs/test/lib/R/library/stringi’

The downloaded source packages are in
        ‘/tmp/RtmpxYJZGW/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("stringi", configure.args = "--with-extra-cxxflags='--std=c++11'") :
  installation of package ‘stringi’ had non-zero exit status

What can I do?

gagolews commented 3 years ago

Seems you are using a very old version of R? You have not provided us with any details on your config (operating system, R, current compiler flags used, see https://cran.r-project.org/doc/manuals/r-devel/R-admin.html )

Have you tried install.packages("stringi", configure.args="--disable-cxx11") ?

Cristinex commented 3 years ago

Thank you for your reply. I use R in 3.6.3 version. Operating system is CentOS7, conda version 4.9.2. For commands, I tried install.packages("stringi", configure.args="--disable-cxx11") but still not working.

gagolews commented 3 years ago

What version of gcc (x86_64-conda-linux-gnu-c++ -v ?) is it?

Have you tried tinkering with the compiler settings, under /usr/lib/R/etc/Makeconf or something similar?

Are you able to install other packages that rely on C++11, say, https://cran.r-project.org/web/packages/vroom/index.html ?

Cristinex commented 3 years ago

gcc version 7.5, and vroom was installed successfully. I checked the Makeconfs again. I use pleural because there are many r-bases in my environment. After I changed all of them with c++11 instead of gnu++11, the problems solved and stringi was installed successfully, I don't know which base it is using, though.

Thank you gagolews for answering my silly questions patiently.

gagolews commented 3 years ago

Great 👏

mizraelson commented 3 years ago

gcc version 7.5, and vroom was installed successfully. I checked the Makeconfs again. I use pleural because there are many r-bases in my environment. After I changed all of them with c++11 instead of gnu++11, the problems solved and stringi was installed successfully, I don't know which base it is using, though.

Thank you gagolews for answering my silly questions patiently.

Hi, I have encountered the same issue. Could you please tell what exact lines have you changed in the Makefile?

Cristinex commented 3 years ago

Makeconf is path-to-/lib/R/etc/Makeconf, but not Makefile. Lines would be like this:

CXX = x86_64-conda-linux-gnu-c++ -std=c++11

Hope it works for your error.

naglemi commented 2 years ago

I'm having this same issue on Ubuntu 20.04 with conda 4.10.1. I've tried the following possible solutions and troubleshooting steps mentioned in this thread and am still having the same issue. Would any more information help? Anything else to try? Thanks much!

  1. Installed with flag as as follows (still failing): install.packages("stringi", configure.args="--disable-cxx11")

  2. Checking gcc version (v 9.3.0)

  3. Attempted to install and run vroom (successful)

  4. Changing makeconf line below to switch from gnu++11 to c++11 Before: CXX = x86_64-conda-linux-gnu-c++ -std=gnu++11 After: CXX = x86_64-conda-linux-gnu-c++ -std=c++11

gagolews commented 2 years ago

I tried to reproduce (Ubuntu 21.04, conda 4.10.3) the above:

  1. install https://docs.conda.io/en/latest/miniconda.html
  2. conda install r
  3. Rinstall.packages("stringi")

but it runs cleanly.

> install.packages("stringi")
--- Please select a CRAN mirror for use in this session ---
trying URL 'https://cloud.r-project.org/src/contrib/stringi_1.7.5.tar.gz'
Content type 'application/x-gzip' length 7600378 bytes (7.2 MB)
==================================================
downloaded 7.2 MB

* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
** using staged installation
checking for R_HOME... /tmp/miniconda3/lib/R
checking for R... /tmp/miniconda3/lib/R/bin/R
checking for endianness... little
checking for R >= 3.1.0 for C++11 use... yes
checking for R < 3.4.0 for CXX1X flag use... no
checking for cat... /usr/bin/cat
checking for local ICUDT_DIR... icu69/data
checking for x86_64-conda-linux-gnu-gcc... x86_64-conda_cos6-linux-gnu-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-conda_cos6-linux-gnu-cc accepts -g... yes
checking for x86_64-conda_cos6-linux-gnu-cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /tmp/miniconda3/bin/x86_64-conda-linux-gnu-cpp
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda_cos6-linux-gnu-c++ -std=gnu++11 accepts -g... yes
checking whether the C++ compiler supports the long long type... yes
checking whether the compiler implements namespaces... yes
checking whether the compiler supports the Standard Template Library... yes
checking whether std::map is available... yes
checking for pkg-config... /usr/bin/pkg-config
checking with pkg-config for the system ICU4C... 67.1
checking for ICU4C >= 55... yes
checking for additional required CPPFLAGS, LDFLAGS, and LIBS... done
checking whether an ICU4C-based project can be built... no
*** This version of ICU4C cannot be used.
*** Using the ICU 69 bundle.
checking whether we may compile src/icu69/common/putil.cpp... yes
checking whether we may compile src/icu69/i18n/number_affixutils.cpp... yes
checking whether alignof(std::max_align_t) is available... yes
checking whether the ICU data library can be downloaded... downloading the ICU data library (icudt)
output path: icu69/data/icu4c-69_1-data-bin-l.zip
trying URL 'https://raw.githubusercontent.com/gagolews/stringi/master/src/icu69/data/icu4c-69_1-data-bin-l.zip'
Content type 'application/zip' length 11454999 bytes (10.9 MB)
==================================================
downloaded 10.9 MB

icudt has been downloaded successfully
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/uconfig_local.h
config.status: creating src/install.libs.R

*** stringi configure summary:
    ICU_FOUND=0
    ICUDT_DIR=icu69/data
    ICU_BUNDLE_VERSION=69
    ICUDT_ENDIANNESS=little
    STRINGI_CXXSTD=CXX_STD=CXX11
    STRINGI_CFLAGS=   -fpic
    STRINGI_CPPFLAGS=-I. -Iicu69         -DU_STRINGI_PATCHES         -Iicu69/unicode -Iicu69/common         -Iicu69/i18n -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION -DU_I18N_IMPLEMENTATION -DUCONFIG_USE_LOCAL   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H
    STRINGI_CXXFLAGS=   -fpic
    STRINGI_LDFLAGS=  
    STRINGI_LIBS=  

*** Compiler settings used:
    CC=x86_64-conda_cos6-linux-gnu-cc
    LD=x86_64-conda_cos6-linux-gnu-c++ -std=gnu++11
    CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /tmp/miniconda3/include -fdebug-prefix-map=/tmp/build/80754af9/r-base_1589917437985/work=/usr/local/src/conda/r-base-3.6.1 -fdebug-prefix-map=/tmp/miniconda3=/usr/local/src/conda-prefix -fpic  
    CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /tmp/miniconda3/include -I/tmp/miniconda3/include -Wl,-rpath-link,/tmp/miniconda3/lib   -UDEBUG -DNDEBUG
    CXX=x86_64-conda_cos6-linux-gnu-c++ -std=gnu++11
    CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /tmp/miniconda3/include -fdebug-prefix-map=/tmp/build/80754af9/r-base_1589917437985/work=/usr/local/src/conda/r-base-3.6.1 -fdebug-prefix-map=/tmp/miniconda3=/usr/local/src/conda-prefix -fpic  
    LDFLAGS=  
    LIBS=  

@naglemi To help diagnose your error further, could you please run (from the terminal):

cd /tmp
wget https://github.com/gagolews/stringi/archive/master.zip
unzip master.zip
cd stringi-master
./configure

And submit the output from ./configure as well as the contents of config.log.

Can any one help @naglemi ? Or how can I reproduce the above? Thanks

naglemi commented 2 years ago

Thank you @gagolews, I just followed the three steps as you described above for a new environment. It is working for me now.

In the environment I was using previously, I installed rpy2 explicitly through conda and R was installed as a dependency. This led to the issue. It is avoidable by installing R first, and next installing rpy2.

Thanks again!

whoaqing commented 2 years ago

I meet the same problem while i was using R (R was installed by miniconda 3, Ubuntu Server 20.04 LTS 64bit, R 4.0.5, , and stringi package was installed through install.packages('stringi')) gcc version 9.3.0, R packages 'vroom' and 'ggplot2' were installed successfully. I would really appreciate it if someone can teach me how to solve this problem. Thanks a lot.

R installation: (base) ubuntu@VM-4-10-ubuntu:~$ conda create -n RL (base) ubuntu@VM-4-10-ubuntu:~$ conda activate RL (RL) ubuntu@VM-4-10-ubuntu:~$ conda install -c conda-forge r-base

Here are the problems while installing "stringi" stringi installation install.packages('stringi')

installing source package ‘stringi’ ... package ‘stringi’ successfully unpacked and MD5 sums checked using staged installation checking for R_HOME... /home/ubuntu/miniconda3/envs/RLanguage/lib/R checking for R... /home/ubuntu/miniconda3/envs/RLanguage/lib/R/bin/R checking for endianness... little checking for R >= 3.1.0 for C++11 use... yes checking for R < 3.4.0 for CXX1X flag use... no checking for cat... /usr/bin/cat checking for local ICUDT_DIR... icu69/data checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-conda-linux-gnu-cc accepts -g... yes checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed checking how to run the C preprocessor... /home/ubuntu/miniconda3/envs/RLanguage/bin/x86_64-conda-linux-gnu-cpp checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking elf.h usability... yes checking elf.h presence... yes checking for elf.h... yes checking whether we are using the GNU C++ compiler... yes checking whether x86_64-conda-linux-gnu-c++ -std=gnu++11 accepts -g... yes checking whether the C++ compiler supports the long long type... no Trying with C++11 compiler disabled. checking for local ICUDT_DIR... icu55/data

ERROR: configuration failed for package ‘stringi’ removing ‘/home/ubuntu/miniconda3/envs/RLanguage/lib/R/library/stringi’

The downloaded source packages are in ‘/tmp/RtmpxoP6rx/downloaded_packages’ Updating HTML index of packages in '.Library' Making 'packages.html' ... done Warning message: In install.packages("stringi") : installation of package ‘stringi’ had non-zero ex`

a more detailed version of the error report: stringi installation error.txt

I had tried CXX = x86_64-conda-linux-gnu-c++ -std=c++11 didn't help I had also tried install.packages("stringi", configure.args="--disable-cxx11") didn't help

I had ran the code mentioned by @gagolews cd /tmp wget https://github.com/gagolews/stringi/archive/master.zip unzip master.zip cd stringi-master ./configure

Here are the outcome from ./configure: output from configure.txt

Here are the config.log config.log

I have tried updateing the R to version 4.1.0, made no difference

ay-amityadav commented 2 years ago

I was facing the same issue, this worked for me:

conda install -c conda-forge r-base=4.1.2
install.packages("stringi")
whoaqing commented 2 years ago

I was facing the same issue, this worked for me:

conda install -c conda-forge r-base=4.1.2
install.packages("stringi")

Thanks very much for your advice! However, i tried it, still didn't work. But i find that there are some difference in the stringi installation report between mine and @gagolews , could that be a clue?

in the report from @gagolews , both versions of gcc were checked at first : checking for x86_64-conda-linux-gnu-gcc... x86_64-conda_cos6-linux-gnu-cc and in his following report, only x86_64-conda_cos6-linux-gnu-cc is mentioned

in my report: checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc and in my following report, only x86_64-conda-linux-gnu-cc is mentioned installing source package ‘stringi’ ... package ‘stringi’ successfully unpacked and MD5 sums checked using staged installation checking for R_HOME... /home/ubuntu/miniconda3/envs/RL/lib/R checking for R... /home/ubuntu/miniconda3/envs/RL/lib/R/bin/R checking for endianness... little checking for R >= 3.1.0 for C++11 use... yes checking for R < 3.4.0 for CXX1X flag use... no checking for cat... /usr/bin/cat checking for local ICUDT_DIR... icu69/data checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-conda-linux-gnu-cc accepts -g... yes checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed checking how to run the C preprocessor... /home/ubuntu/miniconda3/envs/RL/bin/x86_64-conda-linux-gnu-cpp checking for grep that handles long lines and -e... /usr/bin/grep


checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda-linux-gnu-c++ -std=gnu++14 accepts -g... yes
**checking whether the C++ compiler supports the long long type... no**

I find that there are two types of gcc in my ubuntu system, both under the folder of miniconda3/envs/RL, in the same environment with R.  For unknown reason, it chose to use x86_64-conda-linux-gnu instead of x86_64-conda_cos6-linux-gnu

`(RL) ubuntu@VM-4-10-ubuntu:~/miniconda3/envs/RL$ ls
bin         etc    include  libexec  sbin   ssl  x86_64-conda_cos6-linux-gnu
conda-meta  fonts  lib      man      share  var  x86_64-conda-linux-gnu`

Maybe it would help if someone successfully installed stringi could tell me which kind of gcc was used while installing.
luj01 commented 2 years ago

I am using redhat 7 with same issue. I tried R.4.05, R.4.1.2 with conda x86_64-conda-linux-gnu-c++. No luck, by changing to c++11, tried above methods. It did not work for me. By reading above threads, it is very common problem for conda environment using its c compiler there. A few years ago, in the same redhat 7 machine, "stringi" was installed in old R3.2.2 without any problem. I don't know what else to try, except can we configure to use original unix g++ instead of conda x86_64-conda-linux-gnu-c++? Thanks for any suggestion.

gagolews commented 2 years ago

In the environment I was using previously, I installed rpy2 explicitly through conda and R was installed as a dependency. This led to the issue. It is avoidable by installing R first, and next installing rpy2.

Have you tried the above-mentioned fix?

luj01 commented 2 years ago

I don't use rpy2. I read the thread before, I also downloaded new version R.4.1.2. It still did not work. I switched to a container to try my luck. Thanks.

whoaqing commented 2 years ago

I found that the R package stringi can be found in https://anaconda.org/ So instead of installing R packages through activating R and using R command install.packages'('stringi'), I tried installing the R package through conda command (the R package "stringi" was installed under the same conda environment with R) conda install -c conda-forge r-stringi and it work After i had installed stringi through conda command, I activated R, and tried library('stringi') it work Maybe that's an solution to this problem.

luj01 commented 2 years ago

whoaqing, Thanks for the tip. We had the same issue. Your method also worked for me. I did not know that r-stringi is stringi. Thanks a lot!

hfl112 commented 2 years ago

conda install -c conda-forge r-stringi

That also works fOR me. I've installed r-stringi by conda before, but can't load it in R. So I use --force to remove it in conda, and then reinstalled it.

Thanks

bitsyamagu commented 2 years ago

I 've got same error today. I doubted that stringi's configure script was reporting wrong messages about long long type.

So I extracted c++ code snippet that checking long long support from configure script, and tried to compile it by 3 or more verions of c++ compilers. But all of versions supported this syntax as expected. When I tried with C++ compiler installed under the conda, I got error messages like "undefined reference to memcpy@GLIBC_2.14 . So It seems that this configure script reporting any kind of errors as "C++ compiler supports the long long type... no".

The solution for me was like this: conda install -c conda-forge gxx_linux-64=7.5 gcc_linux-64=7.5 sysroot_linux-64=2.17 for installing compatible glibc version for libstdc++.

AnnaAMonaco commented 2 years ago

Sorry to bring this thread up again, but I have been battling with this for two days and none of the above solutions have worked for me...

I have the same exact issue, I'll paste the whole message below but it seems to be the "long long type" issue. In my case I do have a version of stringi installed, but it's v.1.7.6 and I need v.1.7.8 so I can use updated packages from Bioconductor -- I'm trying to update BiocManager to v3.15. I'm working in R v4.2.0.

Thing I have tried and failed: R install.packages("stringi") install.packages("stringi", configure.args="--with-extra-cxxflags='-std=c++11'") install.packages("stringi", configure.args="--disable-cxx11") install.packages("stringi_1.7.8.tar.gz", repos=NULL, configure.args="--with-extra-cxxflags='-std=c++11'") (from downloading it directly)

Conda -- this usually works for me but not this time conda install -c conda-forge r-stringi=1.7.8

Change Makeconf CXX = x86_64-conda-linux-gnu-c++ -std=c++11 As suggested here, then try again all of the above... still nothing.

Configure

cd /tmp
wget https://github.com/gagolews/stringi/archive/master.zip
unzip master.zip
cd stringi-master
./configure

Also nothing. Any ideas of additional things I could try, or check on my end and maybe are misconfigured? I'm kinda out of ideas here and it has completely blocked the progress of my project. All error message are below for readability.

R error message (This is the message from just one of the attempts, but they al give the same result)

During startup - Warning message: 
Setting LC_CTYPE failed, using "C"
* installing *source* package 'stringi' ...
** package 'stringi' successfully unpacked and MD5 sums checked
** using staged installation
checking for R_HOME... /data/gpfs-1/users/amonaco_m/miniconda3/envs/R4/lib/R
checking for R... /data/gpfs-1/users/amonaco_m/miniconda3/envs/R4/lib/R/bin/R
checking for endianness... little 
checking for R >= 3.1.0 for C++11 use... yes
checking for R < 3.4.0 for CXX1X flag use... no
checking for cat... /usr/bin/cat  
checking for local ICUDT_DIR... icu69/data
checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-conda-linux-gnu-cc accepts -g... yes
checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /data/gpfs-1/users/amonaco_m/miniconda3/envs/R4/bin/x86_64-conda-linux-
gnu-cpp
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes   
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda-linux-gnu-c++ -std=gnu++11 accepts -g... yes
checking whether the C++ compiler supports the long long type... no
*** Trying with C++11 compiler disabled.
checking for local ICUDT_DIR... icu55/data
checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-conda-linux-gnu-cc accepts -g... yes
checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /data/gpfs-1/users/amonaco_m/miniconda3/envs/R4/bin/x86_64-conda-linux-gnu-cpp
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for elf.h... (cached) yes
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda-linux-gnu-c++ -std=c++11 accepts -g... yes
checking whether the C++ compiler supports the long long type... no

*** *********************************************************************
*** stringi cannot be built with these settings in place.
*** See the INSTALL file for the solutions to the most common problems.
*** Moreover, explore the list of open and closed issues at
*** https://github.com/gagolews/stringi/issues/
*** *********************************************************************

ERROR: configuration failed for package 'stringi'
* removing '/fast/work/users/amonaco_m/miniconda3/envs/R4/lib/R/library/stringi'
* restoring previous '/fast/work/users/amonaco_m/miniconda3/envs/R4/lib/R/library/stringi'
Warning message:
In install.packages("stringi_1.7.8.tar.gz", repos = NULL, configure.args = "--with-extra-cxxflags='-std=c++11'") :
  installation of package 'stringi_1.7.8.tar.gz' had non-zero exit status

conda error message I won't paste the whole thing because it is ridiculously long, but basically it find a lot of conflicting packages. Note that I tried also making a completely new environment with just r-base in it but it still found conflicts.

configure message

checking for R_HOME... /data/gpfs-1/users/amonaco_m/miniconda3/envs/R4/lib/R
checking for R... /data/gpfs-1/users/amonaco_m/miniconda3/envs/R4/lib/R/bin/R
checking for endianness... little
checking for R >= 3.1.0 for C++11 use... yes
checking for R < 3.4.0 for CXX1X flag use... no
checking for cat... /usr/bin/cat
checking for local ICUDT_DIR... icu69/data  
checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-conda-linux-gnu-cc accepts -g... yes
checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /data/gpfs-1/users/amonaco_m/miniconda3/envs/R4/bin/x86_64-conda-linux-
gnu-cpp
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda-linux-gnu-c++ -std=gnu++11 accepts -g... yes
checking whether the C++ compiler supports the long long type... no
*** Trying with C++11 compiler disabled.
checking for local ICUDT_DIR... icu55/data
checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-conda-linux-gnu-cc accepts -g... yes
checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /data/gpfs-1/users/amonaco_m/miniconda3/envs/R4/bin/x86_64-conda-linux-gnu-cpp
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for elf.h... (cached) yes
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda-linux-gnu-c++ -std=c++11 accepts -g... yes
checking whether the C++ compiler supports the long long type... no

*** *********************************************************************
*** stringi cannot be built with these settings in place.
*** See the INSTALL file for the solutions to the most common problems.
*** Moreover, explore the list of open and closed issues at
*** https://github.com/gagolews/stringi/issues/
*** *********************************************************************
gagolews commented 2 years ago

Have your tried @bitsyamagu's solution?

conda install -c conda-forge gxx_linux-64=7.5 gcc_linux-64=7.5 sysroot_linux-64=2.17
AnnaAMonaco commented 2 years ago

Have your tried @bitsyamagu's solution?

conda install -c conda-forge gxx_linux-64=7.5 gcc_linux-64=7.5 sysroot_linux-64=2.17

Yeah, this gives me the same result as trying to install stringi=1.7.8 from conda:

$ conda install -c conda-forge gxx_linux-64=7.5 gcc_linux-64=7.5 sysroot_linux-64=2.17
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: |
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.

Followed by a huge list of conflicts...

bitsyamagu commented 2 years ago

When I compiled c++ snippet by C++ compiler under my conda environment, I got an error message from linker that complains lack of reference to some c++ functions. So I could find compatible packages from the error message.


#include <iostream>
        using namespace std;
        int main() {
            long long x = 1;
            cout << x << endl;
            cout << 1LL << 1ULL << endl;
            cout << 9223372036854775807LL << 18446744073709551615ULL << endl;
            return 0;
        }

AnnaAMonaco commented 2 years ago

Note that I tried also making a completely new environment with just r-base in it but it still found conflicts.

Just wanted to add as an update that I did the opposite of this, made and empty env and successfully installed stringi v1.7.8 with:

conda install -c conda-forge r-stringi=1.7.8

But then I couldn't install R v4.2.0 (If I don't specify the version it successfully installs v4.1.3):

$ conda install -c r r-base=4.2.0
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: \ 
Found conflicts! Looking for incompatible packages.

Again followed by a huge list of conflicts.

So ultimately, I can install stringi v1.7.8, but not together with R v4.2.0 -- which pretty much defeats the purpose. Has no one else ever had this weird conflict?

@bitsyamagu I don't really understand what you did in your comment

anbai106 commented 1 year ago

I have the same issue:

In my Makeconf file:

CXX = x86_64-conda-linux-gnu-c++ -std=gnu++14

I tried to change it to:

CXX = x86_64-conda-linux-gnu-c++ -std=c++11

It did not work...

Any help??? Details of log is in #495

anbai106 commented 1 year ago

conda install -c conda-forge r-stringi

This works for running "library(stringi)"

This will only install a specific version of string (1.7.6 in my case on my Centos machine), but when I install another R package which depends on a higher version fo stringi:

4: stringi (1.7.6 -> 1.7.12) [CRAN]

This led to the same errors:

*** *********************************************************************
*** stringi cannot be built with these settings in place.
*** See the INSTALL file for the solutions to the most common problems.
*** Moreover, explore the list of open and closed issues at
*** https://github.com/gagolews/stringi/issues/
*** *********************************************************************

ERROR: configuration failed for package ‘stringi’
* removing ‘/.conda/envs/r_4.1.2_2SampleMR/lib/R/library/stringi’
* restoring previous ‘/.conda/envs/r_4.1.2_2SampleMR/lib/R/library/stringi’
* installing *source* package ‘gmp’ ...
** package ‘gmp’ successfully unpacked and MD5 sums checked
** using staged installation
checking for x86_64-conda-linux-gnu-gcc... x86_64-conda-linux-gnu-cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-conda-linux-gnu-cc accepts -g... yes
checking for x86_64-conda-linux-gnu-cc option to accept ISO C89... none needed
checking how to run the C preprocessor... /cbica/home/wenju/.conda/envs/r_4.1.2_2SampleMR/bin/x86_64-conda-linux-gnu-cpp
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-conda-linux-gnu-c++ -std=gnu++14 accepts -g... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking gmp.h usability... yes
checking gmp.h presence... yes
checking for gmp.h... yes
checking for __gmpz_ui_sub in -lgmp... no
configure: error: GNU MP not found, or not 4.1.4 or up, see http://gmplib.org
ERROR: configuration failed for package ‘gmp’
* removing ‘/.conda/envs/r_4.1.2_2SampleMR/lib/R/library/gmp’
ERROR: dependency ‘gmp’ is not available for package ‘arrangements’
* removing ‘/.conda/envs/r_4.1.2_2SampleMR/lib/R/library/arrangements’
ERROR: dependencies ‘gmp’, ‘arrangements’ are not available for package ‘iterpc’
* removing ‘/.conda/envs/r_4.1.2_2SampleMR/lib/R/library/iterpc’
ERROR: dependency ‘iterpc’ is not available for package ‘MendelianRandomization’
* removing ‘/.conda/envs/r_4.1.2_2SampleMR/lib/R/library/MendelianRandomization’
gagolews commented 1 year ago

As far as I am concerned, on CentoOS, in order for the above to work, you will have to install libgmp-devel (or libgmp-dev) via dnf or yum or whatever other package manager is out there....

gagolews commented 1 year ago

Also, are you able to install other R packages successfully (those that require compilation), e.g., Rcpp?

anbai106 commented 1 year ago

As far as I am concerned, on CentoOS, in order for the above to work, you will have to install libgmp-devel (or libgmp-dev) via dnf or yum or whatever other package manager is out there....

Thanks for your reply!

I talked with the IT from our lab - I tried to install it on the server - and we found the problem is from Anaconda. The IT told me that Anaconda often messed up with these R dependencies. So I disabled Anaconda and installed the software directly in R successfully.

Best regards

mmokrejs commented 1 year ago

I my case on Ubuntu Bionic 18.04 LXC image I have set initially clang-10 as my compiler and the configure check fails. After setting ENV variables to gcc-8 it works but hold on, during compilation anyway clang-10 is used. Seems configure tested for something what was not used then anyway. I see clang-10 being set in /opt/R/3.5.3/lib/R/etc/Makeconf but of course configure respects shell environment variables. This adds to the confusion. But then, why

$ R --no-save

R version 3.5.3 (2019-03-11) -- "Great Truth"
Copyright (C) 2019 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 certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> install.packages("devtools")
Installing package into ‘/home/bionic/R/x86_64-pc-linux-gnu-library/3.5’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
Secure CRAN mirrors 

...

Selection: 28
Warning: dependency ‘usethis’ is not available
also installing the dependencies ‘rmarkdown’, ‘htmlwidgets’, ‘stringr’, ‘stringi’, ‘pkgdown’, ‘profvis’, ‘roxygen2’

trying URL 'https://mirrors.nic.cz/R/src/contrib/rmarkdown_2.24.tar.gz'
Content type 'application/octet-stream' length 2187531 bytes (2.1 MB)
==================================================
downloaded 2.1 MB

trying URL 'https://mirrors.nic.cz/R/src/contrib/htmlwidgets_1.6.2.tar.gz'
Content type 'application/octet-stream' length 867472 bytes (847 KB)
==================================================
downloaded 847 KB

trying URL 'https://mirrors.nic.cz/R/src/contrib/stringr_1.5.0.tar.gz'
Content type 'application/octet-stream' length 175699 bytes (171 KB)
==================================================
downloaded 171 KB

trying URL 'https://mirrors.nic.cz/R/src/contrib/stringi_1.7.12.tar.gz'
Content type 'application/octet-stream' length 7602365 bytes (7.3 MB)
==================================================
downloaded 7.3 MB

trying URL 'https://mirrors.nic.cz/R/src/contrib/pkgdown_2.0.7.tar.gz'
Content type 'application/octet-stream' length 871465 bytes (851 KB)
==================================================
downloaded 851 KB

trying URL 'https://mirrors.nic.cz/R/src/contrib/profvis_0.3.8.tar.gz'
Content type 'application/octet-stream' length 149012 bytes (145 KB)
==================================================
downloaded 145 KB

trying URL 'https://mirrors.nic.cz/R/src/contrib/roxygen2_7.2.3.tar.gz'
Content type 'application/octet-stream' length 279442 bytes (272 KB)
==================================================
downloaded 272 KB

trying URL 'https://mirrors.nic.cz/R/src/contrib/devtools_2.4.5.tar.gz'
Content type 'application/octet-stream' length 374718 bytes (365 KB)
==================================================
downloaded 365 KB

* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
checking for R_HOME... /opt/R/3.5.3/lib/R
checking for R... /opt/R/3.5.3/lib/R/bin/R
checking for endianness... little
checking for R >= 3.1.0 for C++11 use... yes
checking for R < 3.4.0 for CXX1X flag use... no
checking for cat... /bin/cat
checking for local ICUDT_DIR... icu69/data
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for elf.h... yes
checking whether the compiler supports GNU C++... yes
checking whether clang-10 -std=gnu++11 accepts -g... yes
checking for clang-10 -std=gnu++11 option to enable C++11 features... none needed
checking whether the C++ compiler supports the long long type... no
*** Trying with C++11 compiler disabled.
checking for local ICUDT_DIR... icu55/data
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... (cached) none needed
checking for stdio.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for strings.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking for elf.h... (cached) yes
checking whether the compiler supports GNU C++... yes
checking whether g++ -std=c++11 accepts -g... yes
checking for g++ -std=c++11 option to enable C++11 features... (cached) none needed
checking whether the C++ compiler supports the long long type... yes
checking whether the compiler implements namespaces... yes
checking whether the compiler supports the Standard Template Library... yes
checking whether std::map is available... yes
checking for pkg-config... /usr/bin/pkg-config
checking with pkg-config for the system ICU4C... 60.2
checking for ICU4C >= 55... yes
checking for additional required CPPFLAGS, LDFLAGS, and LIBS... done
checking whether an ICU4C-based project can be built... yes
checking programmatically for sufficient U_ICU_VERSION_MAJOR_NUM... yes
checking programmatically if U_CHARSET_IS_UTF8 is defined and set... no
checking the capabilities of the ICU data library (ucnv, uloc, utrans)... yes
checking the capabilities of the ICU data library (ucol)... yes
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating src/uconfig_local.h
config.status: creating src/install.libs.R

*** stringi configure summary:
    ICU_FOUND=1
    STRINGI_CXXSTD=
    STRINGI_CFLAGS=   -fpic
    STRINGI_CPPFLAGS=-I.    -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_HAVE_ELF_H
    STRINGI_CXXFLAGS=   -fpic
    STRINGI_LDFLAGS=-L/usr/lib/x86_64-linux-gnu  
    STRINGI_LIBS=-licui18n -licuuc -licudata  

*** Compiler settings used:
    CC=gcc
    LD=g++ -std=c++11
    CFLAGS=-g -O2 -fpic  
    CPPFLAGS=-I/usr/local/include   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H
    CXX=g++ -std=c++11
    CXXFLAGS=-g -O2 -fpic  
    LDFLAGS=  
    LIBS=  

** libs
clang-10 -std=gnu++11 -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG -I.    -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_HAVE_ELF_H  -I/usr/local/include  -fpic -fpic  -g -O2 -c stri_brkiter.cpp -o stri_brkiter.o

...

installing via 'install.libs.R' to /home/bionic/R/x86_64-pc-linux-gnu-library/3.5/stringi
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (stringi)
* installing *source* package ‘stringr’ ...
** package ‘stringr’ successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (stringr)
* installing *source* package ‘rmarkdown’ ...
** package ‘rmarkdown’ successfully unpacked and MD5 sums checked
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (rmarkdown)
* installing *source* package ‘roxygen2’ ...
** package ‘roxygen2’ successfully unpacked and MD5 sums checked
** libs
clang-10 -std=gnu++11 -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG  -I"/home/bionic/R/x86_64-pc-linux-gnu-library/3.5/cpp11/include" -I/usr/local/include   -fpic  -g -O2 -c cpp11.cpp -o cpp11.o
clang-10 -std=gnu++11 -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG  -I"/home/bionic/R/x86_64-pc-linux-gnu-library/3.5/cpp11/include" -I/usr/local/include   -fpic  -g -O2 -c escapeExamples.cpp -o escapeExamples.o
clang-10 -std=gnu++11 -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG  -I"/home/bionic/R/x86_64-pc-linux-gnu-library/3.5/cpp11/include" -I/usr/local/include   -fpic  -g -O2 -c isComplete.cpp -o isComplete.o
clang-10 -std=gnu++11 -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG  -I"/home/bionic/R/x86_64-pc-linux-gnu-library/3.5/cpp11/include" -I/usr/local/include   -fpic  -g -O2 -c leadingSpaces.cpp -o leadingSpaces.o
clang-10 -std=gnu++11 -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG  -I"/home/bionic/R/x86_64-pc-linux-gnu-library/3.5/cpp11/include" -I/usr/local/include   -fpic  -g -O2 -c parser2.cpp -o parser2.o
clang-10 -std=gnu++11 -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG  -I"/home/bionic/R/x86_64-pc-linux-gnu-library/3.5/cpp11/include" -I/usr/local/include   -fpic  -g -O2 -c wrapUsage.cpp -o wrapUsage.o
clang-10 -std=gnu++11 -shared -L/opt/R/3.5.3/lib/R/lib -L/usr/local/lib -o roxygen2.so cpp11.o escapeExamples.o isComplete.o leadingSpaces.o parser2.o wrapUsage.o -L/opt/R/3.5.3/lib/R/lib -lR
installing to /home/bionic/R/x86_64-pc-linux-gnu-library/3.5/roxygen2/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (roxygen2)
* installing *source* package ‘htmlwidgets’ ...
** package ‘htmlwidgets’ successfully unpacked and MD5 sums checked
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (htmlwidgets)
* installing *source* package ‘pkgdown’ ...
** package ‘pkgdown’ successfully unpacked and MD5 sums checked
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (pkgdown)
* installing *source* package ‘profvis’ ...
** package ‘profvis’ successfully unpacked and MD5 sums checked
** libs
gcc -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG   -I/usr/local/include   -fpic  -g -O2  -c pause.c -o pause.o
gcc -I"/opt/R/3.5.3/lib/R/include" -DNDEBUG   -I/usr/local/include   -fpic  -g -O2  -c profvis-init.c -o profvis-init.o
gcc -shared -L/opt/R/3.5.3/lib/R/lib -L/usr/local/lib -o profvis.so pause.o profvis-init.o -L/opt/R/3.5.3/lib/R/lib -lR
installing to /home/bionic/R/x86_64-pc-linux-gnu-library/3.5/profvis/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (profvis)
ERROR: dependency ‘usethis’ is not available for package ‘devtools’
* removing ‘/home/bionic/R/x86_64-pc-linux-gnu-library/3.5/devtools’

The downloaded source packages are in
    ‘/tmp/Rtmpnjg3S5/downloaded_packages’
Warning message:
In install.packages("devtools") :
  installation of package ‘devtools’ had non-zero exit status
> 

Note above configure testing g++ -std=c++11 but Makefuiles then containing clang-10 -std=gnu++11. My default gcc and g++ is 7.5

$ cat .R/Makevars 
# CXX = g++ -std=gnu++14
CXX = g++ -std=c++11
CC = gcc
$