Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Solve ld linker issues for building R source

Tags:

r

linker

building

While trying to install R from source, I ran into linker issues, in particular: undefined reference to 'u_getVersion_58

I found limited information on this error (eg, this post on the RStudio forum). Despite running apt-get build-dep, these issues persisted.

It is apparent from these comments by Dirk Eddenbuettel that it relates to libicu versions. I have libicu version 60, while R 3.6.0 and similar recent versions seem to require version 58.

like image 439
alan ocallaghan Avatar asked Dec 06 '25 06:12

alan ocallaghan


1 Answers

We can install a previous version of libicu from source as follows:

wget https://github.com/unicode-org/icu/releases/download/release-58-3/icu4c-58_3-src.tgz
tar -xf icu4c-58_2-src.tgz
cd icu
make
make install

However, make is likely to run into a compilation error due to missing xlocale.h. As indicated on this github post, this can be solved by running ln -s /usr/include/locale.h /usr/include/xlocale.h, as xlocale.h is just a subset of locale.h which was removed from glibc recently. After this, make and make install should succeed for icu version 58, and following that, for R.

like image 195
alan ocallaghan Avatar answered Dec 08 '25 19:12

alan ocallaghan