[MacPorts] #68314: legacy-support @1.1.1_0: fails to build on 10.4.11

MacPorts noreply at macports.org
Mon Oct 2 06:20:20 UTC 2023


#68314: legacy-support @1.1.1_0: fails to build on 10.4.11
-----------------------------+--------------------
  Reporter:  lazd            |      Owner:  (none)
      Type:  defect          |     Status:  new
  Priority:  Normal          |  Milestone:
 Component:  ports           |    Version:  2.8.1
Resolution:                  |   Keywords:  tiger
      Port:  legacy-support  |
-----------------------------+--------------------

Comment (by macportsraf):

 I don't think that's the problem.

 On 10.4, dirent.h has:

     `DIR *opendir(const char *) __DARWIN_ALIAS(opendir);`

     `int closedir(DIR *) __DARWIN_ALIAS(closedir);`

     `struct dirent *readdir(DIR *);`

     `int readdir_r(DIR *, struct dirent *, struct dirent **);`

     `void rewinddir(DIR *) __DARWIN_ALIAS(rewinddir);`

     `void seekdir(DIR *, long) __DARWIN_ALIAS(seekdir);`

     `long telldir(DIR *) __DARWIN_ALIAS(telldir);`

 The current implementation of LegacySupport has:

     `DIR *__mpls_libc_opendir(const char *name) __MPLS_ALIAS_I(opendir);`

     `int __mpls_libc_closedir(DIR *dir) __MPLS_ALIAS(closedir);`

     `struct dirent *__mpls_libc_readdir(DIR *dir)
 __MPLS_INODE64(readdir);`

     `int __mpls_libc_readdir_r(DIR *dir, struct dirent *entry, struct
 dirent **result) __MPLS_INODE64(readdir_r);`

     `void __mpls_libc_rewinddir(DIR *dir) __MPLS_ALIAS_I(rewinddir);`

     `void __mpls_libc_seekdir(DIR *dir, long loc)
 __MPLS_ALIAS_I(seekdir);`

     `long __mpls_libc_telldir(DIR *dir) __MPLS_ALIAS_I(telldir);`

 Which translates to:

     `DIR *__mpls_libc_opendir(const char *name) __DARWIN_ALIAS(opendir);`

     `int __mpls_libc_closedir(DIR *dir) __DARWIN_ALIAS(closedir);`

     `struct dirent *__mpls_libc_readdir(DIR *dir)
 __DARWIN_ALIAS(readdir);`

     `int __mpls_libc_readdir_r(DIR *dir, struct dirent *entry, struct
 dirent **result) __DARWIN_ALIAS(readdir_r);`

     `void __mpls_libc_rewinddir(DIR *dir) __DARWIN_ALIAS(rewinddir);`

     `void __mpls_libc_seekdir(DIR *dir, long loc)
 __DARWIN_ALIAS(seekdir);`

     `long __mpls_libc_telldir(DIR *dir) __DARWIN_ALIAS(telldir);`

 If my hypothesis had been correct, that should mean that `readdir` and
 `readdir_r` should fail to be found (because `__MPLS_INODE64` was
 incorrectly defaulting to `__DARWIN_ALIAS` (rather than nothing) when
 `__DARWIN_INODE64` wasn't defined), but the other functions should have
 been found.

 I've made the appropriate fix for `__DARWIN_INODE64` in an unrelated pull
 request, but I don't think it'll help here because of the other link
 failures.

 Thanks for the dirent.h and thanks for the advice on getting macports onto
 my lovely old PowerBook. Maybe I can do some local testing and make sense
 of this problem (but I am mystified).

 If anyone else has any ideas about what might be the cause, please let me
 know.

-- 
Ticket URL: <https://trac.macports.org/ticket/68314#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list