# No rule to make target for MacOSX SDK

I am usually conservative for upgrading the libraries my machine depends on. I do not click the update button even the OS installer urges me to do so because it is likely to temporarily slow down the productivity to deal with the problem that occurred just after the upgrade. That’s not fun.

But this time, I was careless. I accidentally approved upgrading the Xcode in my mac. The target version is 12.3. I believed there should have been no problem in just upgrading one build toolchain. But I was wrong.

# No rule to make libcurses.

After I upgraded Xcode and install the toolchain alongside, my C++ project with CMake throws the following error.

No rule to make target /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/usr/lib/libcurses.tbd'


Yes, MacOSX11.0.sdk is no more available, but my project still refers to the old SDKs unexpectedly. Some of the dependencies are correctly found under MacOSX11.1.sdk. Only the process to find libcurses failed.

I struggled to find the solution for hours and finally reached an unsophisticated answer.

sudo ln -s \
`