Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mkmf isn't finding my shared object to link with

14 views
Skip to first unread message

Tristin Davis

unread,
Jul 6, 2008, 12:55:50 PM7/6/08
to
[Note: parts of this message were removed to make it a legal post.]

I have an extension I wrote which is actually just a wrapper for a C api.
The directory structure looks like this.

Stefano Crocco

unread,
Jul 6, 2008, 1:12:00 PM7/6/08
to
On Sunday 06 July 2008, Tristin Davis wrote:
> I have an extension I wrote which is actually just a wrapper for a C api.
> The directory structure looks like this.
> .
>
> |-- Makefile
> |-- extconf.rb
> |-- extconf.rb~
> |-- libmdc.so
> |-- mdc.h
> |-- metadata-backup.c~
> |-- metadata.c
> |-- metadata.c~
> |-- metadata.o
> |-- metadata.so
>
> `-- mkmf.log
>
> When I generate the makefile, it doesn't find libmdc.so. How can I fix
> this?
>
> require 'mkmf'
>
> have_header("mdc.h")
> have_library('libmdc.so','MDOpenConnection')
>
> dir_config('metadata')
> create_makefile('metadata')
>
> When I run it, I get
>
> checking for mdc.h... yes
> checking for MDOpenConnection() in -llibmdc.so... no
> creating Makefile

I'm not sure, but I think you shouldn't put the lib prefix in the call to
have_library:

have_library('mdc', 'MDOpenConnection')

I hope this helps

Stefano

Tristin Davis

unread,
Jul 6, 2008, 1:26:52 PM7/6/08
to
[Note: parts of this message were removed to make it a legal post.]

Thanks Stefano, that worked. Now I get this though.

LoadError: libmdc.so: cannot open shared object file: No such file or
directory - ./metadata.so
from ./metadata.so
from (irb):1

I tried setting LD_LIBRARY_PATH to include the directory, but that didn't
work.

On Sun, Jul 6, 2008 at 12:12 PM, Stefano Crocco <stefano...@alice.it>
wrote:

0 new messages