For a few days now whenever gcc
or go
are invoked the following warning is thrown by the system (macOS High Sierra 10.13.5):
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
I have the feeling that the installation of some go
packages via go get
may have changed some files in the above directory but I have no means to verify this.
Is there a way to properly determine the cause of the message?
I had been seeing those warnings spewing from my make
process for a few weeks. I recently made a Xcode project to build using make
(via an External Build System project) and noticed those warnings weren't present when make
was being run from Xcode. The only difference is that Xcode exports a series of build setting environment variables prior to running make
.
After some experimentation it turned out to be the SDKROOT
variable which, in hindsight, makes perfect sense. I added this variable to my makefile and the warnings disappeared:
export SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
Note: That path can change with different versions of Xcode. It may be wise to reference the current SDK version instead:
export SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
Of course, assumes you have Xcode installed.