Subject: bug#50098: Configuring --with-libsigsegv results in link error

From: Evan Miller <[email-masked]>
Date: Sun, 22 Aug 2021 07:19:59 -0400

> On Aug 21, 2021, at 19:46, Bruno Haible <[email-masked]> wrote:
> 
>  Run these commands:
> 
>  ./gnulib-tool --create-testdir --dir=testdir1 --single-configure c-stack
>  cd testdir1
>  ./configure
>  make
>  make check
> 
> If they fail, then you do need the libsigsegv library.

FWIW the first step fails produces a warning:

executing aclocal -I glm4
executing autoconf
executing autoheader
executing touch config.h.in
executing automake --add-missing --copy
configure.ac:8: installing 'build-aux/compile'
configure.ac:4: installing 'build-aux/install-sh'
configure.ac:4: installing 'build-aux/missing'
gllib/Makefile.am: installing 'build-aux/depcomp'
parallel-tests: installing 'build-aux/test-driver'
patching file build-aux/test-driver
Hunk #1 FAILED at 109.
1 out of 1 hunk FAILED -- saving rejects to file build-aux/test-driver.rej
patching file build-aux/test-driver

Powering through, "make" emits an undeclared function warning:

gcc-mp-7 -DHAVE_CONFIG_H -I. -I..  -DGNULIB_STRICT_CHECKING=1   -g -O2 -MT c-stack.o -MD -MP -MF .deps/c-stack.Tpo -c -o c-stack.o c-stack.c
c-stack.c: In function 'die':
c-stack.c:106:17: warning: implicit declaration of function 'mempcpy' [-Wimplicit-function-declaration]
       char *p = mempcpy (buf, progname, prognamelen);
                 ^~~~~~~
c-stack.c:106:17: warning: incompatible implicit declaration of built-in function 'mempcpy'

Then ends with an unresolved symbol error:

gcc-mp-7  -Wno-error -g -O2   -o test-c-stack test-c-stack.o libtests.a ../gllib/libgnu.a libtests.a ../gllib/libgnu.a libtests.a
Undefined symbols:
  "_mempcpy", referenced from:
      _die in libgnu.a(c-stack.o)
      _die in libgnu.a(c-stack.o)
ld: symbol(s) not found

I will note that "sigaltstack" is available on 10.4 so perhaps there is hope once the undeclared function is sorted out.

Evan