From hin-tak.leung at cimr.cam.ac.uk  Tue Aug  7 22:31:41 2007
From: hin-tak.leung at cimr.cam.ac.uk (Hin-Tak Leung)
Date: Tue, 07 Aug 2007 21:31:41 +0100
Subject: [Rd] Sligthly OT Re: Makefile for embedding OpenBUGS in R
	package
In-Reply-To: <Pine.LNX.4.64.0708070340290.31210@gannet.stats.ox.ac.uk>
References: <W906017980119021186410641@nocme1bl6.telenet-ops.be>
	<Pine.LNX.4.64.0708062029410.27542@gannet.stats.ox.ac.uk>
	<46B7B87C.1070808@cimr.cam.ac.uk>
	<Pine.LNX.4.64.0708070340290.31210@gannet.stats.ox.ac.uk>
Message-ID: <46B8D6AD.9040707@cimr.cam.ac.uk>

Prof Brian Ripley wrote:
> OpenBUGS is distributed under GPL2, so this seems not to apply.
> It is distributed as source and as binaries: the difficulty is that it 
> is written in Object Pascal for which a compiler is not readily available.

Argh, I just thought of a proper technical reason, and I think I have 
spotted a possible bug in the original poster's code! Some choose to do
dlopen() when the DLL/so is in a non-standard/non-system location, as an
alternative to setting LD_LIBRARY_PATH explicitly or other link-loader
magics.

The line:
    handle = dlopen("./brugs.so", RTLD_LAZY);

Seems to suggest this, However, the problem with this code, is that
the current directory  (./) may not be where the user thinks it is.
I think the user meant to prepend $R_HOME/library/<package>/inst/ 
somehow to "brugs.so", and dlopen'ing 
"$R_HOME/library/<package>/inst/brugs.so" instead.

Hin-Tak

<snipped>



[Rd] Sligthly OT Re: Makefile for embedding OpenBUGS in R package
Hin-Tak Leung