From: Edward WIJAYA on
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?

--
Edward WIJAYA
SINGAPORE
From: attn.steven.kuo@gmail.com on
Edward WIJAYA wrote:
> 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=...

--
Hope this helps,
Steven

From: Edward wijaya on
On Wed, 22 Mar 2006 23:08:26 +0800, attn.steven.kuo(a)gmail.com
<attn.steven.kuo(a)gmail.com> wrote:

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?

--
Regards,
Edward WIJAYA