libncurses and libpanel on Big Sur

I have a large application (3m lines of code) that has a legacy interface using libncurses and libpanel. This has worked from Mac OS X 10.0 all of the way to 10.14 but I can't see those libraries in 10.15.

There is a libncurses.tbd and a libpanel.tbd but clang from the "Command Line Developer Tools" of Xcode 12.2 can't link against that with -lncuses or -l/usr/lib/libncurses.tbd. The system is built via Makefiles.

I've tried libncurses from macosforge/homebrew but they display horizontal and vertical lines as other characters line d)s which looks like the old UNIX issue of running your terminal in seven bit mode.

Thanks, Rob.

Accepted Reply

Are you getting some kind of error message? If so, what does it say?

Both ncurses and panel are on 10.15. I just built a little demo from the internet and it worked fine. You can't supply a tbd file on the command line. Just use -lcurses.

Edit: Are you asking about Big Sur or Catalina? Because 10.15 is Catalina. Big Sur is 11.0. I just tried on Big Sur and it worked fine there too. Big Sur is a bit more opaque about these things. The /usr/lib directory doesn't have much in it.

Replies

Are you getting some kind of error message? If so, what does it say?

Both ncurses and panel are on 10.15. I just built a little demo from the internet and it worked fine. You can't supply a tbd file on the command line. Just use -lcurses.

Edit: Are you asking about Big Sur or Catalina? Because 10.15 is Catalina. Big Sur is 11.0. I just tried on Big Sur and it worked fine there too. Big Sur is a bit more opaque about these things. The /usr/lib directory doesn't have much in it.
Sorry, I've messed up the version numbers in the question. /usr/lib/libncurses.dylib and /usr/lib/libpanel.dylib are in 10.0 to 10.15. I'm now porting to mac OS 11 Big Sur which only had .tbd files.

Thanks for your help. Ignoring the fact that these are .tbd files and using -lpanel and -lncurses fixes the issue.