[Rd] Can't build R 3.6.1 or 3.5.3 on Ubuntu 18.04 LTS

2019-11-22 Thread Saren Tasciyan

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

2019-11-22 Thread peter dalgaard
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

2019-11-22 Thread Jeroen Ooms
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

2019-11-22 Thread Henrik Bengtsson
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

2019-11-22 Thread Dénes Tóth
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