On Tue, Nov 11, 2025 at 07:00:00PM -0500, Thomas Dickey wrote: > On Tue, Nov 11, 2025 at 12:15:45PM -0600, G. Branden Robinson wrote: > > Hi Thomas, > > > > At 2025-11-11T11:48:43-0500, Thomas Dickey wrote: > > > a complete (compressed/attached) build log might show the problem. > > > > I narrowed it down to the "configure" option "--with-pthread". > > > > I used: > > > > ./configure \ > > --prefix=$HOME/ncurses-HEAD \ > > --with-abi-version=7 \ > > --with-shared \ > > --with-cxx-shared \ > > --with-hashed-db \ > > --with-manpage-format=normal \ > > > > # --with-pthread \ > > fwiw, OpenSUSE uses pthread (and weak symbols), but other packagers > don't, as far as I recall. But a bug's a bug.
...but this one is the sort of thing that I expect packagers to handle.
Your build failed because there's nothing to force the loader to find
the shared library in the build-tree. The script misc/shlib helps.
I did this:
#!/bin/sh
clobber-ncurses
cfg-shared \
--with-abi-version=7 \
--with-cxx-shared \
--with-hashed-db \
--with-manpage-format=normal \
--with-pthread \
CFLAGS=-g || exit
shlib make-out
cfg-shared is close to what your options - one of the ~2000 scripts
which I allude to here:
https://invisible-island.net/scripts/readme.html
and shlib's in my path, and it built for me (see attached).
> > If I kill the newline and comment the last option, the build fails.
>
> config.status shows
>
> SUCCESS:
> with options \"--prefix=/home/branden/ncurses-HEAD --with-abi-version=7
> --with-shared --with-cxx-shared --with-hashed-db
> --with-manpage-format=normal CFLAGS=-g\"
> FAILURE:
> with options \"--prefix=/home/branden/ncurses-HEAD --with-abi-version=7
> --with-shared --with-cxx-shared --with-hashed-db
> --with-manpage-format=normal --with-pthread CFLAGS=-g\"
> >
> > I'm attaching a gzipped tar file of "config.{log,status}" for successful
> > and failing builds, along with standard output and error streams
> > produced by the following script I use to direct builds.
> >
> > #!/bin/sh
> >
> > make distclean
> > CFLAGS=-g config-ncurses && make && make install && groan
> >
> > ("config-ncurses" is what you see above, and "groan" is a noisemaker
> > that tells me when the build's done.)
> >
> > > Offhand, it looks like the last fixes I made in this area were in
> > > March.
> >
> > I think I've fiddled with my config options more recently than that, but
> > I don't keep "config-ncurses" under revision control. :-/
>
> I keep any reusable scripts in revision control, but (aside from virtual
> machine snapshots), finding bugs exposed by different groups of source
> archives can be hard.
>
> --
> Thomas E. Dickey <[email protected]>
> https://invisible-island.net
--
Thomas E. Dickey <[email protected]>
https://invisible-island.net
make.out.gz
Description: application/gzip
signature.asc
Description: PGP signature
