Open ballapete opened 2 hours ago
On High Sierra we have:
/usr/include/sys/_types/_ssize_t.h:31:typedef __darwin_ssize_t ssize_t;
/usr/include/i386/_types.h:119:typedef long __darwin_ssize_t; /* byte count or error */
and on Sonoma we have:
/usr/include/sys/_types/_ssize_t.h:31:typedef __darwin_ssize_t ssize_t;
/usr/include/i386/_types.h:142:typedef long __darwin_ssize_t; /* byte count or error */
Hey, thanks for the report - I'm not sure I'm going to be able to dig here as I don't have access to older versions of OS X / macOS. I can probably build this on a VM but that's going to take a while.
If you have any insights on the fix I'm happy to accept a PR.
Cheers! Lee.
Sonoma is quite recent. Since a few weeks only macOS Sequoia 15.1 is out. Patches to these supported versions will also work on High Sierra. And on my even ancient Macs I'll see what can I do when having received (or found) a modern patch…
I possibly see the cause…
The MacPorts systems uses its own names for Perl modules, all lower case with hyphen. So what I have installed are
p5.34-fcgi @0.820.0_0 (active) Karen Etheridge's FCGI p5.34-fcgi-client @0.90.0_0 (active) MATSUNO★Tokuhiro's FCGI::Client (needed for FCGI tests)
And you, Lee, are the author of CGI::Fast. So I presume that I am not using the appropriate module, which is p5.34-cgi-fast, depending on p5.34-cgi. Would tests work better when I install your module too? Or is it recommended to use CGI::Fast instead?
Ooooooh you're looking at https://metacpan.org/pod/FCGI not https://metacpan.org/dist/CGI-Fast ? They're two entirely different distributions. Sorry, the wall of debug made me miss that 😅
You'll need to report this to the FCGI maintainer(s) as I believe there is no dependency on this distribution in that one.
The module builds and installs fine, but tests fail (performing them inside the MacPorts package manager, port):
time port -vs test p5.34-fcgi p5.38-fcgi ---> Computing dependencies for p5.34-fcgi. ---> Fetching distfiles for p5.34-fcgi ---> Verifying checksums for p5.34-fcgi ---> Checksumming FCGI-0.82.tar.gz ---> Extracting p5.34-fcgi ---> Extracting FCGI-0.82.tar.gz Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-fcgi/p5.34-fcgi/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/perl5/FCGI-0.82.tar.gz' | /usr/bin/tar -xf - ---> Configuring p5.34-fcgi Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-fcgi/p5.34-fcgi/work/FCGI-0.82" && /opt/local/bin/perl5.34 Makefile.PL INSTALLDIRS=vendor CC="/usr/bin/clang" LD="/usr/bin/clang" Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for FCGI Writing MYMETA.yml and MYMETA.json Running ./configure for you Please read configure.readme for information on how to run it yourself checking for gcc... /usr/bin/cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether /usr/bin/cc accepts -g... yes checking for /usr/bin/cc option to enable C11 features... none needed checking how to run the C preprocessor... /usr/bin/cc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for grep that handles long lines and -e... /opt/local/bin/ggrep checking for egrep... /opt/local/bin/ggrep -E checking for ssize_t... yes checking for sun_len in sys/un.h... yes checking for fpos_t in stdio.h... yes checking for sys/socket.h... yes checking for netdb.h... yes checking for netinet/in.h... yes checking for arpa/inet.h... yes checking for sys/time.h... yes checking for limits.h... yes checking for sys/param.h... yes checking for unistd.h... (cached) yes checking for a fileno() prototype in stdio.h... yes checking whether cross-process locking is required by accept()... no checking whether va_arg(arg, long double) crashes the compiler... no checking for an ANSI C-conforming const... yes configure: creating ./config.status config.status: creating fcgi_config.h Fixing flags in Makefile ---> Patching Makefile: /^CCFLAGS =/s|$| -isysroot/| ---> Patching Makefile: /^OTHERLDFLAGS =/s|$| -Wl,-syslibroot,/| ---> Patching Makefile: s|^(CC =).|\1 /usr/bin/clang| ---> Building p5.34-fcgi Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-fcgi/p5.34-fcgi/work/FCGI-0.82" && /usr/bin/make -j8 -w all make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-fcgi/p5.34-fcgi/work/FCGI-0.82' "/opt/local/bin/perl5.34" "/opt/local/lib/perl5/5.34/ExtUtils/xsubpp" -typemap '/opt/local/lib/perl5/5.34/ExtUtils/typemap' -typemap '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-fcgi/p5.34-fcgi/work/FCGI-0.82/typemap' FCGI.xs > FCGI.xsc Running Mkbootstrap for FCGI () /usr/bin/clang -c -I. -fno-common -DPERL_DARWIN -pipe -Os -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -isysroot/ -O3 -DVERSION=\"0.82\" -DXS_VERSION=\"0.82\" "-I/opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE" fcgiapp.c /usr/bin/clang -c -I. -fno-common -DPERL_DARWIN -pipe -Os -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -isysroot/ -O3 -DVERSION=\"0.82\" -DXS_VERSION=\"0.82\" "-I/opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE" os_unix.c chmod 644 "FCGI.bs" "/opt/local/bin/perl5.34" -MExtUtils::Command::MM -e 'cp_nonempty' -- FCGI.bs blib/arch/auto/FCGI/FCGI.bs 644 cp FCGI.pm blib/arch/FCGI.pm os_unix.c:1173:70: warning: passing 'int ' to parameter of type 'socklen_t ' (aka 'unsigned int ') converts between pointers to integer types with different sign [-Wpointer-sign] socket = accept(listen_sock, (struct sockaddr )&sa, &len); ^~~~ /usr/include/sys/socket.h:681:69: note: passing argument to parameter here int accept(int, struct sockaddr __restrict, socklen_t restrict) ^ os_unix.c:1273:51: warning: passing 'int ' to parameter of type 'socklen_t ' (aka 'unsigned int ') converts between pointers to integer types with different sign [-Wpointer-sign] if (getpeername(sock, (struct sockaddr )&sa, &len) != 0 && errno == ENOTCONN) { ^~~~ /usr/include/sys/socket.h:685:74: note: passing argument to parameter here int getpeername(int, struct sockaddr * restrict, socklen_t * __restrict) ^ mv FCGI.xsc FCGI.c /usr/bin/clang -c -I. -fno-common -DPERL_DARWIN -pipe -Os -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -isysroot/ -O3 -DVERSION=\"0.82\" -DXS_VERSION=\"0.82\" "-I/opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE" FCGI.c 2 warnings generated. FCGI.xs:187:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (was_bound = request->bound)