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

stringi build error #2

Closed
tdhock opened this issue Nov 16, 2023 · 12 comments
Closed

stringi build error #2

tdhock opened this issue Nov 16, 2023 · 12 comments

Comments

@tdhock
Copy link
Owner

tdhock commented Nov 16, 2023


checking for pkg-config... /home/th798/.conda/envs/emacs1/bin/pkg-config
checking with 'pkg-config' for the system ICU4C (icu-i18n icu-uc)... 58.2
checking for ICU4C >= 61... no
*** ICU4C 58.2 has been detected
*** Minimal requirements, i.e., ICU4C >= 61, are not met
*** Trying with 'standard' fallback flags
checking whether an ICU4C-based project can be built... no
*** This version of ICU4C cannot be used.
*** Using the ICU 74 bundle that comes with 'stringi'.
checking whether we may compile src/icu74/common/putil.cpp... no
*** The ICU4C bundle cannot be built.
*** Failed to configure package build with the ICU bundle usage.
*** Trying with C++11 compiler disabled.
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 g++ -std=gnu++11 accepts -g... yes
checking for g++ -std=gnu++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... (cached) /home/th798/.conda/envs/emacs1/bin/pkg-config
checking with 'pkg-config' for the system ICU4C (icu-i18n icu-uc)... 58.2
checking for ICU4C >= 61... no
*** ICU4C 58.2 has been detected
*** Minimal requirements, i.e., ICU4C >= 61, are not met
*** Trying with 'standard' fallback flags
checking whether an ICU4C-based project can be built... no
*** This version of ICU4C cannot be used.
*** Using the ICU 74 bundle that comes with 'stringi'.
checking whether we may compile src/icu74/common/putil.cpp... no
*** The ICU4C bundle cannot be built.
*** Failed to configure package build with the ICU bundle usage.

*** *********************************************************************
*** 'stringi' cannot be built with the current 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'

Maybe need to upgrade ICU? ICU 70 is installed under $HOME (for redland), and ICU 58 is installed under $CONDA_PREFIX (for base R).

see https://stringi.gagolewski.com/install.html

@tdhock
Copy link
Owner Author

tdhock commented Nov 17, 2023

stringi news says

## 1.8.1 (2023-11-09)

* [GENERAL] ICU bundle updated to version 74.1 (Unicode 15.1, CLDR 44).

@tdhock
Copy link
Owner Author

tdhock commented Nov 17, 2023

apparently ICU4C 70.1 is not good enough,

th798@cn64:~/genomic-ml/data.table-revdeps(master*)$ PKG_CONFIG_PATH=$HOME/lib/pkgconfig R CMD INSTALL stringi_1.8.1.tar.gz 
* installing to library ‘/projects/genomic-ml/lib64/R/library’
* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
** using staged installation
checking for R_HOME... /home/th798/lib64/R
checking for R... /home/th798/lib64/R/bin/R
checking for endianness... little
checking for cat... /usr/bin/cat
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 g++ -std=gnu++17 accepts -g... yes
checking for g++ -std=gnu++17 option to enable C++11 features... 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... /home/th798/.conda/envs/emacs1/bin/pkg-config
checking with 'pkg-config' for the system ICU4C (icu-i18n icu-uc)... 70.1
checking for ICU4C >= 61... yes
checking for additional CPPFLAGS, LDFLAGS, and LIBS required... done
checking whether an ICU4C-based project can be built... no
*** This version of ICU4C cannot be used.
*** Using the ICU 74 bundle that comes with 'stringi'.
checking whether we may compile src/icu74/common/putil.cpp... no
*** The ICU4C bundle cannot be built.
*** Failed to configure package build with the ICU bundle usage.
*** Trying with C++11 compiler disabled.
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 g++ -std=gnu++11 accepts -g... yes
checking for g++ -std=gnu++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... (cached) /home/th798/.conda/envs/emacs1/bin/pkg-config
checking with 'pkg-config' for the system ICU4C (icu-i18n icu-uc)... 70.1
checking for ICU4C >= 61... yes
checking for additional CPPFLAGS, LDFLAGS, and LIBS required... done
checking whether an ICU4C-based project can be built... no
*** This version of ICU4C cannot be used.
*** Using the ICU 74 bundle that comes with 'stringi'.
checking whether we may compile src/icu74/common/putil.cpp... no
*** The ICU4C bundle cannot be built.
*** Failed to configure package build with the ICU bundle usage.

*** *********************************************************************
*** 'stringi' cannot be built with the current 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 ‘/projects/genomic-ml/lib64/R/library/stringi’
* restoring previous ‘/projects/genomic-ml/lib64/R/library/stringi’

@tdhock
Copy link
Owner Author

tdhock commented Nov 17, 2023

does not work even after installing ICU4C 74.1

th798@cn64:~/genomic-ml/data.table-revdeps(master*)$ PKG_CONFIG_PATH=$HOME/lib/pkgconfig R CMD INSTALL stringi_1.8.1.tar.gz 
* installing to library ‘/projects/genomic-ml/lib64/R/library’
* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
** using staged installation
checking for R_HOME... /home/th798/lib64/R
checking for R... /home/th798/lib64/R/bin/R
checking for endianness... little
checking for cat... /usr/bin/cat
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 g++ -std=gnu++17 accepts -g... yes
checking for g++ -std=gnu++17 option to enable C++11 features... 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... /home/th798/.conda/envs/emacs1/bin/pkg-config
checking with 'pkg-config' for the system ICU4C (icu-i18n icu-uc)... 74.1
checking for ICU4C >= 61... yes
checking for additional CPPFLAGS, LDFLAGS, and LIBS required... done
checking whether an ICU4C-based project can be built... no
*** This version of ICU4C cannot be used.
*** Using the ICU 74 bundle that comes with 'stringi'.
checking whether we may compile src/icu74/common/putil.cpp... no
*** The ICU4C bundle cannot be built.
*** Failed to configure package build with the ICU bundle usage.
*** Trying with C++11 compiler disabled.
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 g++ -std=gnu++11 accepts -g... yes
checking for g++ -std=gnu++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... (cached) /home/th798/.conda/envs/emacs1/bin/pkg-config
checking with 'pkg-config' for the system ICU4C (icu-i18n icu-uc)... 74.1
checking for ICU4C >= 61... yes
checking for additional CPPFLAGS, LDFLAGS, and LIBS required... done
checking whether an ICU4C-based project can be built... no
*** This version of ICU4C cannot be used.
*** Using the ICU 74 bundle that comes with 'stringi'.
checking whether we may compile src/icu74/common/putil.cpp... no
*** The ICU4C bundle cannot be built.
*** Failed to configure package build with the ICU bundle usage.

*** *********************************************************************
*** 'stringi' cannot be built with the current 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 ‘/projects/genomic-ml/lib64/R/library/stringi’
* restoring previous ‘/projects/genomic-ml/lib64/R/library/stringi’

running configure myself, and looking at config.log, I see:

configure:3711: checking whether we may compile src/icu74/common/putil.cpp
configure:3719: g++ -std=gnu++17 -c -g -O2 -fpic   -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -UDEBUG -DNDEBUG -Isrc/ -Isrc/icu74 -Isrc/icu74/unicode         -Isrc/icu74/common -Isrc/icu74/i18n -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION -DU_I18N_IMPLEMENTATION -D_REENTRANT conftest.cpp >&5
In file included from conftest.cpp:80:
src/icu74/common/cmemory.h: In member function 'T* icu_58::LocalMemory<T>::allocateInsteadAndCopy(int32_t, int32_t)':
src/icu74/common/cmemory.h:61:37: error: 'UPRV_BLOCK_MACRO_BEGIN' was not declared in this scope
 #define uprv_memcpy(dst, src, size) UPRV_BLOCK_MACRO_BEGIN { \
                                     ^~~~~~~~~~~~~~~~~~~~~~
src/icu74/common/cmemory.h:302:17: note: in expansion of macro 'uprv_memcpy'
                 uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T));
                 ^~~~~~~~~~~
src/icu74/common/cmemory.h:302:82: error: expected '}' before end of line
                 uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T));
                                                                                  ^
src/icu74/common/cmemory.h:298:26: note: to match this '{'
             if(length>0) {
                          ^
src/icu74/common/cmemory.h:302:82: error: expected '}' before end of line
                 uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T));
                                                                                  ^
src/icu74/common/cmemory.h:297:24: note: to match this '{'
         if(p!=nullptr) {
                        ^
src/icu74/common/cmemory.h:302:82: error: expected '}' before end of line
                 uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T));
                                                                                  ^
src/icu74/common/cmemory.h:295:23: note: to match this '{'
     if(newCapacity>0) {
                       ^
src/icu74/common/cmemory.h:302:82: error: expected '}' before end of line
                 uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T));
                                                                                  ^
src/icu74/common/cmemory.h:294:87: note: to match this '{'
 inline T *LocalMemory<T>::allocateInsteadAndCopy(int32_t newCapacity, int32_t length) {
                                                                                       ^
src/icu74/common/cmemory.h: At global scope:
src/icu74/common/cmemory.h:302:82: error: expected '}' before end of line
                 uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T));
                                                                                  ^
In file included from /home/th798/.conda/envs/emacs1/include/unicode/utypes.h:39,
                 from /home/th798/.conda/envs/emacs1/include/unicode/putil.h:29,
                 from conftest.cpp:75:
/home/th798/.conda/envs/emacs1/include/unicode/uversion.h:119:71: note: to match this '{'
 #   define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE {
                                                                       ^
src/icu74/common/cmemory.h:177:1: note: in expansion of macro 'U_NAMESPACE_BEGIN'
 U_NAMESPACE_BEGIN
 ^~~~~~~~~~~~~~~~~
In file included from conftest.cpp:80:
src/icu74/common/cmemory.h:302:82: error: expected '}' before end of line
                 uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T));
                                                                                  ^
In file included from /home/th798/.conda/envs/emacs1/include/unicode/utypes.h:39,
                 from /home/th798/.conda/envs/emacs1/include/unicode/putil.h:29,
                 from conftest.cpp:75:
/home/th798/.conda/envs/emacs1/include/unicode/uversion.h:119:43: note: to match this '{'
 #   define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE {
                                           ^
src/icu74/common/cmemory.h:177:1: note: in expansion of macro 'U_NAMESPACE_BEGIN'
 U_NAMESPACE_BEGIN
 ^~~~~~~~~~~~~~~~~
In file included from conftest.cpp:80:
src/icu74/common/cmemory.h:302:82: error: expected declaration before end of line
                 uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T));
                                                                                  ^

@tdhock
Copy link
Owner Author

tdhock commented Nov 17, 2023

hi @gagolews I'm trying to install stringi on a Linux server, and it was working fine until the CRAN update earlier this week.
I tried updating system ICU4C to 74.1, but that did not fix it. With all three ICU4C versions that I tried (58.2, 70.1, 74.1), I get the same failure

checking whether we may compile src/icu74/common/putil.cpp... no

with details in config.log shown in other comment above. (summary with first compilation error below)

configure:3719: g++ -std=gnu++17 -c -g -O2 -fpic   -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -UDEBUG -DNDEBUG -Isrc/ -Isrc/icu74 -Isrc/icu74/unicode         -Isrc/icu74/common -Isrc/icu74/i18n -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION -DU_I18N_IMPLEMENTATION -D_REENTRANT conftest.cpp >&5
In file included from conftest.cpp:80:
src/icu74/common/cmemory.h: In member function 'T* icu_58::LocalMemory<T>::allocateInsteadAndCopy(int32_t, int32_t)':
src/icu74/common/cmemory.h:61:37: error: 'UPRV_BLOCK_MACRO_BEGIN' was not declared in this scope

could you please advise about how to fix?

@gagolews
Copy link

Is it possible that /home/th798/.conda/envs/emacs1/include or /home/th798/include features the header files of ICU 58, in which case they should be removed?

@gagolews
Copy link

OK, I see that PKG_CPPFLAGS takes precedence over R's Makeconf CPPFLAGS, this should be reflected in the configure script as well. Hold on, I will try to fix it on the stringi side so that you do not have to, hopefully, change a thing.

@gagolews
Copy link

gagolews/stringi#502

@tdhock
Copy link
Owner Author

tdhock commented Nov 17, 2023

yes that seems to be the issue. config.log says

configure:3469: checking whether an ICU4C-based project can be built
configure:3492: g++ -std=gnu++17 -o conftest -g -O2 -fpic   -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -UDEBUG -DNDEBUG -I/home/th798/include     -L/home/th798/lib  conftest.cpp    -licui18n -licuuc -licudata  >&5
/tmp/th798/6530536/ccXAZztK.o: In function `main.cold.0':
/home/th798/genomic-ml/data.table-revdeps/stringi/conftest.cpp:22: undefined reference to `icu_58::UnicodeString::~UnicodeString()'

If I remove the conda include, then it works

th798@cn64:~/genomic-ml/data.table-revdeps/stringi(master*)$ g++ -std=gnu++17 -o conftest -g -O2 -fpic   -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -UDEBUG -DNDEBUG -I/home/th798/include     -L/home/th798/lib  conftest.cpp    -licui18n -licuuc -licudata 
/tmp/th798/6530536/ccWpBU21.o: In function `main.cold.0':
/home/th798/genomic-ml/data.table-revdeps/stringi/conftest.cpp:22: undefined reference to `icu_58::UnicodeString::~UnicodeString()'
/home/th798/genomic-ml/data.table-revdeps/stringi/conftest.cpp:22: undefined reference to `icu_58::UnicodeString::UnicodeString(char const*)'
/home/th798/genomic-ml/data.table-revdeps/stringi/conftest.cpp:23: undefined reference to `icu_58::operator+(icu_58::UnicodeString const&, icu_58::UnicodeString const&)'
/tmp/th798/6530536/ccWpBU21.o: In function `main':
/home/th798/.conda/envs/emacs1/include/unicode/unistr.h:1917: undefined reference to `icu_58::UnicodeString::moveFrom(icu_58::UnicodeString&)'
/tmp/th798/6530536/ccWpBU21.o: In function `main.cold.0':
/home/th798/genomic-ml/data.table-revdeps/stringi/conftest.cpp:23: undefined reference to `icu_58::UnicodeString::~UnicodeString()'
/home/th798/genomic-ml/data.table-revdeps/stringi/conftest.cpp:22: undefined reference to `icu_58::UnicodeString::~UnicodeString()'
collect2: error: ld returned 1 exit status
th798@cn64:~/genomic-ml/data.table-revdeps/stringi(master*)$ g++ -std=gnu++17 -o conftest -g -O2 -fpic  -I/home/th798/include   -UDEBUG -DNDEBUG -I/home/th798/include     -L/home/th798/lib  conftest.cpp    -licui18n -licuuc -licudata 
th798@cn64:~/genomic-ml/data.table-revdeps/stringi(master*)$ 

It seems that this conda include is coming from the flags from this step

configure:3452: checking for additional CPPFLAGS, LDFLAGS, and LIBS required
configure:3457: result: done

Are those flags coming from my build of ICU? Or from R?
I looked at configure.ac, and I saw

    AC_MSG_CHECKING([for additional CPPFLAGS, LDFLAGS, and LIBS required])
    ICU_CPPFLAGS=`"${PKG_CONFIG}" --cflags icu-uc icu-i18n`
    ICU_LDFLAGS=`"${PKG_CONFIG}" --libs-only-L icu-uc icu-i18n`
    ICU_LIBS=`"${PKG_CONFIG}" --libs-only-l icu-uc icu-i18n`

which I thought meant that the bad conda include came from the flags that I used when I built ICU.
But I tried re-building ICU without conda, and I still get the same error.
Can you please tell me where stringi is finding that bad conda include flag?

@gagolews
Copy link

Fixed - can you try the most recent development version of stringi (on github)?

We need at least ICU v. 61, so of there is an older version on your system, it won't be used.

We try fetching the flags for the system ICU via pkg-config, which relies on the PKG_CONFIG_PATH environmental variable.
Perhaps either conda has its own copy pkg-config with its own PKG_CONFIG_PATH, or it sets PKG_CONFIG_PATH

You can try inspecting the value of:

pkg-config --cflags icu-uc icu-i18n
pkg-config --libs-only-L icu-uc icu-i18n
pkg-config --libs-only-l icu-uc icu-i18n

Also, try checking /home/th798/lib64/R/etc/Makevars out (or Makevars somewhere else?)

HTH

@tdhock
Copy link
Owner Author

tdhock commented Nov 20, 2023

thanks for the update. installing stringi from github seems to work,

$ module load gdal/3.3.1 && module load jags && module load openmpi && module load anaconda3 && conda activate emacs1 && R_LIBS_USER= PKG_CONFIG_PATH=\"$CONDA_PREFIX/lib/pkgconfig:$HOME/lib/pkgconfig:$HOME/lib64/pkgconfig\" /projects/genomic-ml/R/R-devel/bin/R -e 'remotes::install_github(\"gagolews/stringi\")' 2>&1
WARNING: ignoring environment value of R_HOME

R Under development (unstable) (2023-11-19 r85561) -- "Unsuffered Consequences"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

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.

During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
> remotes::install_github("gagolews/stringi")
Downloading GitHub repo gagolews/stringi@HEAD
── R CMD build ─────────────────────────────────────────────────────────────────
   During startup - Warning messages:
   1: Setting LC_TIME failed, using "C" 
   2: Setting LC_MONETARY failed, using "C" 
   3: Setting LC_PAPER failed, using "C" 
   4: Setting LC_MEASUREMENT failed, using "C" 
✔  checking for file ‘/tmp/th798/6568392/RtmpXpmPVe/remotes2262be592789f3/gagolews-stringi-070b790/DESCRIPTION’
   /usr/bin/cp -LR --preserve=timestamps gagolews-stringi-070b790 /tmp/th798/6568392/Rtmp68qFuE/Rbuild226305340001f6
─  preparing ‘stringi’:
✔  checking DESCRIPTION meta-information
─  cleaning src
─  running ‘cleanup’
─  checking for LF line-endings in source and make files and shell scripts (471ms)
─  checking for empty or unneeded directories (681ms)
─  building ‘stringi_1.8.1.9001.tar.gz’
   Warning: invalid uid value replaced by that for user 'nobody'
   
During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
* installing *source* package ‘stringi’ ...
** using staged installation
checking for R_HOME... /home/th798/R/R-devel
checking for R... /home/th798/R/R-devel/bin/R
checking for endianness... little
checking for cat... /usr/bin/cat
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 g++ -std=gnu++17 accepts -g... yes
checking for g++ -std=gnu++17 option to enable C++11 features... 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... /home/th798/.conda/envs/emacs1/bin/pkg-config
checking with 'pkg-config' for the system ICU4C (icu-i18n icu-uc)... 58.2
checking for ICU4C >= 61... no
*** ICU4C 58.2 has been detected
*** Minimal requirements, i.e., ICU4C >= 61, are not met
*** Trying with 'standard' fallback flags
checking whether an ICU4C-based project can be built... no
*** This version of ICU4C cannot be used.
*** Using the ICU 74 bundle that comes with 'stringi'.
checking whether we may compile src/icu74/common/putil.cpp... yes
checking whether we may compile src/icu74/i18n/number_affixutils.cpp... yes
checking whether alignof(std::max_align_t) is available... yes
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 ICU data library is available... icu74/data/icudt74l.dat.xz exists
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=icu74/data
    ICU_BUNDLE_VERSION=74
    ICUDT_ENDIANNESS=little
    STRINGI_CXXSTD=
    STRINGI_CXXFLAGS=  -fpic
    STRINGI_CPPFLAGS=-I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_STRINGI_PATCHES         -Iicu74         -Iicu74/unicode         -Iicu74/common         -Iicu74/i18n         -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION         -DU_I18N_IMPLEMENTATION         -D_REENTRANT         -DUCONFIG_USE_LOCAL
    STRINGI_LDFLAGS=  
    STRINGI_LIBS=  

*** Compiler settings used:
    CXX=g++ -std=gnu++17
    LD=g++ -std=gnu++17
    CXXFLAGS=-g -O2
    CPPFLAGS=-I/home/th798/.conda/envs/emacs1/include -I/home/th798/include
    LDFLAGS=
    LIBS=

** libs
using C++ compiler: ‘g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18)’
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_STRINGI_PATCHES         -Iicu74         -Iicu74/unicode         -Iicu74/common         -Iicu74/i18n         -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION         -DU_I18N_IMPLEMENTATION         -D_REENTRANT         -DUCONFIG_USE_LOCAL  -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c stri_brkiter.cpp -o stri_brkiter.o
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_STRINGI_PATCHES         -Iicu74         -Iicu74/unicode         -Iicu74/common         -Iicu74/i18n         -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION         -DU_I18N_IMPLEMENTATION         -D_REENTRANT         -DUCONFIG_USE_LOCAL  -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c stri_collator.cpp -o stri_collator.o
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_STRINGI_PATCHES         -Iicu74         -Iicu74/unicode         -Iicu74/common         -Iicu74/i18n         -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION         -DU_I18N_IMPLEMENTATION         -D_REENTRANT         -DUCONFIG_USE_LOCAL  -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c stri_common.cpp -o stri_common.o
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_STRINGI_PATCHES         -Iicu74         -Iicu74/unicode         -Iicu74/common         -Iicu74/i18n         -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION         -DU_I18N_IMPLEMENTATION         -D_REENTRANT         -DUCONFIG_USE_LOCAL  -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c stri_compare.cpp -o stri_compare.o
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_STRINGI_PATCHES         -Iicu74         -Iicu74/unicode         -Iicu74/common         -Iicu74/i18n         -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION         -DU_I18N_IMPLEMENTATION         -D_REENTRANT         -DUCONFIG_USE_LOCAL  -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c stri_container_base.cpp -o stri_container_base.o
...
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -DU_STRINGI_PATCHES         -Iicu74         -Iicu74/unicode         -Iicu74/common         -Iicu74/i18n         -DU_STATIC_IMPLEMENTATION         -DU_COMMON_IMPLEMENTATION         -DU_I18N_IMPLEMENTATION         -D_REENTRANT         -DUCONFIG_USE_LOCAL  -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c icu74/stubdata/stubdata.cpp -o icu74/stubdata/stubdata.o
g++ -std=gnu++17 -shared -L/home/th798/.conda/envs/emacs1/lib -Wl,-rpath=/home/th798/.conda/envs/emacs1/lib -L/home/th798/lib -Wl,-rpath=/home/th798/lib -L/home/th798/lib64 -Wl,-rpath=/home/th798/lib64 -o stringi.so stri_brkiter.o stri_collator.o stri_common.o stri_compare.o stri_container_base.o stri_container_bytesearch.o stri_container_listint.o stri_container_listraw.o stri_container_listutf8.o stri_container_regex.o stri_container_usearch.o stri_container_utf16.o stri_container_utf8.o stri_container_utf8_indexable.o stri_encoding_conversion.o stri_encoding_detection.o stri_encoding_management.o stri_escape.o stri_exception.o stri_ICU_settings.o stri_join.o stri_length.o stri_pad.o stri_prepare_arg.o stri_random.o stri_reverse.o stri_search_class_count.o stri_search_class_detect.o stri_search_class_extract.o stri_search_class_locate.o stri_search_class_replace.o stri_search_class_split.o stri_search_class_startsendswith.o stri_search_class_subset.o stri_search_class_trim.o stri_search_common.o stri_search_coll_count.o stri_search_coll_detect.o stri_search_coll_extract.o stri_search_coll_locate.o stri_search_coll_replace.o stri_search_coll_split.o stri_search_coll_startsendswith.o stri_search_coll_subset.o stri_search_boundaries_count.o stri_search_boundaries_extract.o stri_search_boundaries_locate.o stri_search_boundaries_split.o stri_search_fixed_count.o stri_search_fixed_detect.o stri_search_fixed_extract.o stri_search_fixed_locate.o stri_search_fixed_replace.o stri_search_fixed_split.o stri_search_fixed_subset.o stri_search_fixed_startsendswith.o stri_search_in.o stri_search_other_split.o stri_search_regex_count.o stri_search_regex_detect.o stri_search_regex_extract.o stri_search_regex_locate.o stri_search_regex_match.o stri_search_regex_replace.o stri_search_regex_split.o stri_search_regex_subset.o stri_sort.o stri_sprintf.o stri_stats.o stri_string8.o stri_stringi.o stri_sub.o stri_test.o stri_time_zone.o stri_time_calendar.o stri_time_symbols.o stri_time_format.o stri_trans_casemap.o stri_trans_other.o stri_trans_normalization.o stri_trans_transliterate.o stri_ucnv.o stri_uloc.o stri_utils.o stri_wrap.o icu74/common/appendable.o icu74/common/bmpset.o icu74/common/brkeng.o icu74/common/brkiter.o icu74/common/bytesinkutil.o icu74/common/bytestream.o icu74/common/bytestrie.o icu74/common/bytestriebuilder.o icu74/common/bytestrieiterator.o icu74/common/caniter.o icu74/common/characterproperties.o icu74/common/chariter.o icu74/common/charstr.o icu74/common/cmemory.o icu74/common/cstr.o icu74/common/cstring.o icu74/common/cwchar.o icu74/common/dictbe.o icu74/common/dictionarydata.o icu74/common/dtintrv.o icu74/common/edits.o icu74/common/emojiprops.o icu74/common/errorcode.o icu74/common/filteredbrk.o icu74/common/filterednormalizer2.o icu74/common/icudataver.o icu74/common/icuplug.o icu74/common/loadednormalizer2impl.o icu74/common/localebuilder.o icu74/common/localematcher.o icu74/common/localeprioritylist.o icu74/common/locavailable.o icu74/common/locbased.o icu74/common/locdispnames.o icu74/common/locdistance.o icu74/common/locdspnm.o icu74/common/locid.o icu74/common/loclikely.o icu74/common/loclikelysubtags.o icu74/common/locmap.o icu74/common/locresdata.o icu74/common/locutil.o icu74/common/lsr.o icu74/common/lstmbe.o icu74/common/messagepattern.o icu74/common/mlbe.o icu74/common/normalizer2.o icu74/common/normalizer2impl.o icu74/common/normlzr.o icu74/common/parsepos.o icu74/common/patternprops.o icu74/common/pluralmap.o icu74/common/propname.o icu74/common/propsvec.o icu74/common/punycode.o icu74/common/putil.o icu74/common/rbbi_cache.o icu74/common/rbbi.o icu74/common/rbbidata.o icu74/common/rbbinode.o icu74/common/rbbirb.o icu74/common/rbbiscan.o icu74/common/rbbisetb.o icu74/common/rbbistbl.o icu74/common/rbbitblb.o icu74/common/resbund_cnv.o icu74/common/resbund.o icu74/common/resource.o icu74/common/restrace.o icu74/common/ruleiter.o icu74/common/schriter.o icu74/common/serv.o icu74/common/servlk.o icu74/common/servlkf.o icu74/common/servls.o icu74/common/servnotf.o icu74/common/servrbf.o icu74/common/servslkf.o icu74/common/sharedobject.o icu74/common/simpleformatter.o icu74/common/static_unicode_sets.o icu74/common/stringpiece.o icu74/common/stringtriebuilder.o icu74/common/uarrsort.o icu74/common/ubidi_props.o icu74/common/ubidi.o icu74/common/ubidiln.o icu74/common/ubiditransform.o icu74/common/ubidiwrt.o icu74/common/ubrk.o icu74/common/ucase.o icu74/common/ucasemap_titlecase_brkiter.o icu74/common/ucasemap.o icu74/common/ucat.o icu74/common/uchar.o icu74/common/ucharstrie.o icu74/common/ucharstriebuilder.o icu74/common/ucharstrieiterator.o icu74/common/uchriter.o icu74/common/ucln_cmn.o icu74/common/ucmndata.o icu74/common/ucnv_bld.o icu74/common/ucnv_cb.o icu74/common/ucnv_cnv.o icu74/common/ucnv_ct.o icu74/common/ucnv_err.o icu74/common/ucnv_ext.o icu74/common/ucnv_io.o icu74/common/ucnv_lmb.o icu74/common/ucnv_set.o icu74/common/ucnv_u16.o icu74/common/ucnv_u32.o icu74/common/ucnv_u7.o icu74/common/ucnv_u8.o icu74/common/ucnv.o icu74/common/ucnv2022.o icu74/common/ucnvbocu.o icu74/common/ucnvdisp.o icu74/common/ucnvhz.o icu74/common/ucnvisci.o icu74/common/ucnvlat1.o icu74/common/ucnvmbcs.o icu74/common/ucnvscsu.o icu74/common/ucnvsel.o icu74/common/ucol_swp.o icu74/common/ucptrie.o icu74/common/ucurr.o icu74/common/udata.o icu74/common/udatamem.o icu74/common/udataswp.o icu74/common/uenum.o icu74/common/uhash_us.o icu74/common/uhash.o icu74/common/uidna.o icu74/common/uinit.o icu74/common/uinvchar.o icu74/common/uiter.o icu74/common/ulist.o icu74/common/uloc_keytype.o icu74/common/uloc_tag.o icu74/common/uloc.o icu74/common/ulocale.o icu74/common/ulocbuilder.o icu74/common/umapfile.o icu74/common/umath.o icu74/common/umutablecptrie.o icu74/common/umutex.o icu74/common/unames.o icu74/common/unifiedcache.o icu74/common/unifilt.o icu74/common/unifunct.o icu74/common/uniset_closure.o icu74/common/uniset_props.o icu74/common/uniset.o icu74/common/unisetspan.o icu74/common/unistr_case_locale.o icu74/common/unistr_case.o icu74/common/unistr_cnv.o icu74/common/unistr_props.o icu74/common/unistr_titlecase_brkiter.o icu74/common/unistr.o icu74/common/unorm.o icu74/common/unormcmp.o icu74/common/uobject.o icu74/common/uprops.o icu74/common/ures_cnv.o icu74/common/uresbund.o icu74/common/uresdata.o icu74/common/usc_impl.o icu74/common/uscript_props.o icu74/common/uscript.o icu74/common/uset_props.o icu74/common/uset.o icu74/common/usetiter.o icu74/common/ushape.o icu74/common/usprep.o icu74/common/ustack.o icu74/common/ustr_cnv.o icu74/common/ustr_titlecase_brkiter.o icu74/common/ustr_wcs.o icu74/common/ustrcase_locale.o icu74/common/ustrcase.o icu74/common/ustrenum.o icu74/common/ustrfmt.o icu74/common/ustring.o icu74/common/ustrtrns.o icu74/common/utext.o icu74/common/utf_impl.o icu74/common/util_props.o icu74/common/util.o icu74/common/utrace.o icu74/common/utrie_swap.o icu74/common/utrie.o icu74/common/utrie2_builder.o icu74/common/utrie2.o icu74/common/uts46.o icu74/common/utypes.o icu74/common/uvector.o icu74/common/uvectr32.o icu74/common/uvectr64.o icu74/common/wintz.o icu74/i18n/alphaindex.o icu74/i18n/anytrans.o icu74/i18n/astro.o icu74/i18n/basictz.o icu74/i18n/bocsu.o icu74/i18n/brktrans.o icu74/i18n/buddhcal.o icu74/i18n/calendar.o icu74/i18n/casetrn.o icu74/i18n/cecal.o icu74/i18n/chnsecal.o icu74/i18n/choicfmt.o icu74/i18n/coleitr.o icu74/i18n/coll.o icu74/i18n/collation.o icu74/i18n/collationbuilder.o icu74/i18n/collationcompare.o icu74/i18n/collationdata.o icu74/i18n/collationdatabuilder.o icu74/i18n/collationdatareader.o icu74/i18n/collationdatawriter.o icu74/i18n/collationfastlatin.o icu74/i18n/collationfastlatinbuilder.o icu74/i18n/collationfcd.o icu74/i18n/collationiterator.o icu74/i18n/collationkeys.o icu74/i18n/collationroot.o icu74/i18n/collationrootelements.o icu74/i18n/collationruleparser.o icu74/i18n/collationsets.o icu74/i18n/collationsettings.o icu74/i18n/collationtailoring.o icu74/i18n/collationweights.o icu74/i18n/compactdecimalformat.o icu74/i18n/coptccal.o icu74/i18n/cpdtrans.o icu74/i18n/csdetect.o icu74/i18n/csmatch.o icu74/i18n/csr2022.o icu74/i18n/csrecog.o icu74/i18n/csrmbcs.o icu74/i18n/csrsbcs.o icu74/i18n/csrucode.o icu74/i18n/csrutf8.o icu74/i18n/curramt.o icu74/i18n/currfmt.o icu74/i18n/currpinf.o icu74/i18n/currunit.o icu74/i18n/dangical.o icu74/i18n/datefmt.o icu74/i18n/dayperiodrules.o icu74/i18n/dcfmtsym.o icu74/i18n/decContext.o icu74/i18n/decimfmt.o icu74/i18n/decNumber.o icu74/i18n/displayoptions.o icu74/i18n/double-conversion-bignum-dtoa.o icu74/i18n/double-conversion-bignum.o icu74/i18n/double-conversion-cached-powers.o icu74/i18n/double-conversion-double-to-string.o icu74/i18n/double-conversion-fast-dtoa.o icu74/i18n/double-conversion-string-to-double.o icu74/i18n/double-conversion-strtod.o icu74/i18n/dtfmtsym.o icu74/i18n/dtitvfmt.o icu74/i18n/dtitvinf.o icu74/i18n/dtptngen.o icu74/i18n/dtrule.o icu74/i18n/erarules.o icu74/i18n/esctrn.o icu74/i18n/ethpccal.o icu74/i18n/fmtable_cnv.o icu74/i18n/fmtable.o icu74/i18n/format.o icu74/i18n/formatted_string_builder.o icu74/i18n/formattedval_iterimpl.o icu74/i18n/formattedval_sbimpl.o icu74/i18n/formattedvalue.o icu74/i18n/fphdlimp.o icu74/i18n/fpositer.o icu74/i18n/funcrepl.o icu74/i18n/gender.o icu74/i18n/gregocal.o icu74/i18n/gregoimp.o icu74/i18n/hebrwcal.o icu74/i18n/indiancal.o icu74/i18n/inputext.o icu74/i18n/islamcal.o icu74/i18n/iso8601cal.o icu74/i18n/japancal.o icu74/i18n/listformatter.o icu74/i18n/measfmt.o icu74/i18n/measunit_extra.o icu74/i18n/measunit.o icu74/i18n/measure.o icu74/i18n/msgfmt.o icu74/i18n/name2uni.o icu74/i18n/nfrs.o icu74/i18n/nfrule.o icu74/i18n/nfsubs.o icu74/i18n/nortrans.o icu74/i18n/nultrans.o icu74/i18n/number_affixutils.o icu74/i18n/number_asformat.o icu74/i18n/number_capi.o icu74/i18n/number_compact.o icu74/i18n/number_currencysymbols.o icu74/i18n/number_decimalquantity.o icu74/i18n/number_decimfmtprops.o icu74/i18n/number_fluent.o icu74/i18n/number_formatimpl.o icu74/i18n/number_grouping.o icu74/i18n/number_integerwidth.o icu74/i18n/number_longnames.o icu74/i18n/number_mapper.o icu74/i18n/number_modifiers.o icu74/i18n/number_multiplier.o icu74/i18n/number_notation.o icu74/i18n/number_output.o icu74/i18n/number_padding.o icu74/i18n/number_patternmodifier.o icu74/i18n/number_patternstring.o icu74/i18n/number_rounding.o icu74/i18n/number_scientific.o icu74/i18n/number_simple.o icu74/i18n/number_skeletons.o icu74/i18n/number_symbolswrapper.o icu74/i18n/number_usageprefs.o icu74/i18n/number_utils.o icu74/i18n/numfmt.o icu74/i18n/numparse_affixes.o icu74/i18n/numparse_compositions.o icu74/i18n/numparse_currency.o icu74/i18n/numparse_decimal.o icu74/i18n/numparse_impl.o icu74/i18n/numparse_parsednumber.o icu74/i18n/numparse_scientific.o icu74/i18n/numparse_symbols.o icu74/i18n/numparse_validators.o icu74/i18n/numrange_capi.o icu74/i18n/numrange_fluent.o icu74/i18n/numrange_impl.o icu74/i18n/numsys.o icu74/i18n/olsontz.o icu74/i18n/persncal.o icu74/i18n/pluralranges.o icu74/i18n/plurfmt.o icu74/i18n/plurrule.o icu74/i18n/quant.o icu74/i18n/quantityformatter.o icu74/i18n/rbnf.o icu74/i18n/rbt_data.o icu74/i18n/rbt_pars.o icu74/i18n/rbt_rule.o icu74/i18n/rbt_set.o icu74/i18n/rbt.o icu74/i18n/rbtz.o icu74/i18n/regexcmp.o icu74/i18n/regeximp.o icu74/i18n/regexst.o icu74/i18n/regextxt.o icu74/i18n/region.o icu74/i18n/reldatefmt.o icu74/i18n/reldtfmt.o icu74/i18n/rematch.o icu74/i18n/remtrans.o icu74/i18n/repattrn.o icu74/i18n/rulebasedcollator.o icu74/i18n/scientificnumberformatter.o icu74/i18n/scriptset.o icu74/i18n/search.o icu74/i18n/selfmt.o icu74/i18n/sharedbreakiterator.o icu74/i18n/simpletz.o icu74/i18n/smpdtfmt.o icu74/i18n/smpdtfst.o icu74/i18n/sortkey.o icu74/i18n/standardplural.o icu74/i18n/string_segment.o icu74/i18n/strmatch.o icu74/i18n/strrepl.o icu74/i18n/stsearch.o icu74/i18n/taiwncal.o icu74/i18n/timezone.o icu74/i18n/titletrn.o icu74/i18n/tmunit.o icu74/i18n/tmutamt.o icu74/i18n/tmutfmt.o icu74/i18n/tolowtrn.o icu74/i18n/toupptrn.o icu74/i18n/translit.o icu74/i18n/transreg.o icu74/i18n/tridpars.o icu74/i18n/tzfmt.o icu74/i18n/tzgnames.o icu74/i18n/tznames_impl.o icu74/i18n/tznames.o icu74/i18n/tzrule.o icu74/i18n/tztrans.o icu74/i18n/ucal.o icu74/i18n/ucln_in.o icu74/i18n/ucol_res.o icu74/i18n/ucol_sit.o icu74/i18n/ucol.o icu74/i18n/ucoleitr.o icu74/i18n/ucsdet.o icu74/i18n/udat.o icu74/i18n/udateintervalformat.o icu74/i18n/udatpg.o icu74/i18n/ufieldpositer.o icu74/i18n/uitercollationiterator.o icu74/i18n/ulistformatter.o icu74/i18n/ulocdata.o icu74/i18n/umsg.o icu74/i18n/unesctrn.o icu74/i18n/uni2name.o icu74/i18n/units_complexconverter.o icu74/i18n/units_converter.o icu74/i18n/units_data.o icu74/i18n/units_router.o icu74/i18n/unum.o icu74/i18n/unumsys.o icu74/i18n/upluralrules.o icu74/i18n/uregex.o icu74/i18n/uregexc.o icu74/i18n/uregion.o icu74/i18n/usearch.o icu74/i18n/uspoof_build.o icu74/i18n/uspoof_conf.o icu74/i18n/uspoof_impl.o icu74/i18n/uspoof.o icu74/i18n/utf16collationiterator.o icu74/i18n/utf8collationiterator.o icu74/i18n/utmscale.o icu74/i18n/utrans.o icu74/i18n/vtzone.o icu74/i18n/vzone.o icu74/i18n/windtfmt.o icu74/i18n/winnmfmt.o icu74/i18n/wintzimpl.o icu74/i18n/zonemeta.o icu74/i18n/zrule.o icu74/i18n/ztrans.o icu74/stubdata/stubdata.o
installing via 'install.libs.R' to /projects/genomic-ml/R/R-devel/library/00LOCK-stringi/00new/stringi
icu74/data/icudt74l.dat.xz exists
decompressing icu74/data/icudt74l.dat.xz to: /projects/genomic-ml/R/R-devel/library/00LOCK-stringi/00new/stringi/libs
icu74/data/icudt74l.dat installed successfully
** R
** inst
** byte-compile and prepare package for lazy loading
During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
** help
*** installing help indices
** building package indices
During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
** testing if installed package can be loaded from temporary location
During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
** testing if installed package keeps a record of temporary installation path
* DONE (stringi)

@tdhock tdhock closed this as completed Nov 20, 2023
@tdhock
Copy link
Owner Author

tdhock commented Nov 20, 2023

for completeness it looks like PKG_CONFIG_PATH is now respected as well,

th798@wind:~$ PKG_CONFIG_PATH=$HOME/lib/pkgconfig R/R-devel/bin/R -e 'remotes::install_github("gagolews/stringi")'

R Under development (unstable) (2023-11-19 r85561) -- "Unsuffered Consequences"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

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.

During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
> remotes::install_github("gagolews/stringi")
Skipping install of 'stringi' from a github remote, the SHA1 (070b7900) has not changed since last install.
  Use `force = TRUE` to force installation
> 
> 
th798@wind:~$ PKG_CONFIG_PATH=$HOME/lib/pkgconfig R/R-devel/bin/R -e 'remotes::install_github("gagolews/stringi",force=TRUE)'

R Under development (unstable) (2023-11-19 r85561) -- "Unsuffered Consequences"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

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.

During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
> remotes::install_github("gagolews/stringi",force=TRUE)
Downloading GitHub repo gagolews/stringi@HEAD
── R CMD build ─────────────────────────────────────────────────────────────────
   During startup - Warning messages:
   1: Setting LC_TIME failed, using "C" 
   2: Setting LC_MONETARY failed, using "C" 
   3: Setting LC_PAPER failed, using "C" 
   4: Setting LC_MEASUREMENT failed, using "C" 
   checking for file ‘/tmp/Rtmp72Zkgv/remotes328c7b29e53f86/gagolews-stringi-070✔  checking for file ‘/tmp/Rtmp72Zkgv/remotes328c7b29e53f86/gagolews-stringi-070b790/DESCRIPTION’
   /usr/bin/cp -LR --preserve=timestamps gagolews-stringi-070b790 /tmp/RtmpwyVwpi/Rbuild328dab7a8898b
─  preparing ‘stringi’:
✔  checking DESCRIPTION meta-information ...
─  cleaning src
─  running ‘cleanup’
─  checking for LF line-endings in source and make files and shell scripts (776ms)
─  checking for empty or unneeded directories (2.4s)
─  building ‘stringi_1.8.1.9001.tar.gz’
   Warning: invalid uid value replaced by that for user 'nobody'
   
During startup - Warning messages:
1: Setting LC_TIME failed, using "C" 
2: Setting LC_MONETARY failed, using "C" 
3: Setting LC_PAPER failed, using "C" 
4: Setting LC_MEASUREMENT failed, using "C" 
* installing *source* package ‘stringi’ ...
** using staged installation
checking for R_HOME... /home/th798/R/R-devel
checking for R... /home/th798/R/R-devel/bin/R
checking for endianness... little
checking for cat... /usr/bin/cat
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 g++ -std=gnu++17 accepts -g... yes
checking for g++ -std=gnu++17 option to enable C++11 features... 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 (icu-i18n icu-uc)... 74.1
checking for ICU4C >= 61... yes
checking for additional CPPFLAGS, LDFLAGS, and LIBS required... done
checking whether an ICU4C-based project can be built... yes
checking programmatically for sufficient U_ICU_VERSION_MAJOR_NUM... yes
checking the capabilities of the ICU data library (ucnv, uloc, utrans)... yes
checking the capabilities of the ICU data library (ucol)... yes
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
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_CXXFLAGS=  -fpic
    STRINGI_CPPFLAGS=-I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -I/home/th798/include 
    STRINGI_LDFLAGS=  -L/home/th798/lib 
    STRINGI_LIBS=  -licui18n -licuuc -licudata 

*** Compiler settings used:
    CXX=g++ -std=gnu++17
    LD=g++ -std=gnu++17
    CXXFLAGS=-g -O2
    CPPFLAGS=-I/home/th798/.conda/envs/emacs1/include -I/home/th798/include
    LDFLAGS=
    LIBS=

** libs
using C++ compiler: ‘g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18)’
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -I/home/th798/include   -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c stri_brkiter.cpp -o stri_brkiter.o
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -I/home/th798/include   -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c stri_collator.cpp -o stri_collator.o
g++ -std=gnu++17 -I"/home/th798/R/R-devel/include" -DNDEBUG -I.   -UDEBUG -DNDEBUG -DU_HAVE_ELF_H -I/home/th798/include   -I/home/th798/.conda/envs/emacs1/include -I/home/th798/include   -fpic -fpic  -g -O2  -c stri_common.cpp -o stri_common.o
...

@gagolews
Copy link

Splendid, cheers!

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

No branches or pull requests

2 participants