Skip to content
This repository was archived by the owner on Aug 2, 2022. It is now read-only.

OS X ld warning with weird paths #5418

Closed
andriytyurnikov opened this issue Aug 24, 2018 · 4 comments
Closed

OS X ld warning with weird paths #5418

andriytyurnikov opened this issue Aug 24, 2018 · 4 comments

Comments

@andriytyurnikov
Copy link

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

@jgiszczak
Copy link
Contributor

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.

@gaochunmeng
Copy link

Download the current version of the system reinstall to solve this problem, data will not be lost. I have solved this problem.

@martinrode
Copy link

I manually renamed both ".tbd" to ".tbd.gone" files, now it works.

@kmmertes
Copy link

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"' - '{}' \;

huangminghuang added a commit to huangminghuang/eos that referenced this issue Jan 29, 2019
jgiszczak added a commit that referenced this issue Jan 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants