Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ncurses detection not working on macOS 14 #1062

Closed
berquist opened this issue Mar 20, 2024 · 1 comment
Closed

ncurses detection not working on macOS 14 #1062

berquist opened this issue Mar 20, 2024 · 1 comment
Assignees
Milestone

Comments

@berquist
Copy link
Member

Caused by #1052.

The system-provided ncurses5.4-config produces some garbage paths. I see this on 14.4 (Xcode 15):

$ which ncurses5.4-config
/usr/bin/ncurses5.4-config
ncurses5.4-config --libs
-L/usr/local/lib -lncursesw
$ ncurses5.4-config --cflags
-D_DARWIN_C_SOURCE -I/usr/local/include/ncursesw -I/usr/local/include
$ ls /usr/lib/*curses*
zsh: no matches found: /usr/lib/*curses*
$ find /usr -type f -name "*curses*" 2>/dev/null | sort
/usr/bin/ncurses5.4-config
/usr/lib/zsh/5.9/zsh/curses.so
/usr/share/man/man1/adacurses-config.1
/usr/share/man/man1/adacurses.1
/usr/share/man/man1/ncurses5-config.1
/usr/share/man/man1/ncurses5.4-config.1
/usr/share/man/man1/ncursesw5.4-config.1
/usr/share/zsh/5.9/functions/tetriscurses

and this on 13.5 (Xcode 14):

$ ncurses5.4-config --libs
-lncurses
$ ncurses5.4-config --cflags
-I/usr/include/ncurses

configure doesn't fail in either case:

checking for ncurses6-config... no
checking for ncurses5.4-config... /usr/bin/ncurses5.4-config
checking for ncurses.h... yes
checking for curses library... yes

but the actual build passes with Xcode 14 and fails with Xcode 15. This must mean that libncurses is actually somewhere on that machine.

find $(xcode-select -p) -name "*curses*" 2>/dev/null | sort on Xcode 14:

/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/curses
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/lib-dynload/_curses.cpython-38-darwin.so
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/lib-dynload/_curses_panel.cpython-38-darwin.so
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Headers/py_curses.h
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/curses
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_curses.cpython-39-darwin.so
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_curses_panel.cpython-39-darwin.so
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libcurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libncurses.5.4.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libncurses.5.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libncurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/lib/libcurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/lib/libncurses.5.4.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/lib/libncurses.5.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk/usr/lib/libncurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/bin/ncurses5.4-config
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/curses.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ncurses.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ncurses_dll.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libcurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libncurses.5.4.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libncurses.5.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libncurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man/man1/ncurses5.4-config.1
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man/man3/curses_version.3x
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/share/man/man3/ncurses.3x
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/lib/libcurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/lib/libncurses.5.4.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/lib/libncurses.5.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/lib/libncurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/lib/libcurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/lib/libncurses.5.4.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/lib/libncurses.5.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/SDKs/WatchSimulator.sdk/usr/lib/libncurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libcurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libncurses.5.4.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libncurses.5.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libncurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libcurses.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libncurses.5.4.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libncurses.5.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libncurses.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libcurses.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libncurses.5.4.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libncurses.5.tbd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libncurses.tbd

and on Xcode 15:

/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Headers/py_curses.h
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/curses
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_curses.cpython-39-darwin.so
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/lib-dynload/_curses_panel.cpython-39-darwin.so
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/bin/ncurses5.4-config
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/curses.h
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/ncurses.h
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/ncurses_dll.h
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libcurses.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libncurses.5.4.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libncurses.5.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libncurses.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/share/man/man1/ncurses5.4-config.1
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/share/man/man3/curses_version.3x
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/share/man/man3/ncurses.3x
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/bin/ncurses5.4-config
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/curses.h
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/ncurses.h
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/ncurses_dll.h
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/lib/libcurses.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/lib/libncurses.5.4.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/lib/libncurses.5.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/lib/libncurses.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/share/man/man1/ncurses5.4-config.1
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/share/man/man3/curses_version.3x
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/share/man/man3/ncurses.3x
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/bin/ncurses5.4-config
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/curses.h
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/ncurses.h
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/ncurses_dll.h
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libcurses.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libncurses.5.4.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libncurses.5.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libncurses.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/share/man/man1/ncurses5.4-config.1
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/share/man/man3/curses_version.3x
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/share/man/man3/ncurses.3x
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/bin/ncurses5.4-config
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/include/curses.h
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/include/ncurses.h
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/include/ncurses.modulemap
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/include/ncurses_dll.h
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/lib/libcurses.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/lib/libncurses.5.4.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/lib/libncurses.5.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/lib/libncurses.tbd
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/share/man/man1/adacurses-config.1
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/share/man/man1/adacurses.1
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/share/man/man1/ncurses5-config.1
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/share/man/man1/ncurses5.4-config.1
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/share/man/man1/ncursesw5.4-config.1
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/share/man/man3/curses_version.3x
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/share/man/man3/ncurses.3x
@berquist
Copy link
Member Author

Done in #1072

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants