Hello Xavier Thank you so much for sending me that link. Everything seems a lot more clearer now and I think I understand how all the bits and pieces work now. I'll also be looking forward to your fortran cookbook as that is primarily what I'm trying to do.
I have run through your instructions step by step and when I get to the part when I type the command Make (after perl Makefile.PL) I get an error message and I'm forced to stop here. The error message is as follows /usr/bin/perl -I/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi "-MPDL::PP qw/PDL::Suma PDL::Suma Suma/" Suma.pd touch Suma.xs /usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.5/ExtUtils/typemap -typemap /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/PDL/Core/typema p.pdl Suma.xs > Suma.xsc && mv Suma.xsc Suma.c gcc -c -I/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/PDL/Core -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=\"0.1\" -DXS_VERSION=\"0.1\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" Suma.c gcc -c -o suma.o -g suma.c suma.c:11:3: warning: no newline at end of file Running Mkbootstrap for PDL::Suma () chmod 644 Suma.bs rm -f blib/arch/auto/PDL/Suma/Suma.so gcc -shared Suma.o suma.o -o blib/arch/auto/PDL/Suma/Suma.so -lm /usr/bin/ld: suma.o: relocation R_X86_64_PC32 against `cos@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status make: *** [blib/arch/auto/PDL/Suma/Suma.so] Error 1 I'm not exactly sure what the error is. Do you have any idea? Your help is much appreciated, Regards Guy -----Original Message----- From: Xavier Calbet [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 21, 2007 5:03 AM To: Vanuxem Grégory Cc: Karl Glazebrook; Phuong, Guy; [EMAIL PROTECTED]; [email protected] Subject: Re: [Perldl] How to access my fortran library routines in PDL Hello Guy, I have just made a document describing how to compile a C function into PDL. Tomorrow, hopefully, I will do the same for a FORTRAN function. Have a look in http://wiki.jach.hawaii.edu/pdl_wiki-bin/wiki/PDL_Cookbook Cheers, Xavier On 2/21/07, Vanuxem Grégory <[EMAIL PROTECTED]> wrote: > Le mardi 20 février 2007 à 19:41 -0300, Karl Glazebrook a écrit : > > On CallExt from perl have a look at callext.t in the PDL distribution. > > > > > > It is important to clarify whether you are having problems building a > > routine to use with CallExt or simply running it, > > > > The other way to call C etc is using Inline::PP > > Yes and here is a quickly hacked example (I call fortran here): > > ==================================================================== > use PDL; > > use Inline Pdlpp => Config => > INC => "-I$ENV{HOME}/include", > LIBS => "-lm -lblas -lg2c", > #code to be included in the generated XS > AUTO_INCLUDE => <<'EOINC', > > extern double dasum_(int *n, double *x, int *incx); > > EOINC > ; > > use Inline Pdlpp; > > $a = random(5); > print $a->sumover,"\n"; > print $a->mydasum(),"\n"; > > __DATA__ > > __Pdlpp__ > > pp_def('mydasum', > Pars => 'x(n); [o] res()', > GenericTypes => [D], > Code => > ' > int inc = 1; > $res() = dasum_(&($SIZE(n)),$P(x),&inc); > '); > > > =========================================================================== > > Apparently, on my distro (Debian), the html documentation of this > functionnality was not installed so I had to use 'man' (man > PDL::PP-Inline). > > Greg > > > > > > ___________________________________________________________________________ > Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire. > http://fr.mail.yahoo.com > > _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
