When building from master on OS X, there is a weird warning:
[100%] Linking CXX executable nodeos
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Security.framework/Security.tbd and library file /System/Library/Frameworks//Security.framework/Security are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//Security.framework/Security.tbd and library file /System/Library/Frameworks//Security.framework/Security are out of sync. Falling back to library file for linking.
You may see double slash in every path
/System/Library/Frameworks//...
Which is weird
This is caused by either a lack of an update in the XCode command-line tools or a bug in its installer. You may ignore it if you like. It is benign. If you prefer to eliminate it, you get to manually correct the situation with your choice of horrible hacks. Both options amount to reinstalling the XCode command-line tools.
Option 1:
sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.old
xcode-select --install
sudo rm -rf /Library/Developer/CommandLineTools.old
Option 2:
touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress;
PROD=$(softwareupdate -l |
grep "\*.*Command Line" |
head -n 1 | awk -F"*" '{print $2}' |
sed -e 's/^ *//' |
tr -d '\n')
softwareupdate -i "$PROD" --verbose;
rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress;
Option 2 has the benefit of working even without a logged in UI and without any scary/slightly dangerous rm -rfs. Option 1 has the benefit of being simpler. The choice is yours.
Download the current version of the system reinstall to solve this problem, data will not be lost. I have solved this problem.
I manually renamed both ".tbd" to ".tbd.gone" files, now it works.
Only martinrode's solution worked for me. I needed to rename more files, so I did:
cd /System/Library/Frameworks
sudo find . -name "*.tbd" -exec bash -c 'mv "$1" "$1.gone"' - '{}' \;
Most helpful comment
This is caused by either a lack of an update in the XCode command-line tools or a bug in its installer. You may ignore it if you like. It is benign. If you prefer to eliminate it, you get to manually correct the situation with your choice of horrible hacks. Both options amount to reinstalling the XCode command-line tools.
Option 1:
Option 2:
Option 2 has the benefit of working even without a logged in UI and without any scary/slightly dangerous
rm -rfs. Option 1 has the benefit of being simpler. The choice is yours.