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.
gcc -o foo -lm /usr/lib/R/lib/libR.so
gcc -o foo -lm -L /usr/lib/R/lib/ -lR