[Rd] Can't build R 3.6.1 or 3.5.3 on Ubuntu 18.04 LTS
Hi, I am trying to build a more recent version (3.6.1 or 3.5.3) of R on Ubuntu 18.04 LTS. I have installed build-deps with: sudo apt-get build-dep r-base and I ran ./configure During "make", I get the following error: platform.o: In function `do_eSoftVersion': /home/user/Desktop/R-3.6.1/src/main/platform.c:3129: undefined reference to `u_getVersion_58' /home/user/Desktop/R-3.6.1/src/main/platform.c:3130: undefined reference to `u_versionToString_58' util.o: In function `resetICUcollator': /home/user/Desktop/R-3.6.1/src/main/util.c:2025: undefined reference to `ucol_close_58' util.o: In function `do_ICUset': /home/user/Desktop/R-3.6.1/src/main/util.c:2103: undefined reference to `ucol_close_58' /home/user/Desktop/R-3.6.1/src/main/util.c:2136: undefined reference to `ucol_setStrength_58' /home/user/Desktop/R-3.6.1/src/main/util.c:2111: undefined reference to `uloc_setDefault_58' /home/user/Desktop/R-3.6.1/src/main/util.c:2115: undefined reference to `ucol_open_58' /home/user/Desktop/R-3.6.1/src/main/util.c:2112: undefined reference to `uloc_setDefault_58' /home/user/Desktop/R-3.6.1/src/main/util.c:2138: undefined reference to `ucol_setAttribute_58' util.o: In function `do_ICUget': /home/user/Desktop/R-3.6.1/src/main/util.c:2161: undefined reference to `ucol_getLocaleByType_58' util.o: In function `Rf_Scollate': /home/user/Desktop/R-3.6.1/src/main/util.c:2219: undefined reference to `uiter_setUTF8_58' /home/user/Desktop/R-3.6.1/src/main/util.c:2220: undefined reference to `uiter_setUTF8_58' /home/user/Desktop/R-3.6.1/src/main/util.c:: undefined reference to `ucol_strcollIter_58' /home/user/Desktop/R-3.6.1/src/main/util.c:2200: undefined reference to `uloc_setDefault_58' /home/user/Desktop/R-3.6.1/src/main/util.c:2203: undefined reference to `ucol_open_58' collect2: error: ld returned 1 exit status Makefile:145: recipe for target 'R.bin' failed make[3]: *** [R.bin] Error 1 make[3]: Leaving directory '/home/user/Desktop/R-3.6.1/src/main' Makefile:137: recipe for target 'R' failed make[2]: *** [R] Error 2 make[2]: Leaving directory '/home/user/Desktop/R-3.6.1/src/main' Makefile:28: recipe for target 'R' failed make[1]: *** [R] Error 1 make[1]: Leaving directory '/home/user/Desktop/R-3.6.1/src' Makefile:60: recipe for target 'R' failed make: *** [R] Error 1 I found some suggestiong related to libicu* libraries, but I have those libs insalled. Any ideas, where this is failing? Best, SarenT __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Can't build R 3.6.1 or 3.5.3 on Ubuntu 18.04 LTS
Pure guessing, but a frequent way to get the "have libs, still won't build" syndrome on Linux variants is not having installed the corresponding -dev or -devel package. -pd > On 21 Nov 2019, at 19:07 , Saren Tasciyan wrote: > > Hi, > > I am trying to build a more recent version (3.6.1 or 3.5.3) of R on Ubuntu > 18.04 LTS. I have installed build-deps with: > > sudo apt-get build-dep r-base > > and I ran ./configure > > During "make", I get the following error: > > platform.o: In function `do_eSoftVersion': > /home/user/Desktop/R-3.6.1/src/main/platform.c:3129: undefined reference to > `u_getVersion_58' > /home/user/Desktop/R-3.6.1/src/main/platform.c:3130: undefined reference to > `u_versionToString_58' > util.o: In function `resetICUcollator': > /home/user/Desktop/R-3.6.1/src/main/util.c:2025: undefined reference to > `ucol_close_58' > util.o: In function `do_ICUset': > /home/user/Desktop/R-3.6.1/src/main/util.c:2103: undefined reference to > `ucol_close_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:2136: undefined reference to > `ucol_setStrength_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:2111: undefined reference to > `uloc_setDefault_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:2115: undefined reference to > `ucol_open_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:2112: undefined reference to > `uloc_setDefault_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:2138: undefined reference to > `ucol_setAttribute_58' > util.o: In function `do_ICUget': > /home/user/Desktop/R-3.6.1/src/main/util.c:2161: undefined reference to > `ucol_getLocaleByType_58' > util.o: In function `Rf_Scollate': > /home/user/Desktop/R-3.6.1/src/main/util.c:2219: undefined reference to > `uiter_setUTF8_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:2220: undefined reference to > `uiter_setUTF8_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:: undefined reference to > `ucol_strcollIter_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:2200: undefined reference to > `uloc_setDefault_58' > /home/user/Desktop/R-3.6.1/src/main/util.c:2203: undefined reference to > `ucol_open_58' > collect2: error: ld returned 1 exit status > Makefile:145: recipe for target 'R.bin' failed > make[3]: *** [R.bin] Error 1 > make[3]: Leaving directory '/home/user/Desktop/R-3.6.1/src/main' > Makefile:137: recipe for target 'R' failed > make[2]: *** [R] Error 2 > make[2]: Leaving directory '/home/user/Desktop/R-3.6.1/src/main' > Makefile:28: recipe for target 'R' failed > make[1]: *** [R] Error 1 > make[1]: Leaving directory '/home/user/Desktop/R-3.6.1/src' > Makefile:60: recipe for target 'R' failed > make: *** [R] Error 1 > > I found some suggestiong related to libicu* libraries, but I have those libs > insalled. > > Any ideas, where this is failing? > > Best, > > SarenT > > > > __ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Office: A 4.23 Email: pd@cbs.dk Priv: pda...@gmail.com __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Can't build R 3.6.1 or 3.5.3 on Ubuntu 18.04 LTS
On Fri, Nov 22, 2019 at 2:58 PM Saren Tasciyan wrote: > > Hi, > > I am trying to build a more recent version (3.6.1 or 3.5.3) of R on > Ubuntu 18.04 LTS. Are you aware you can get up-to-date binaries either from PPA or CRAN: sudo add-apt-repository ppa:marutter/rrutter sudo apt-get install r-base-dev > and I ran ./configure > During "make", I get the following error: > platform.o: In function `do_eSoftVersion': > /home/user/Desktop/R-3.6.1/src/main/platform.c:3129: undefined reference > to `u_getVersion_58' Such linking errors indicate you are not linking against the correct library that you compiled against. In this case, there seems to be a version conflict because you compiled against version 58 of ICU, but Ubuntu Bionic actually has ICU60: https://packages.ubuntu.com/bionic/libicu-dev So the question is how do you end up with ICU58 headers? I am guessing your either installed a custom libicu in /usr/local/, or you upgraded from an older version of ubuntu but haven't upgraded libicu-dev. Either way the solution is to clean up your system and make sure there is only one version of libicu. __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Patch idea: an environment variable for setting the user ID
Another thing to consider if one wants to anonymize the build is the UID/GID of the files in the tarball. So there might be a need for a R_BUILD_UID and R_BUILD_GID, e.g. by setting those to 32767 ("nobody"). /Henrik On Fri, Jan 25, 2019 at 9:25 AM Will L wrote: > > Thanks, Kurt. > > I think I now have enough time to write a patch. What are the steps? I have > read https://www.r-project.org/bugs.html#how-to-submit-patches but I do not > seem to have permission to create a Bugzilla account at > https://bugs.r-project.org/bugzilla/. > > Will > > > On Mon, Nov 12, 2018 at 2:46 AM Kurt Hornik wrote: > > > > Will L writes: > > > > > To R-devel, > > > In `R CMD build`, the ID of the user is automatically inserted into the > > > DESCRIPTION file, e.g. > > > > > Packaged: 2018-11-06 14:01:50 UTC; > > > > > > > This is problematic for those of us who work in corporate settings. We > > must > > > not divulge our user IDs in the packages we develop and release. > > > > > Jim Hester pointed out that these two lines in > > > `add_build_stamp_to_description_file()` > > > < > > https://github.com/wch/r-source/blob/521c90a175d67475b9f1b43d7ae68bc48062d8e6/src/library/tools/R/build.R#L170-L171 > > > > > > are responsible. Could we consider his suggestion of using an optional > > > environment variable to overwrite the default behavior? > > > > > user <- Sys.getenv("R_BUILD_USERNAME") > > > if (!nzchar(user)) user <- Sys.info()["user"] > > > if(user == "unknown") user <- Sys.getenv("LOGNAME") > > > > Yep, something along these lines should be possible. > > R_BUILD_USER or R_BUILD_LOGNAME may seem more natural though ... > > > > Best > > -k > > > > > > > > > Will Landau > > > -- > > > wlandau.github.io > > > linkedin.com/in/wlandau > > > github.com/wlandau > > > > > [[alternative HTML version deleted]] > > > > > __ > > > R-devel@r-project.org mailing list > > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > > -- > wlandau.github.io > linkedin.com/in/wlandau > github.com/wlandau > > [[alternative HTML version deleted]] > > __ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Patch idea: an environment variable for setting the user ID
Maybe a further thing to consider is to introduce an environment variable by which one can avoid `add_build_stamp_to_description_file()` and any other calls altogether which affect bitwise reproducibility during the build process. If two users build the same package on exactly the same hardware and in the same software environment, the tarballs are expected to be identical. This is not the case now. Denes On 11/22/19 9:25 PM, Henrik Bengtsson wrote: Another thing to consider if one wants to anonymize the build is the UID/GID of the files in the tarball. So there might be a need for a R_BUILD_UID and R_BUILD_GID, e.g. by setting those to 32767 ("nobody"). /Henrik On Fri, Jan 25, 2019 at 9:25 AM Will L wrote: Thanks, Kurt. I think I now have enough time to write a patch. What are the steps? I have read https://www.r-project.org/bugs.html#how-to-submit-patches but I do not seem to have permission to create a Bugzilla account at https://bugs.r-project.org/bugzilla/. Will On Mon, Nov 12, 2018 at 2:46 AM Kurt Hornik wrote: Will L writes: To R-devel, In `R CMD build`, the ID of the user is automatically inserted into the DESCRIPTION file, e.g. Packaged: 2018-11-06 14:01:50 UTC; This is problematic for those of us who work in corporate settings. We must not divulge our user IDs in the packages we develop and release. Jim Hester pointed out that these two lines in `add_build_stamp_to_description_file()` < https://github.com/wch/r-source/blob/521c90a175d67475b9f1b43d7ae68bc48062d8e6/src/library/tools/R/build.R#L170-L171 are responsible. Could we consider his suggestion of using an optional environment variable to overwrite the default behavior? user <- Sys.getenv("R_BUILD_USERNAME") if (!nzchar(user)) user <- Sys.info()["user"] if(user == "unknown") user <- Sys.getenv("LOGNAME") Yep, something along these lines should be possible. R_BUILD_USER or R_BUILD_LOGNAME may seem more natural though ... Best -k Will Landau -- wlandau.github.io linkedin.com/in/wlandau github.com/wlandau [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel -- wlandau.github.io linkedin.com/in/wlandau github.com/wlandau [[alternative HTML version deleted]] __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel