I tried compiling WWW::Curl::Easy by hand, but came across the same errors:
[ns3:~/src/WWW-Curl-4.17] administrator% perl Makefile.PL The version is libcurl 7.58.0 Found curl.h in /usr/local/Cellar/curl/7.58.0/include/curl/curl.h In file included from /usr/local/Cellar/curl/7.58.0/include/curl/curl. +h:38: In file included from /usr/local/Cellar/curl/7.58.0/include/curl/syste +m.h:405: In file included from /usr/include/sys/socket.h:81: In file included from /usr/include/Availability.h:190: /usr/include/AvailabilityInternal.h:22938:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_12 ^ /usr/include/AvailabilityInternal.h:22867:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_11_4 ^ /usr/include/AvailabilityInternal.h:22800:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_11_3 ^ /usr/include/AvailabilityInternal.h:22737:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_11_2 ^ /usr/include/AvailabilityInternal.h:22678:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_11 ^ /usr/include/AvailabilityInternal.h:22623:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10_3 ^ /usr/include/AvailabilityInternal.h:22572:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10_2 ^ /usr/include/AvailabilityInternal.h:22525:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_10 ^ /usr/include/AvailabilityInternal.h:22482:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9 ^ /usr/include/AvailabilityInternal.h:22443:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_8 ^ /usr/include/AvailabilityInternal.h:22408:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_7 ^ /usr/include/AvailabilityInternal.h:22377:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_6 ^ /usr/include/AvailabilityInternal.h:22350:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_5 ^ /usr/include/AvailabilityInternal.h:22327:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_4 ^ /usr/include/AvailabilityInternal.h:22308:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_3 ^ /usr/include/AvailabilityInternal.h:22293:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_2 ^ /usr/include/AvailabilityInternal.h:22282:10: error: unterminated cond +itional directive #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_1 ^ /usr/include/AvailabilityInternal.h:30:2: error: unterminated conditio +nal directive #ifndef __AVAILABILITY_INTERNAL__ ^ In file included from /usr/local/Cellar/curl/7.58.0/include/curl/curl. +h:38: In file included from /usr/local/Cellar/curl/7.58.0/include/curl/syste +m.h:405: In file included from /usr/include/sys/socket.h:81: /usr/include/Availability.h:239:2: error: #else without #if #else ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. Building curlopt-constants.c for your libcurl version Building Easy.pm constants for your libcurl version Building Share.pm constants for your libcurl version Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for WWW::Curl Writing MYMETA.yml and MYMETA.json [ns3:~/src/WWW-Curl-4.17] administrator%
From what I can tell, this is an issue with the compiler... the reported missing "unterminated conditional directive" is actually there, but indented (seriously?!?! that's a problem?!)
I went ahead and tried a make, but failed there too:
[ns3:~/src/WWW-Curl-4.17] administrator% make cp lib/WWW/Curl/Share.pm blib/lib/WWW/Curl/Share.pm cp lib/WWW/Curl.pm blib/lib/WWW/Curl.pm cp lib/WWW/Curl/Multi.pm blib/lib/WWW/Curl/Multi.pm cp lib/WWW/Curl/Easy.pm blib/lib/WWW/Curl/Easy.pm cp lib/WWW/Curl/Form.pm blib/lib/WWW/Curl/Form.pm Running Mkbootstrap for WWW::Curl () chmod 644 "Curl.bs" "/Users/administrator/perl5/perlbrew/perls/perl-5.24.0/bin/perl" "-Iin +c" "/Users/administrator/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/ +ExtUtils/xsubpp" -typemap "/Users/administrator/perl5/perlbrew/perls +/perl-5.24.0/lib/5.24.0/ExtUtils/typemap" -typemap "typemap" Curl.xs + > Curl.xsc && mv Curl.xsc Curl.c cc -c -I/usr/local/Cellar/curl/7.58.0/include -fno-common -DPERL_DARW +IN -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/i +nclude -DPERL_USE_SAFE_PUTENV -O3 -DVERSION=\"4.17\" -DXS_VERSION=\ +"4.17\" "-I/Users/administrator/perl5/perlbrew/perls/perl-5.24.0/lib +/5.24.0/darwin-2level/CORE" Curl.c In file included from Curl.xs:574: ./curlopt-constants.c:19:58: error: non-void function 'constant' shoul +d return a value [-Wreturn-type] if (strEQ(name, "DID_MEMORY_FUNC_TYPEDEFS")) return CURL_D +ID_MEMORY_FUNC_TYPEDEFS; ^ ./curlopt-constants.c:136:49: error: use of undeclared identifier 'CUR +L_STRICTER' if (strEQ(name, "STRICTER")) return CURL_STRICTER; ^ ./curlopt-constants.c:179:56: warning: implicit conversion from 'size_ +t' (aka 'unsigned long') to 'int' changes value from 1844674407370955 +1615 to -1 [-Wconstant-conversion] if (strEQ(name, "ZERO_TERMINATED")) return CURL_ZERO_TERMI +NATED; ~~~~~~ ^~~~~~~~~~~~~~~ +~~~~~ /usr/local/Cellar/curl/7.58.0/include/curl/curl.h:1969:31: note: expan +ded from macro 'CURL_ZERO_TERMINATED' #define CURL_ZERO_TERMINATED ((size_t) -1) ^~~~~~~~~~~ In file included from Curl.xs:574: ./curlopt-constants.c:2145:44: warning: implicit conversion from 'unsi +gned long' to 'int' changes value from 18446744073709551599 to -17 [- +Wconstant-conversion] if (strEQ(name, "ANY")) return CURLAUTH_ANY; ~~~~~~ ^~~~~~~~~~~~ /usr/local/Cellar/curl/7.58.0/include/curl/curl.h:708:32: note: expand +ed from macro 'CURLAUTH_ANY' #define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) ^~~~~~~~~~~~~~~~~~~ In file included from Curl.xs:574: ./curlopt-constants.c:2146:48: warning: implicit conversion from 'unsi +gned long' to 'int' changes value from 18446744073709551598 to -18 [- +Wconstant-conversion] if (strEQ(name, "ANYSAFE")) return CURLAUTH_ANYSAFE; ~~~~~~ ^~~~~~~~~~~~~~~~ /usr/local/Cellar/curl/7.58.0/include/curl/curl.h:709:32: note: expand +ed from macro 'CURLAUTH_ANYSAFE' #define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Curl.xs:1100:26: warning: implicit conversion from enumeration type 'C +URLINFO' to different enumeration type 'CURLoption' [-Wenum-conversio +n] curl_easy_setopt(easy, CURLINFO_PRIVATE, NULL); ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /usr/local/Cellar/curl/7.58.0/include/curl/curl.h:2744:68: note: expan +ded from macro 'curl_easy_setopt' #define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt +,param) ~~~~~~~~~~~~~~~~ ^~~ 4 warnings and 2 errors generated. make: *** [Curl.o] Error 1 [ns3:~/src/WWW-Curl-4.17] administrator%
I'm completely dead in the water here. I've been trying to pull this off for over a year.

FYI, I checked my versions of curl and perl, and verified that they are the ones I expected:
[ns3:~/src/WWW-Curl-4.17] administrator% which curl /usr/local/opt/curl/bin/curl [ns3:~/src/WWW-Curl-4.17] administrator% /usr/local/opt/curl/bin/curl +--version curl 7.58.0 (x86_64-apple-darwin16.7.0) libcurl/7.58.0 SecureTransport + zlib/1.2.8 Release-Date: 2018-01-24 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps +pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets [ns3:~/src/WWW-Curl-4.17] administrator% which perl /Users/administrator/perl5/perlbrew/perls/perl-5.24.0/bin/perl [ns3:~/src/WWW-Curl-4.17] administrator%

In reply to Re^3: installing WWW::Curl::Easy perl module in OS X 10.12.6 by igods
in thread installing WWW::Curl::Easy perl module in OS X 10.12.6 by igods

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.