----- Original Message ----- 
From: "Daniel Carrera" <[email protected]>
To: "Chris Marshall" <[email protected]>
Cc: <[email protected]>
Sent: Monday, July 26, 2010 3:37 AM
Subject: Re: [Perldl] "Stand Alone" PDL distribution?


> This might be a stupid question, why is it so difficult to make a
> static distribution? I was hoping it wouldn't be too hard.

Assuming you're just wanting to build PDL against static 3rd party libraries 
(GSL, Plplot, etc.), I don't think it's all that difficult.
It's just a matter of making sure that the PDL build process links against 
static libraries, not shared ones.

For Win32 (both x86 and x64), with the latest git version of PDL, I have ppm 
packages with GSL, GD, Plplot, FFTW2, Proj4 and TriD (OpenGL) support 
statically built in. Those ppms can be distributed as standalone, though the 
OpenGL perl module needs to be installed separately for the TriD support. 
(Astro::FITS::Header, if required, needs also to be installed separately.) 
These ppm packages (tar.gz) come in at around 8 Mb.

There's some tweaking of Makefile.PL's needed. (eg on windows, you can't 
build PDL::IO::GD against a static gd library unless you specify 
the -DNONDLL flag .... and then you also have to specifically link in 
the -lfreetype -ljpeg -lpng -liconv -lz libraries as they aren't 
automatically linked in with a static build. And, for Plplot, there's a 
couple of system libraries that need to be specifically linked in for static 
builds only.)

For the little bit of extra stuffing around involved, it sure is nice to not 
have to distribute the 3rd party libraries as well. And when it comes to 
diagnosing problems, you don't have to worry about which version of the 3rd 
party library is being found - you know it's the version against which the 
PDL distro was built.

Cheers,
Rob



_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to