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