[R-SIG-Mac] [plr for postgressql] make throws "*** Cannot build PL/R because libR is not a shared library" error
simon.urbanek at r-project.org
Mon Jan 8 20:39:05 CET 2007
just for the record, are you sure you want to re-compile R yourself?
It is not necessary, so I'm just asking ...
On Jan 8, 2007, at 1:10 PM, Sam Hunting wrote:
> Configuring R-2.4.1 for postgresql-8.2.0 on Mac OS X:
> sh-2.05b#sudo gcc_select 3.3
> sh-2.05b# ./configure --enable-R-shlib
> Results of configure:
> R is now configured for powerpc-apple-darwin8.8.0
> Source directory: .
> Installation directory: /Library/Frameworks
> C compiler: gcc -std=gnu99 -g -O2
> Fortran 77 compiler: g77 -g -O2
> C++ compiler: g++ -g -O2
> Fortran 90/95 compiler: g77 -g -O2
> Interfaces supported: X11, aqua, tcltk
> External libraries: readline
> Additional capabilities: iconv, MBCS, NLS
> Options enabled: framework, shared BLAS, R
> Recommended packages: yes
> Then make and install run to completion.
> However, when I go to make plr as the postgres user,
> this happens:
> postgres$ make
> *** Cannot build PL/R because libR is not a shared
> *** You might have to rebuild your R installation.
> Refer to
> *** the documentation for details.
> I thought that "--enable-R-shlib" was supposed to
> handle the shared library error? Any suggestions?
> Thanks in advance for any help you can give.]
Pretty much all builds of R for Mac (including the CRAN binary
version) come with libR.dylib, so that is not really the problem. I'm
not a pgsql user, so the following is only based on a quick look at R/
PL sources. Firstly, you'll need to run something like "R CMD make",
because the R/PL documentation fails to tell you that it requires you
to set the environment variables correctly.
Secondly, AFAICs there is a bug in R/PL, because it is not using the
correct paths in its Makefile. A proper way would be to get the flags
via R CMD config (as most other packages do), but it's using fixed
paths are are incorrect for multi-arch R builds (the CRAN build
creates fat libraries, so it will still work, but other builds may
fail). If the above trick doesn't work, I suspect that you will have
to hack the Makefile manually to fix all this. I would suggest you to
contact the maintainer of R/PL and ask them to use R CMD config for
linking R which will vastly simplify their Makefile.
More information about the R-SIG-Mac