[Mono-list] P/Invoke question...
Tom Shelton
tom@mtogden.com
Mon, 25 Oct 2004 21:24:25 -0600
On Mon, 2004-10-25 at 19:46, Jonathan Pryor wrote:
> On Mon, 2004-10-25 at 19:32, Tom Shelton wrote:
> > Ok... I have a bit of simple c++ code that is currently residing in a WIN32
> > dll. This code is called by a custom data provider for a proprietary
> > database (this already works on win32, we're just trying to port the
> > provider over to mono). I have very little experience in actually creating
> > a shared library and getting it working on Linux. I have followed a couple
> > of tutorials on line and so far, no luck. The code compiled just fine with
> > g++, but I can't seem to install it correctly - since Mono never seems to be
> > able to find it. Can someone point me to a good resource/tutorial on how to
> > compile/install a shared object file under red hat? What do I have to do
> > after that so that mono can find it?
>
> You seem to have compiling figured out, but the summary is this:
>
> g++ -shared -o libMYLIB.so -fpic MYFILES.cpp
>
> The problem you seem to be having is with getting apps to find your new
> library (libMYLIB.so).
>
> See the dlopen(3), ld.so(8), and ldconfig(8) man pages for details. The
> summary is that your library needs to be located in one of:
>
> 1. The LD_LIBRARY_PATH environment variable (':'-delimited,
> just like $PATH).
> 2. One of the directories listed in /etc/ld.so.conf. You must
> run ldconfig(8) after modifying this file.
> 3. The /lib directory, and /usr/lib.
>
> Libraries are searched in the above order, and the first directory
> containing libMYLIB.so is used.
>
> This generally means that you *shouldn't* rely on LD_LIBRARY_PATH except
> in development, as *anyone* can add a trojaned library, thus breaking
> your app.
>
> You should also consider versioning your libraries. Ulrich Drepper has
> an excellent guide covering more than you'd ever want to know about
> versioning and shared libraries, available at:
>
> http://people.redhat.com/drepper/dsohowto.pdf
>
> - Jon
>
>
> _______________________________________________
> Mono-list maillist - Mono-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
Thanks Jon... I will check out this information and give it a shot.
Tom Shelton