[MacPorts] #61168: php72-apache2handler 7.2.33_0 does not build

MacPorts noreply at macports.org
Sat Sep 12 17:33:00 UTC 2020


#61168: php72-apache2handler 7.2.33_0 does not build
----------------------------+--------------------------------
 Reporter:  josephsacco     |      Owner:  (none)
     Type:  defect          |     Status:  new
 Priority:  Normal          |  Milestone:
Component:  ports           |    Version:  2.6.3
 Keywords:  apache2handler  |       Port:  php-apache2handler
----------------------------+--------------------------------
 There is a problem building the latest upgrades for php-apache2hander
 [php72 & php73; php74 is OK] under OS X 10.15.6:

 {{{
 /main/reentrancy.c:139:23: error: too few arguments to function call,
 expected 3, have 2
         readdir_r(dirp, entry);
         ~~~~~~~~~            ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/dirent.h:110:1:
 note: 'readdir_r' declared here
 int readdir_r(DIR *, struct dirent *, struct dirent **)
 __DARWIN_INODE64(readdir_r);
 ^
 1 error generated.
 }}}

 Looking at the source code, the problem is here:

 {{{
 #if !defined(HAVE_POSIX_READDIR_R)

 PHPAPI int php_readdir_r(DIR *dirp, struct dirent *entry,
         struct dirent **result)
 {
 #if defined(HAVE_OLD_READDIR_R)
     int ret = 0;

     /* We cannot rely on the return value of readdir_r
        as it differs between various platforms
        (HPUX returns 0 on success whereas Solaris returns non-zero)
      */
     entry->d_name[0] = '\0';
     readdir_r(dirp, entry);

     if (entry->d_name[0] == '\0') {
         *result = NULL;
         ret = errno;
     } else {
         *result = entry;
     }
     return ret;
 #else
     struct dirent *ptr;
     int ret = 0;

     local_lock(READDIR_R);

     errno = 0;

     ptr = readdir(dirp);

     if (!ptr && errno != 0)
         ret = errno;

     if (ptr)
         memcpy(entry, ptr, sizeof(*ptr));

     *result = ptr;

     local_unlock(READDIR_R);

     return ret;
 #endif}}}


 -Joseph

-- 
Ticket URL: <https://trac.macports.org/ticket/61168>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list