Howto Install a Perl Wrapper Module for a C Library Locally

E

Edward WIJAYA

Hi,
I am attempting to install a CPAN module: Tree::Suffix, in my local home
directory.
Since I don't have SU previlege.

First of all I have installed the required libstree library
(http://www.cl.cam.ac.uk/~cpk25/libstree/)
in my particular home directory, namely $HOME/MyBioTool/libstree-0.4.2.

I have also set the environment like the following in my .bash_profile, so
that the module can call it. The bash_profile looks like this:


__BEGIN__
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# My path to the C library program
export CFLAGS="-I $HOME/MyBioTool/libstree-0.4.2/include"
export LDFLAGS="-L $HOME/MyBioTool/libstree-0.4.2/lib"

PATH=$PATH:$HOME/bin:

export PATH
unset USERNAME
export
PERL5LIB=/home/ewijaya/lib/perl5/site_perl/5.8.5/i686-linux:/home/ewijaya/lib/perl5/site_perl/5.8.5
__END__


However, when I tried installing the Tree::Suffix module using CPAN shell,
I found error message that seems to fail to recognize where does my C
library is stored. It returns something like this in the end:

Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible


It seems to me it doesn't recognize the place where I store this libstree
library.
I then try various way to install it manually:


$perl Makefile.PL CFLAGS="$CFLAGS -I$HOME/MyBioTool/libstree-0.4.2/
include" LDFLAGS="$LDFLAGS -L$HOME/MyBioTool/libstree-0.4.2/lib"

or

$perl Makefile.PL CCFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"

or

perl -w Makefile.PL "INC=-I $HOME/MyBioTool/libstree-0.4.2/include"
"LIB=-L $HOME/MyBioTool/libstree-0.4.2/lib"

But without any success.
Does anybody have any experience with this kind of installation?
Is there anything I am missing here?
 
A

attn.steven.kuo

Edward said:
Hi,
I am attempting to install a CPAN module: Tree::Suffix, in my local home
directory.

(snipped)


However, when I tried installing the Tree::Suffix module using CPAN shell,
I found error message that seems to fail to recognize where does my C
library is stored. It returns something like this in the end:

Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible


It seems to me it doesn't recognize the place where I store this libstree
library.
I then try various way to install it manually:


$perl Makefile.PL CFLAGS="$CFLAGS -I$HOME/MyBioTool/libstree-0.4.2/
include" LDFLAGS="$LDFLAGS -L$HOME/MyBioTool/libstree-0.4.2/lib"

or

$perl Makefile.PL CCFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"

or

perl -w Makefile.PL "INC=-I $HOME/MyBioTool/libstree-0.4.2/include"
"LIB=-L $HOME/MyBioTool/libstree-0.4.2/lib"

But without any success.
Does anybody have any experience with this kind of installation?
Is there anything I am missing here?



Tree::Suffix uses EUMM for module installation; and
the documentation for EUMM:


http://search.cpan.org/~mschwern/ExtUtils-MakeMaker-6.30/lib/ExtUtils/MakeMaker.pm

indicates that you should use CCFLAGS and LDDLFLAGS
(note the spelling) for configuration.

Thus, I'd try:

perl Makefile.PL CCFLAGS=... LDDLFLAGS=...
 
E

Edward wijaya

On Wed, 22 Mar 2006 23:08:26 +0800, (e-mail address removed)

Hi Steven,
Thanks so much for your reply.
Thus, I'd try:

perl Makefile.PL CCFLAGS=... LDDLFLAGS=...

Following your suggestion I tried this:

$ perl Makefile.PL CCFLAGS="$CCFLAGS
-I$HOME/MyBioTool/libstree-0.4.2/include" LDDLFLAGS="$LDDLFLAGS
-L$HOME/MyBioTool/libstree-0.4.2/lib"

It returns:

Note (probably harmless): No library found for -lstree
Writing Makefile for Tree::Suffix

Which I think is problematic (although it says harmless).
Because when I do

$ make test

It returns error:

Suffix.o(.text+0x3bb1):/home/ewijaya/.cpan/build/Tree-Suffix-0.12/Suffix.c:489:
undefined reference to `pthread_getspecific'
Suffix.o(.text+0x3bcf):/home/ewijaya/.cpan/build/Tree-Suffix-0.12/Suffix.c:489:
undefined reference to `Perl_sv_2pv_flags'
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/Tree/Suffix/Suffix.so] Error 1

Similarly I can't do make install.
Any idea what went wrong?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top