[MacPorts] #71206: python313 fails to build: error: static assertion failed: "assuming large file"
MacPorts
noreply at macports.org
Sat Jan 4 22:33:29 UTC 2025
#71206: python313 fails to build: error: static assertion failed: "assuming large
file"
---------------------------+-------------------------------------
Reporter: barracuda156 | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.10.2
Resolution: | Keywords: tiger, leopard, powerpc
Port: python313 |
---------------------------+-------------------------------------
Comment (by kencu):
On 10.4 the situation is different, and 64 bit inodes are not available at
all.
{{{
The _DARWIN_FEATURE_64_BIT_INODE macro should not be set directly.
Instead, developers
should make use of the _DARWIN_NO_64_BIT_INODE or
_DARWIN_USE_64_BIT_INODE macros when the
default variant is not desired. The following table details the
effects of defining these
macros for different deployment targets.
_DARWIN_FEATURE_ONLY_64_BIT_INODE not defined
━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
│ Deployment Target
user defines: │ < 10.5 10.5 >
10.5
─────────────────────────┼───────────────────────────────
(none) │ 32-bit 32-bit
64-bit
_DARWIN_NO_64_BIT_INODE │ 32-bit 32-bit
32-bit
_DARWIN_USE_64_BIT_INODE │ 32-bit 64-bit
64-bit
─────────────────────────┴───────────────────────────────
╷
_DARWIN_FEATURE_ONLY_64_BIT_INODE defined ╷
━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
user defines: │ Any Deployment Target
─────────────────────────┼───────────────────────────────
(none) │ 64-bit-only
_DARWIN_NO_64_BIT_INODE │ (error)
_DARWIN_USE_64_BIT_INODE │ 64-bit-only
─────────────────────────┴───────────────────────────────
32-bit 32-bit inode values are enabled, and the legacy
structures involving the
ino_t type are in use. The macro
_DARWIN_FEATURE_64_BIT_INODE is not
defined.
64-bit 64-bit inode values are enabled, and the expanded
structures involving the
ino_t type are in use. The macro
_DARWIN_FEATURE_64_BIT_INODE is defined,
and loader symbols will contain the $INODE64
suffix.
64-bit-only Like 64-bit, except loader symbols do not have the
$INODE64 suffix.
(error) A compile time error is generated.
Due to the increased benefits of the larger structure, it is highly
recommended that
developers not define _DARWIN_NO_64_BIT_INODE and make use of
_DARWIN_USE_64_BIT_INODE when
targeting Mac OSX 10.5.
}}}
so therefore as far as I can tell, the _Static_assert that failed can
never be true on Tiger.
So I just removed it, and python313 continued to build, until it reached
another error about a missing {{{<libproc.h>}}} (which doesn't exist on
Tiger, so that's another project).
Now ideally someone would read all the code to make sure that in every
case, the python code is not trying to ram a 64 bit entity into a 32 bit
INODE... that would be bad.
At the very least, assuming we do get a full successful build of Tiger at
some point, it would be nice to see a full test suite run on Tiger to make
sure we know what we're dealing with.
--
Ticket URL: <https://trac.macports.org/ticket/71206#comment:12>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list