On Sun, Apr 12, 2026 at 03:38:12PM +0800, Kevin J. McCarthy wrote:
> On Sun, Apr 12, 2026 at 01:16:48PM +0800, Kevin J. McCarthy wrote:
> > What is installed in your ~/sw/include and lib directory for ncurses,
> > and exactly where?
>
> And the same for the system libraries.
Here's how I run 'configure' for ncurses and mutt.
ncurses:
dennis@coredump:~/src/ncurses-6.6-20260411% ./configure --prefix=${MY_PREFIX}
--mandir=${MY_PREFIX}/share/man --with-shared --without-debug --enable-widec
--disable-home-terminfo --enable-sigwinch --without-ada --disable-rpath
--enable-colorfgbg --without-tests --with-pcre2 --with-pkg-config
--enable-pc-files
(make && make install)
mutt:
dennis@coredump:~/src/mutt-2.3.1% ./configure --prefix=${HOME}/sw
--with-curses=${HOME}/sw --with-ssl=${HOME}/sw --with-homespool --enable-smtp
--enable-imap --disable-nls --disable-doc --with-ssl --with-sasl
--enable-hcache --with-lmdb
(make && make install)
dennis@coredump:~/src/mutt-2.3.1% type mutt
mutt is /Users/dennis/sw/bin/mutt
As mentioned earlier, otool is similar to ldd.
dennis@coredump:~/src/mutt-2.3.1% otool -L mutt
mutt:
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current
version 5.4.0)
/Users/dennis/sw/lib/libz.1.dylib (compatibility version 1.0.0, current
version 1.3.2)
/Users/dennis/sw/lib/libssl.3.dylib (compatibility version 3.0.0,
current version 3.0.0)
/Users/dennis/sw/lib/libcrypto.3.dylib (compatibility version 3.0.0,
current version 3.0.0)
/usr/lib/libsasl2.2.dylib (compatibility version 3.0.0, current version
3.15.0)
/Users/dennis/sw/lib/liblmdb.dylib (compatibility version 0.0.0,
current version 0.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version
7.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 1356.0.0)
In ~/sw/include/ is the directory 'ncursesw', and all the header files
are located there:
dennis@coredump:~% ls -l ~/sw/include/
total 584
drwxr-xr-x@ 168 dennis staff 5376 Jul 21 2025 FL
-rw-r--r--@ 1 dennis staff 6332 Jul 15 2025 gsasl-mech.h
-rw-r--r--@ 1 dennis staff 2484 Jul 15 2025 gsasl-version.h
-rw-r--r--@ 1 dennis staff 18895 Jul 15 2025 gsasl.h
drwxr-xr-x 29 dennis staff 928 Mar 22 10:47 libavcodec
drwxr-xr-x 5 dennis staff 160 Mar 22 10:47 libavdevice
drwxr-xr-x 7 dennis staff 224 Mar 22 10:47 libavfilter
drwxr-xr-x 6 dennis staff 192 Mar 22 10:47 libavformat
drwxr-xr-x 103 dennis staff 3296 Mar 22 10:47 libavutil
drwxr-xr-x 4 dennis staff 128 Jan 12 2025 libcanlock-3
drwxr-xr-x@ 9 dennis staff 288 Jan 17 13:38 libexttextcat
drwxr-xr-x@ 2 dennis staff 64 Jan 17 13:40 libltdl
drwxr-xr-x 5 dennis staff 160 Mar 22 10:47 libswresample
drwxr-xr-x 5 dennis staff 160 Mar 22 10:47 libswscale
-rw-r--r--@ 1 dennis staff 74012 Mar 29 13:03 lmdb.h
drwxr-xr-x 20 dennis staff 640 Apr 12 11:15 ncursesw
drwxr-xr-x 144 dennis staff 4608 May 19 2025 openssl
-rw-r--r--@ 1 dennis staff 51918 Dec 2 14:59 pcre2.h
-rw-r--r--@ 1 dennis staff 7276 Dec 2 14:59 pcre2posix.h
drwxr-xr-x@ 3 dennis staff 96 Jan 11 2025 pkgconf
drwxr-xr-x@ 83 dennis staff 2656 Apr 11 17:28 python3.14
drwxr-xr-x 207 dennis staff 6624 Mar 22 10:52 unicode
-rw-r--r--@ 1 dennis staff 16921 Mar 22 10:58 zconf.h
-rw-r--r--@ 1 dennis staff 103848 Mar 22 10:58 zlib.h
dennis@coredump:~% ls -l ~/sw/include/ncursesw
total 720
-rw-r--r--@ 1 dennis staff 105332 Apr 12 11:15 curses.h
-rw-r--r--@ 1 dennis staff 7234 Apr 12 11:15 cursesapp.h
-rw-r--r--@ 1 dennis staff 28297 Apr 12 11:15 cursesf.h
-rw-r--r--@ 1 dennis staff 20061 Apr 12 11:15 cursesm.h
-rw-r--r--@ 1 dennis staff 8838 Apr 12 11:15 cursesp.h
-rw-r--r--@ 1 dennis staff 50357 Apr 12 11:15 cursesw.h
-rw-r--r--@ 1 dennis staff 7336 Apr 12 11:15 cursslk.h
-rw-r--r--@ 1 dennis staff 2969 Apr 12 11:15 eti.h
-rw-r--r--@ 1 dennis staff 10610 Apr 12 11:15 etip.h
-rw-r--r--@ 1 dennis staff 18917 Apr 12 11:15 form.h
-rw-r--r--@ 1 dennis staff 11893 Apr 12 11:15 menu.h
-rw-r--r--@ 1 dennis staff 4183 Apr 12 11:15 ncurses_dll.h
lrwxr-xr-x@ 1 dennis staff 8 Apr 12 11:15 ncurses.h -> curses.h
-rw-r--r--@ 1 dennis staff 4521 Apr 12 11:15 panel.h
-rw-r--r--@ 1 dennis staff 8703 Apr 12 11:15 term_entry.h
-rw-r--r--@ 1 dennis staff 42222 Apr 12 11:15 term.h
-rw-r--r--@ 1 dennis staff 3477 Apr 12 11:15 termcap.h
-rw-r--r--@ 1 dennis staff 3223 Apr 12 11:15 unctrl.h
dennis@coredump:~% ls -l ~/sw/lib/*curses*
-rw-r--r--@ 1 dennis staff 111536 Apr 12 11:15
/Users/dennis/sw/lib/libncurses++w.a
-rwxr-xr-x@ 1 dennis staff 364096 Apr 12 11:15
/Users/dennis/sw/lib/libncursesw.6.dylib
-rw-r--r--@ 1 dennis staff 642392 Apr 12 11:15
/Users/dennis/sw/lib/libncursesw.a
lrwxr-xr-x@ 1 dennis staff 19 Apr 12 11:15
/Users/dennis/sw/lib/libncursesw.dylib -> libncursesw.6.dylib
'.dylib' is the macOS equivalent of '.so'.
The system-wide libraries and header files in macOS are located within
Xcode.app (Apple's development environment).
dennis@coredump:~% xcrun --show-sdk-path
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
The header files are located directly in usr/include, not in a
subdirectory.
dennis@coredump:.../Developer/SDKs/MacOSX.sdk% ls -l
usr/include/(*curses|eti|form|menu|panel|term(\.|_|cap)|unc)*
-rw-r--r--@ 1 root wheel 161910 Feb 22 00:00 usr/include/curses.h
-rw-r--r-- 1 root wheel 2891 Feb 22 00:00 usr/include/eti.h
-rw-r--r-- 1 root wheel 18265 Feb 22 00:00 usr/include/form.h
-rw-r--r-- 1 root wheel 11950 Feb 22 00:00 usr/include/menu.h
-rw-r--r-- 1 root wheel 4277 Feb 22 00:00 usr/include/ncurses_dll.h
lrwxr-xr-x 1 root wheel 8 Mar 25 19:51 usr/include/ncurses.h -> curses.h
-rw-r--r-- 1 root wheel 1062 Feb 21 23:59 usr/include/ncurses.modulemap
-rw-r--r-- 1 root wheel 4062 Feb 22 00:00 usr/include/panel.h
-rw-r--r-- 1 root wheel 8145 Feb 22 00:00 usr/include/term_entry.h
-rw-r--r-- 1 root wheel 39957 Feb 22 00:00 usr/include/term.h
-rw-r--r-- 1 root wheel 3476 Feb 22 00:00 usr/include/termcap.h
-rw-r--r-- 1 root wheel 3099 Feb 22 00:00 usr/include/unctrl.h
dennis@coredump:.../Developer/SDKs/MacOSX.sdk% ls -l usr/lib/*curses*
lrwxr-xr-x 1 root wheel 18 Mar 25 19:51 usr/lib/libcurses.tbd ->
libncurses.5.4.tbd
-rw-r--r-- 1 root wheel 21256 Feb 21 23:58 usr/lib/libncurses.5.4.tbd
lrwxr-xr-x 1 root wheel 18 Mar 25 19:51 usr/lib/libncurses.5.tbd ->
libncurses.5.4.tbd
lrwxr-xr-x 1 root wheel 18 Mar 25 19:51 usr/lib/libncurses.tbd ->
libncurses.5.4.tbd
dennis@coredump:.../Developer/SDKs/MacOSX.sdk% grep libncurses
usr/lib/libncurses.tbd
install-name: '/usr/lib/libncurses.5.4.dylib'
Dennis