[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RFS: rkward - rpath-problem



On Wed, Nov 09, 2005 at 09:21:10PM +0100, Thomas Friedrichsmeier wrote:
> > > 8. There is a rpath (as lintian told me). See the lintian warning:
> > > W: rkward:
> > > binary-or-shlib-defines-rpath ./usr/bin/rkward
> > > /usr/lib:/usr/share/qt3/lib:/usr/X11R6/lib:/usr/lib/R/lib/
> > >
> > > I think you can directly fix it (upstream) ;)
> >
> > Yeah, but I'll have to figure out how to do this, first. I hate those
> > bloody makefiles...
> 
> Doing this was easier than expected. I just added --disable-rpath 
> to ./configure and that did that. However then, it's not quite as easy after 
> all: Now when trying to run I get:
> 
> rkward: error while loading shared libraries: libR.so: cannot open shared 
> object file: No such file or directory
> 
> The problem is, I have to link against R, and libR.so is in a non-default 
> location (/usr/lib/R/lib/libR.so), which obviously isn't in the library path. 
> I don't think I can fix this inside the rkward-package, but rather the 
> R-package would need adjusting (maybe a link in /usr/lib). What should I do, 
> submit a bug-report for the R-package?
If the R libraries are intended to be useful to other packages, then
they should be in /usr/lib/, and not /usr/lib/R/.

But, if they're not, then AFAIK you have 2 solutions.  You can either
use rpath (generally discouraged, for reasons I may not understand,
but I agree for other reasons anway), or link with libR by filename
rather than by linker switch.

As in:

  gcc -o foo -lm /usr/lib/R/lib/libR.so

instead of

  gcc -o foo -lm -L /usr/lib/R/lib/ -lR

-- 
Clear skies,
Justin



Reply to: