--------------------------------------------------------------
What happens when you run the following script:
#######################
use warnings;
use Inline C => Config =>
BUILD_NOISY => 1;
use Inline C => <<'EOC';
SV * foo() {
return &PL_sv_yes;
}
EOC
print foo();
#######################
------------------------------------------------------------------
It exits with the following error message:
Can't locate Inline.pm in @INC (@INC
contains:/usr/local/lib/perl5/5.8.6/i686-linux /usr/local/lib/perl5/5.8.6
/usr/local/lib/perl5/site_perl/5.8.6/i686-linux
/usr/local/lib/perl5/site_perl/5.8.6 /usr/local/lib/perl5/site_perl .) at
a.pl line 7.
BEGIN failed--compilation aborted at a.pl line 7.
The file libperl.a does exist on my machine. perl -V:libperl produces
"libperl='libperl.a'". So I am assuming that libperl is installed.
perl -V produces the following output:
Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
Platform:
osname=linux, osvers=2.4.21-27.elsmp, archname=i686-linux
uname='linux login01 2.4.21-27.elsmp #1 smp wed dec 1 21:59:02 est 2004
i686 i686 i386 gnulinux '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -I/usr/include/gdbm'
ccversion='', gccversion='3.2.3 20030502 (Red Hat Linux 3.2.3-47)',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =''
libpth=/lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fpic', lddlflags='-shared'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under linux
Compiled at May 19 2005 20:12:23
%ENV:
@INC:
/usr/local/lib/perl5/5.8.6/i686-linux
/usr/local/lib/perl5/5.8.6
/usr/local/lib/perl5/site_perl/5.8.6/i686-linux
/usr/local/lib/perl5/site_perl/5.8.6
/usr/local/lib/perl5/site_perl
.
--------------------------------------------------------
Thanks for all your help.
Ganesh
-----Original Message-----
From: Sisyphus [mailto:[email protected]]
Sent: Thursday, August 27, 2009 9:20 PM
To: Ganesh Krishnan; [email protected]
Subject: Re: [Perldl] Problems with compiling/installing PDL
----- Original Message -----
From: "Ganesh Krishnan" <[email protected]>
>
> Can't load '......./PDL/Core/Core.so' for module PDL::Core:
> ......./perl_modules/PDL/i686-linux/auto/PDL/Core/Core.so: undefined
> symbol:
> PL_sv_yes at
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/DynaLoader.pm
> line 230.
>
> at ......../perl_modules/PDL/i686-linux/PDL/Fit/LM.pm line 26
>
Looks like a broken perl to me.
What happens when you run the following script:
#######################
use warnings;
use Inline C => Config =>
BUILD_NOISY => 1;
use Inline C => <<'EOC';
SV * foo() {
return &PL_sv_yes;
}
EOC
print foo();
#######################
For me, it builds fine and then prints 1.
Btw, whether or not libperl.so should exist depends upon how perl was built.
(It doesn't exist for most of my linux builds.)
I think the way to tell is to run 'perl -V:libperl'. If that reports
'libperl.so', then that file should exist (in something like
/usr/local/lib/perl5/5.8.6/i686-linux-thread-multi/CORE/libperl.so). But if
it reports 'libperl.a', then I don't think libperl.so should exist. (But I'm
not an expert on linux.)
Probably best to send us the output of 'perl -V', which should tell us all
we need to know about how your prl was built.
Cheers,
Rob
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl