[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