[redland-dev] Problems for install perl language bindings package!

Dave Beckett dave at dajobe.org
Wed Mar 7 04:08:38 UTC 2007


Leon Essence wrote:
> I want to use perl languge to process ontology,
> 
> My operating system is SUSE Linux 64-bit, and the version of perl is
> v5.8.8 built for x86_64-linux-thread-multi
>  i downlaod redland-1.0.5.tar.gz
> <http://download.librdf.org/source/redland-1.0.5.tar.gz> and
> redland-bindings-1.0.5.1.tar.gz
> <http://download.librdf.org/source/redland-bindings-1.0.5.1.tar.gz>, the
> redland installed correctly and passed all the tests,
> 
> when i execute " make check" in intalling the Redland perl interface,
> all the tests were failed,
> the only reason is that it can not find 
> /usr/lib/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm,
> but the file is on this path is in my system.
> ( the output of "make check" is in attached file)

Your attachment had:
>cc  -shared  CORE_wrap.o -L/usr/local/lib -lrdf  -o
> blib/arch/auto/RDF/Redland/CORE/CORE.so     \
> ... Can't load
'/home/leon/perl_api_for_ontology/redland-bindings-1.0.5.1/perl/blib/arch/auto/RDF/Redland/CORE/CORE.so'
> for module RDF::Redland::CORE: librdf.so.0: cannot open shared object
file: No such file or directory at
/usr/lib/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.

So it cannot find librdf.so - the shared library - so it must not be
in the standard library search paths.

The compile line above hints you installed redland into /usr/local
(the default configure, or configure --prefix=/usr/local)
then the librdf.so would have gone into /usr/local/lib.

On most systems the default shared library search path is usually
/usr/lib and /lib so you cannot dynamically link against
libraries in /usr/local/lib by default.

To fix see man ld, man ld.so, either edit /etc/ld.so.conf or
install redland under /usr/lib OR
export LD_LIBARY_PATH=/usr/local/lib
depending on your system.

Dave



More information about the redland-dev mailing list