#64147 closed defect (fixed)
squashfs-tools: builds fail on 10.12 and earlier, due to missing symbol '_utimensat'
Reported by: | mascguy (Christopher Nielsen) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | Cc: | cjones051073 (Chris Jones), quentinmit (Quentin Smith) | |
Port: | squashfs-tools |
Description
This new port is failing to build on 10.12 and earlier, due to call _utimensat
. The latter is missing on those earlier macOS releases.
Example from the 10.12 buildbot:
cc unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o unsquash-123.o unsquash-34.o unsquash-1234.o swap.o compressor.o unsquashfs_info.o gzip_wrapper.o xz_wrapper.o lzo_wrapper.o lz4_wrapper.o zstd_wrapper.o read_xattrs.o unsquashfs_xattr.o -lpthread -lm -lz -llzma -llzo2 -llz4 -lzstd -o unsquashfs Undefined symbols for architecture x86_64: "_utimensat", referenced from: _create_inode in unsquashfs.o ld: symbol(s) not found for architecture x86_64
This *might* be fixable via use of MacPorts' legacysupport
library. (Or, if that symbol isn't provided by the latter, it might be something we can add.) But need confirmation from the maintainers of legacysupport
.
Change History (5)
comment:1 Changed 3 years ago by cjones051073 (Chris Jones)
comment:2 Changed 3 years ago by mascguy (Christopher Nielsen)
Cc: | quentinmit added; kencu removed |
---|---|
Owner: | changed from quentinmit to mascguy |
comment:3 Changed 3 years ago by mascguy (Christopher Nielsen)
Version: | → 2.7.1 |
---|
comment:4 Changed 3 years ago by Christopher Nielsen <mascguy@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:5 Changed 3 years ago by mascguy (Christopher Nielsen)
The change to use legacysupport
fixes this port for macOS releases from 10.7 through 10.12, so we're in great shape.
For 10.6, there's still a build issue, related to dprintf
:
[...] unsquashfs.c: In function ‘pseudo_print’: unsquashfs.c:3478: warning: implicit declaration of function ‘dprintf’ [...] Undefined symbols: "_dprintf", referenced from: _pseudo_print in unsquashfs.o _generate_pseudo in unsquashfs.o
That might be fixable too, given the earlier implicit function declaration warning. But overall, looking good!
Note: See
TracTickets for help on using
tickets.
should be there I think. Just try it and see...