问题
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.
回答1:
We can install a previous version of libicu
from source as follows:
wget http://download.icu-project.org/files/icu4c/58.2/icu4c-58_2-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.
来源:https://stackoverflow.com/questions/55382028/solve-ld-linker-issues-for-building-r-source