The build is just the same as for Linux. The only difference is that when
installing from CPAN it does not build for me because the CPAN build tree
seems to go into ~/Library/Application Support/.cpan and PDL won't build
with a space in the name. Once I move to a different directory things are
fine. The patch at the end of this mail fixes some of the things but there
is a remaining issue that the Makefile generated by the XS handling part
doesn't escape spaces in the typemap path (and you can't pre-escape them
because the Makefile builder checks that the typemap exists on disk first).
We'd get a lot further if ExtUtils::MakeMaker fixed that (maybe
Module::Build won't have the problem anyhow).

My main issue is that slatec doesn't work for me because the slatec code
gets compiled using gfortran in 32-bit mode but my perl and C compiler are
in 64-bit mode so it doesn't link. I could hack the Makefile.PL to force
-m64 but I'm not sure how to convince ExtUtils::F77 to do that itself
automatically (ExtUtils::F77 could realise that it's running in a 64-bit
perl with a GNU compiler so add the -m64 to CFLAGS itself). This doesn't
affect the testing much because all the slatec-based tests are skipped if
Slatec won't load and don't distinguish between "failure to find it" and
"failure to load it".

I'm using Snow Leopard with 64-bit perl 5.10.1.

Tim

On Sun, Aug 15, 2010 at 7:56 AM, Daniel Carrera <[email protected]> wrote:

> Yes. We *really* need OS X testers. We don't even have proper OS X
> instructions. Currently all we have for OS X users is a suggestion to
> use the SciKarl package or to try "cpan PDL" and cross your fingers.
> It would be great if someone wrote something more detailed, like the
> instructions I've written for Ubuntu and Fedora.
>
> http://pdl.perl.org/2.4.7RC/?page=install
>
>

--- ../PDL-2.4.6_992-UsfSte/Basic/Core/Dev.pm   2010-05-08
16:43:08.000000000 -1000
+++ Basic/Core/Dev.pm   2010-08-15 15:19:56.000000000 -1000
@@ -43,7 +43,7 @@
 # Return library locations


-sub PDL_INCLUDE { '-I'.whereami_any().'/Core' };
+sub PDL_INCLUDE { '-I"'.whereami_any().'/Core"' };
 sub PDL_TYPEMAP { whereami_any().'/Core/typemap.pdl' };
 # sub PDL_INST_INCLUDE { '-I'.whereami_any().'/Core' };
 # sub PDL_INST_TYPEMAP { whereami_any().'/Core/typemap.pdl' };
@@ -396,6 +396,10 @@
        my $core = "$w/Basic/Core";
        my $gen = "$w/Basic/Gen";

+        # Escape any spaces in the file name
+        $gen =~ s/ /\\ /g;
+        $core =~ s/ /\\ /g;
+
 ## I diked out a "$gen/pm_to_blib" dependency (between $core/badsupport.p
and
 # $core/Types.pm below), because it appears to be causing excessive
recompiles.
 # I don't think that the .pm files themselves should depend on
Gen/pm_to_blib,
@@ -406,7 +410,7 @@
 qq|

 $pref.pm: $src $core/badsupport.p $core/Types.pm
-       \$(PERL) -I$w/blib/lib -I$w/blib/arch \"-MPDL::PP qw/$mod $mod
$pref/\" $src
+       \$(PERL) -I\"$w/blib/lib\" -I\"$w/blib/arch\" \"-MPDL::PP qw/$mod
$mod $pref/\" $src

 $pref.xs: $pref.pm
        \$(TOUCH) \$@
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to