Thanks Ken! Letting me know that the "tapi" command is the key to the fix was a big help.
I did a quick google search for "tapi stubify" and found that someone has already created a ruby script to fix the problem. But one needs to disable System Integrity Protection (SIP) first before running the script. Once the script is run, one can re-enable SIP. See https://gist.github.com/sv99/c9d8c155db7db83325847bd33b25e1d0 I assume you used tapi stubify and did manually what was in this script. If you used a different approach, please let me know. Rob ________________________________ From: macports-dev <[email protected]> on behalf of Ken Cunningham <[email protected]> Sent: August 18, 2022 2:34 PM To: MacPorts Developers <[email protected]> Subject: Re: ld: waning messages -- Frameworks out of sync. > Otherwise, one needs to set SDKROOT as follows: > export SDKROOT=$(xcrun --show-sdk-path) > It is best to set SDKROOT in one's ~/.bash_profile If you do that, you will possibly override MacPorts setting of SDKROOT, and this is likely to cause you many problems when building ports. I would suggest you just ignore the warning -- the linker knows to use the library if the TBD file is out of sync, as it has said in it's message. Otherwise, you can fix the TBD file (which is what I did) by using the tapi tool: $ tapi OVERVIEW: Text-based Stubs Tool USAGE: tapi [--version][--help] tapi <command> [<args>] Commands: archive Merge or thin text-based stub files stubify Create a text-based stub file from a library installapi Create a text-based stub file by scanning the header files reexport Create a linker reexport file by scanning the header files See 'tapi <command> --help' to read more about a specific command. Of course, you may not want to do that -- but that is less intrusive than setting the SDKROOT I would say, if the warnings are really bothersome to you. Best, Ken
