[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