Thank you all for the update on PDL and your suggestions. Ultimately, I was able to compile PDL 2.4.3 with Slatec support for ActiveState Perl 5.8 Build 817 with a few tweaks. I've attached a few build notes/traces that maybe you'll find useful. All that is left is my embarrassment for not having checked the Sourceforge page since the beginning of August (hence my query about it being abandonware).

Unfortunately, I will now have to go and build PDL for Perl 5.6 on Linux because the GenePattern folks won't be updating their Perl revision until November. Any advice on which Release is likely to work best?

Thanks,
Jake

Sisyphus wrote:
On 31/08/2006, at 1:46 AM, Jake Jaffe wrote:


.
.

The current Perl in GenePattern is 5.6,


PDL-2.4.3 and 2.4.2 do not work with perl 5.6. Unless you can update to perl
5.8, the best you can do (wrt PDL) is use what you already have.


and your PPM for that rev
works fine.


Once you've updated to ActiveState perl 5.8 the following should install
ActiveStat'e's ppm package:

ppm install PDL

Otherwise you could install the package from the Uwinnipeg repository:

ppm install http://theoryx5.uwinnipeg.ca/ppms/PDL.ppd

But neither of those packages have PDL::Slatec functionality - which you
probably need. I'll be building a package that *does* provide that
functionality (and more) - hopefully in the next few days.


However, it will be updated to 5.8 in a short time and
thus I will need to have a working version of PDL (specifically
PDL::Fit::Polynomial) for that.  I'm interested in porting more
recent version to ActiveState, but not sure if it's worth it,


Definitely worth it. Grab the latest version of ActiveState perl - it works
seamlessly with 'dmake'  (available from
http://search.cpan.org/dist/dmake/ ) and MinGW.


as
the main PDL website pdl.perl.org seems to be abandoned and there
hasn't been a new PDL rev in quite some time.  Anyway, if you can
offer any advice I'd be appreciative.  If I compile with MinGW can
I get it to work with ActiveState, or will it only work with MinGW
compiled Perl?


Building ExtUtils::F77 and PDL with MinGW will be fine for ActiveState perl
(5.8). MinGW's fortran compiler (g77.exe) will be found and used if the
MinGW\bin is in your path.
See the Win32\INSTALL file in the PDL-2.4.3 source (or view that page at
http://search.cpan.org/src/CSOE/PDL-2.4.3/win32/INSTALL ) for more complete
details.



It seems like it might be hard to get ExtUtils::F77
to compile for ActiveState, too.


Not so - with ActiveState build 817 (or later), dmake and MinGW, you should
find that both EU::F77 and PDL build "straight out of the box" with 'perl
Makefile.PL', 'dmake', and 'dmake test'.

Basically:
1) Install dmake and add the location of 'dmake.exe' to your path
2) Install MinGW and add 'MinGW\bin' to your path.
3) Install AS build 817 (or later build, if such exists).
4) Build and install ExtUtils::F77-1.15. (Don't try an earlier version.)
5) Build and install PDL-2.4.3 from CPAN source
http://search.cpan.org/~csoe/PDL-2.4.3/

Cheers,
Rob


--
Jacob D. Jaffe, Ph.D.
Proteomics Group
The Broad Institute
7 Cambridge Center - Room 5025
Cambridge, MA 02142
(617)324-9742
* needed to generate Perl export library as in 
http://devpit.org/wiki/Perl/MinGW.

* had to move ppport.h into an active include directory

* got this error (see below), fixed by manually running the gcc command with 
the C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\libgcc.a taken out
as per recommendation at 
http://64.233.161.104/search?q=cache:42VoeyZsdOEJ:www.scipy.net/pipermail/scipy-user/2005-March/004246.html+mingw+undefined+reference+to+%60__EH_FRAME_BEGIN__%27&hl=en&gl=us&ct=clnk&cd=3
(sorry for the Google Cache, the active page seems to be gone)

Running Mkbootstrap for PDL::Slatec ()
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Slatec.bs
C:\Perl\bin\perl.exe -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"PDL::Slatec\", 'DLBASE' => 'Slatec', 'DL_FUNCS' 
=> {  }, 'FUNCLIST' => [], 'IMPORTS' => {
 }, 'DL_VARS' => []);"
dlltool --def Slatec.def --output-exp dll.exp
gcc -o ..\..\blib\arch\auto\PDL\Slatec\Slatec.dll -Wl,--base-file -Wl,dll.base 
-mdll -L"C:\Perl\lib\CORE" Slatec.o slate
c/chfcm.o  slatec/chfdv.o  slatec/chfev.o  slatec/chfie.o  slatec/d1mach.o  
slatec/dasum.o  slatec/daxpy.o  slatec/dchfc
m.o  slatec/dchfdv.o  slatec/dchfev.o  slatec/dchfie.o  slatec/ddot.o  
slatec/dgeco.o  slatec/dgedi.o  slatec/dgefa.o  s
latec/dgesl.o  slatec/dp1vlu.o  slatec/dpchbs.o  slatec/dpchce.o  
slatec/dpchci.o  slatec/dpchcm.o  slatec/dpchcs.o  sla
tec/dpchdf.o  slatec/dpchfd.o  slatec/dpchfe.o  slatec/dpchia.o  
slatec/dpchic.o  slatec/dpchid.o  slatec/dpchim.o  slat
ec/dpchkt.o  slatec/dpchsp.o  slatec/dpchst.o  slatec/dpchsw.o  slatec/dpcoef.o 
 slatec/dpoco.o  slatec/dpodi.o  slatec/
dpofa.o  slatec/dpolft.o  slatec/dscal.o  slatec/dswap.o  slatec/ezfft1.o  
slatec/ezfftb.o  slatec/ezfftf.o  slatec/ezff
ti.o  slatec/fdump.o  slatec/i1mach.o  slatec/idamax.o  slatec/isamax.o  
slatec/j4save.o  slatec/pchbs.o  slatec/pchce.o
  slatec/pchci.o  slatec/pchcm.o  slatec/pchcs.o  slatec/pchdf.o  
slatec/pchfd.o  slatec/pchfe.o  slatec/pchia.o  slatec
/pchic.o  slatec/pchid.o  slatec/pchim.o  slatec/pchkt.o  slatec/pchsp.o  
slatec/pchst.o  slatec/pchsw.o  slatec/pcoef.o
  slatec/polfit.o  slatec/pvalue.o  slatec/pythag.o  slatec/r1mach.o  
slatec/radb2.o  slatec/radb3.o  slatec/radb4.o  sl
atec/radb5.o  slatec/radbg.o  slatec/radf2.o  slatec/radf3.o  slatec/radf4.o  
slatec/radf5.o  slatec/radfg.o  slatec/rff
tb.o  slatec/rfftb1.o  slatec/rfftf.o  slatec/rfftf1.o  slatec/rs.o  
slatec/sasum.o  slatec/saxpy.o  slatec/sdot.o  slat
ec/sgeco.o  slatec/sgedi.o  slatec/sgefa.o  slatec/sgesl.o  slatec/snrm2.o  
slatec/spoco.o  slatec/spodi.o  slatec/spofa
.o  slatec/srot.o  slatec/srotg.o  slatec/sscal.o  slatec/ssvdc.o  
slatec/sswap.o  slatec/tql2.o  slatec/tqlrat.o  slate
c/tred1.o  slatec/tred2.o  slatec/xerbla.o  slatec/xercnt.o  slatec/xerhlt.o  
slatec/xermsg.o  slatec/xerprn.o  slatec/x
ersve.o  slatec/xgetua.o -Wl,--image-base,0x360f0000  
C:\Perl\lib\CORE\libperl56.a \mingw\lib\libg2c.a \mingw\lib\libm.a
 C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\libgcc.a \mingw\lib\libmoldname.a 
\mingw\lib\libkernel32.a \mingw\lib\libuser32.a
 \mingw\lib\libgdi32.a \mingw\lib\libwinspool.a \mingw\lib\libcomdlg32.a 
\mingw\lib\libadvapi32.a \mingw\lib\libshell32.
a \mingw\lib\libole32.a \mingw\lib\liboleaut32.a \mingw\lib\libnetapi32.a 
\mingw\lib\libuuid.a \mingw\lib\libwsock32.a \
mingw\lib\libmpr.a \mingw\lib\libwinmm.a \mingw\lib\libversion.a 
\mingw\lib\libodbc32.a dll.exp
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\libgcc.a(__main.o)(.text+0x4f): undefined 
reference to `__EH_FRAME_BEGIN__'
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\libgcc.a(__main.o)(.text+0x73): undefined 
reference to `__EH_FRAME_BEGIN__'
collect2: ld returned 1 exit status
dmake.exe:  Error code 1, while making 
'..\..\blib\arch\auto\PDL\Slatec\Slatec.dll'
dmake.exe:  Error code 255, while making 'subdirs'
dmake.exe:  Error code 255, while making 'subdirs'


*Some tests failed - most due to not having the library prereq and therfore 
module not built

C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 
'blib\lib', 'blib\arch')" t/*.t
t/aaa_load..................ok
t/argtest...................ok
t/autoload..................ok
t/bad.......................ok
t/basic.....................ok
t/bess......................ok
t/bool......................ok
t/callext...................ok
t/clump.....................ok
t/complex...................ok
t/conv......................ok
t/core......................ok
t/croak.....................ok
t/diskcache.................ok
t/dumper....................ok
t/erf.......................ok
t/erfi......................ok
t/familyfree................ok
t/fastraw...................ok
t/fft.......................# Failed test 1 in t/fft.t at line 27
#  t/fft.t line 27 is: ok (tapprox($c,0));
t/fft.......................ok 2/10# Failed test 7 in t/fft.t at line 56
#  t/fft.t line 56 is: ok ( tapprox($i,$b) );
t/fft.......................NOK 7# Failed test 9 in t/fft.t at line 73
#  t/fft.t line 73 is: ok ( tapprox($i,$b) );
t/fft.......................FAILED tests 1, 7, 9
        Failed 3/10 tests, 70.00% okay
t/fftw......................skipped
        all skipped: PDL::FFTW not available
t/fits......................ok
t/flexraw...................
ExtUtils::F77: Version 1.15
t/flexraw...................ok 21/29'gzip' is not recognized as an internal or 
external command,
operable program or batch file.
'gzip' is not recognized as an internal or external command,
operable program or batch file.
PDL: Couldn't read enough data from 
'C:\\DOCUME~1\\JJaffe\\LOCALS~1\\Temp\\tmprawdata'
Caught at file t/flexraw.t, line 555, pkg main
# Looks like you planned 29 tests but only ran 22.
# Looks like your test died just after 22.
t/flexraw...................dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 23-29
        Failed 7/29 tests, 75.86% okay
t/flow......................ok
t/foo.......................ok
t/func......................ok
t/gauss.....................ok
t/gd_oo_tests...............skipped
        all skipped: Skipped: PDL::IO::GD requires the gd image library.
t/gd_tests..................skipped
        all skipped: Skipped: PDL::IO::GD requires the gd image library: No 
such file or directory
t/gis_proj..................skipped
        all skipped: PDL::GIS::Proj requires the Proj module.
t/gsl_diff..................ok
t/gsl_integ.................ok
t/gsl_interp................ok
t/gsl_rng...................ok
t/gsl_sf....................ok
t/hdf_sd....................skipped
        all skipped: PDL::IO::HDF requires the HDF module.
t/hdf_vdata.................skipped
        all skipped: PDL::IO::HDF requires the HDF module.
t/hdf_vgroup................skipped
        all skipped: PDL::IO::HDF requires the HDF module.
t/hdrs......................ok
t/hist......................ok
t/howbig....................ok
t/ica.......................ok
t/image2d...................ok
        5/16 skipped: PDL::Bad support not available.
t/imagend...................ok
t/imagergb..................ok
t/inlinepdlpp...............ok
t/interp....................ok
t/interp_slatec.............ok
t/interpol..................ok
t/iotypes...................ok
t/limits_00.................ok
t/limits_errb...............ok
t/limits_keyspecs...........ok
t/limits_normalize_dsets....ok
t/limits_range..............ok
t/limits_round..............ok
t/limits_trans..............ok
t/limits_trans_err..........ok
t/limits_ulimits............ok
t/linfit....................ok
t/lut.......................ok
t/lvalue....................ok
t/magic.....................ok
t/matmult...................ok
t/matrix....................ok
t/matrixops.................ok
t/misc......................ok
t/ndf.......................skipped
        all skipped: PDL::IO::NDF requires the NDF module.
t/niceslice.................ok
t/nsdatahandle..............ok
t/ones......................ok
t/opengl....................ok
t/ops.......................ok
t/pdlchar...................ok
t/pgplot....................skipped
        all skipped: Skipped: PDL::Graphics::PGPLOT not installed
t/physical..................ok
t/picnorgb..................ok
t/picrgb....................ok
t/plplot....................skipped
        all skipped: PDL::Graphics::PLplot not installed
t/pnm.......................ok
t/poly......................ok
t/polyroots.................ok
t/pptest....................ok
t/primitive.................ok
t/primitive2................ok
t/proj_transform............skipped
        all skipped: PDL::Transform::Proj4 requires the Proj4 & TridD module 
and Bad Values enabled.
t/pthread...................ok
t/reduce....................ok
t/refs......................ok
t/requiredmods..............ok
t/scope.....................ok
t/segfault..................ok
t/slatec....................FAILED test 35
        Failed 1/37 tests, 97.30% okay
t/slice.....................ok
t/storable..................ok
t/subclass..................ok
t/subclass2.................ok
t/subclass3.................ok
t/subclass4.................ok
t/thread....................ok
t/thread_def................ok
t/trig......................ok
t/vaffine...................ok
t/xvals.....................ok
Failed Test Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/fft.t                   10    3  30.00%  1 7 9
t/flexraw.t  255 65280    29   14  48.28%  23-29
t/slatec.t                37    1   2.70%  35
11 tests and 5 subtests skipped.
Failed 3/104 test scripts, 97.12% okay. 11/907 subtests failed, 98.79% okay.
dmake.exe:  Error code 255, while making 'test_dynamic'
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to