Hello Monks, I'm trying to build PDL from CPAN on:
This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-th +read-multi-2level (with 2 registered patches, see perl -V for more detail)
in macOS 10.13.3. The PDL build fails because PerlIO::Layers 0.011 build fails. When I attempt to compile Layers.c stand-alone, to see what the compiler is seeing and doing I get:
$ cc -I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -DXS_ +VERSION="0.011" -DVERSION="0.011" -c -arch x86_64 -arch i386 -g -pipe + -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -Os + -o lib/PerlIO/Layers.o lib/PerlIO/Layers.c lib/PerlIO/Layers.c:249:5: error: expected ')' XS_VERSION_BOOTCHECK; ^ /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/XSUB.h:328:6 +1: note: expanded from macro 'XS_VERSION_BOOTCHECK' Perl_xs_version_bootcheck(aTHX_ items, ax, STR_WITH_LEN(XS_VERSION +)) ^ <command line>:1:20: note: expanded from here #define XS_VERSION 0.011 ^ lib/PerlIO/Layers.c:249:5: note: to match this '(' /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/XSUB.h:328:4 +8: note: expanded from macro 'XS_VERSION_BOOTCHECK' Perl_xs_version_bootcheck(aTHX_ items, ax, STR_WITH_LEN(XS_VERSION +)) ^ /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/handy.h:348: +26: note: expanded from macro 'STR_WITH_LEN' #define STR_WITH_LEN(s) ("" s ""), (sizeof(s)-1) ^ 1 error generated.
The compiler is:
$ file `which cc` /usr/bin/cc: Mach-O 64-bit executable x86_64 $ cc -v Apple LLVM version 9.0.0 (clang-900.0.39.2) Target: x86_64-apple-darwin17.4.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
The Build file seems to be expanding the XS_VERSION_BOOTCHECK macro correctly as -DXS_VERSION="0.011" is being passed as a quoted string. Any ideas, as this is a deal-killer for building PDL from sources? As of now the latest binary build for macOS of PDL will not execute on 10.13.3, probably because it needs to be recompiled with the 10.13 compiler and libraries.

Thanks for your help.


In reply to PerlIO::Layers 0.011 fails to build in macOS 10.13.3 by perlboy_emeritus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.