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

Attachment: make.out.gz
Description: application/gzip

Attachment: signature.asc
Description: PGP signature

Reply via email to