Opened 4 weeks ago
Last modified 4 weeks ago
#74230 new defect
findutils 4.11.0_0 remains broken on macOS Tahoe
| Reported by: | seamusdemora (Seamus) | Owned by: | |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.12.5 |
| Keywords: | updatedb locate findutils | Cc: | |
| Port: | findutils |
Description
This ticket is (more or less) a continuation of ticket #73455, but it does contain a potential work-around to get some use from it.
General comments & blether: findutils consists of two packages AFAIK: find, and locate. While find seems to be generally functional on my systems, locate (at least as installed on my macOS 26 system) is virtually useless. The recent flurry of upstream activity at GNU that apparently led to the 4.11 release has not helped cure the issues reported in #73455. I subscribed to the GNU bug-findutils mailing list, and submitted a report summarizing the issues I saw in macOS. AFAIK, there was no reply to my report other than a terse message from the developer that he had no Mac hardware to develop or test with. I think this means that no help is forthcoming from the GNU findutils team!
Description of the Issue: Before locate can be put to use, a database must be built using the updatedb utility. Here's what I see immediately after performing the findutils update to ver 4.11.0:
% sudo updatedb gfind: '/Library/Caches/com.apple.amsengagementd.classicdatavault': Operation not permitted gfind: '/Library/Caches/com.apple.aneuserd': Operation not permitted gfind: '/Library/Caches/com.apple.aned': Operation not permitted gfind: '/System/Library/AssetsV2/com_apple_MobileAsset_UAF_FM_Visual': Operation not permitted gfind: '/System/Library/AssetsV2/com_apple_MobileAsset_UAF_FM_GenerativeModels': Operation not permitted gfind: '/System/Library/AssetsV2/com_apple_MobileAsset_UAF_IF_Planner': Operation not permitted gfind: '/System/Library/AssetsV2/com_apple_MobileAsset_UAF_FM_Overrides': Operation not permitted gfind: '/System/Volumes/Data/Library/Caches/com.apple.amsengagementd.classicdatavault': Operation not permitted gfind: '/System/Volumes/Data/Library/Caches/com.apple.aneuserd': Operation not permitted gfind: '/System/Volumes/Data/Library/Caches/com.apple.aned': Operation not permitted gfind: failed to read file names from file system at or below '/': No such file or directory %
The last line is not encouraging: gfind: failed to read file names from file system at or below '/': No such file or directory - I've no idea what this actually means, but in practice after running sudo updatedb, locate failed to find a test file I inserted in my home folder /Users/seamus... i.e. locate is completely and totally useless!
Perusing man updatedb suggested that the options --localpaths and --prunepaths might possibly be useful as a kludge-y work-around to the issue. Here's how it went:
A kludge-y work-around:
% LOCALPATHS='/Applications /bin /cores /dev /Library /opt /private/etc /sbin /Users /usr' % PRUNEPATHS='/System/Library/AssetsV2 /System/Volumes/Data/Library/Caches /Library/Caches' % sudo updatedb --localpaths=$LOCALPATHS --prunepaths=$PRUNEPATHS gfind: '/Users/seamus/Library/Mobile Documents/com~apple~ScriptEditor2/Documents/BashScript.workflow': Operation timed out % % locate yt-dlp.conf /Users/seamus/.local/bin/yt-dlp.conf /Users/seamus/yt-dlp.conf
Some Documentation:
From #73455 it seems that the MacPorts developer for findutils is AWOL; I take this to mean that the find-utils package is not currently being supported for macOS. Consequently, I wonder if it might be helpful to other lost souls if an "installation note" was added to findutils - in the spirit of the output from last night's update:
---> Some of the ports you installed have notes:
coreutils has the following notes:
The tools provided by GNU coreutils are prefixed with the character 'g' by default to distinguish them from the BSD commands.
For example, cp becomes gcp and ls becomes gls.
If you want to use the GNU tools by default, add this directory to the front of your PATH environment variable:
/opt/local/libexec/gnubin/
i.e.
---> Some of the ports you installed have notes:
findutils has the following notes:
The 'locate' tool provided by GNU findutils has unresolved issues on later versions of macOS.
For example, the 'updatedb' command fails w/ "failed to read file names from file system at or below '/'".
If you want to use {{{locate}}}, consider the following sequence of commands to execute {{{updatedb}}}:
LOCALPATHS='/Applications /bin /cores /dev /Library /opt /private/etc /sbin /Users /usr'
PRUNEPATHS='/System/Library/AssetsV2 /System/Volumes/Data/Library/Caches /Library/Caches'
sudo updatedb --localpaths=$LOCALPATHS --prunepaths=$PRUNEPATHS
Change History (3)
comment:1 Changed 4 weeks ago by seamusdemora (Seamus)
| Keywords: | updatedb locate added; locatedb removed |
|---|
comment:2 follow-up: 3 Changed 4 weeks ago by reneeotten (Renee Otten)
comment:3 Changed 4 weeks ago by seamusdemora (Seamus)
Replying to reneeotten:
so why don’t you continue the discussion there then….? Please do that and close this ticket - no point of having more than one.
Different version, and different issues. This ticket is also different in that it proposes a "work-around" for one of the problems - but not ALL. ... that's why.

so why don’t you continue the discussion there then….? Please do that and close this ticket - no point of having more than one.