Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#17272 closed defect (fixed)

m4 links with libsigsegv if present

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: nox@…
Priority: Normal Milestone:
Component: ports Version: 1.7.0
Keywords: Cc:
Port: m4

Description

m4 doesn't declare a dependency on libsigsegv, but uses it if present:

2008-11-16 00:52:53 -0600

Link (dyld) error:

Library not loaded: /mp/lib/libsigsegv.0.dylib
  Referenced from: /mp/bin/gm4
  Reason: image not found

Presumably we should add the configure argment --without-libsigsegv-prefix. I see a --without-libpth-prefix option too; we should probably use that too. I haven't yet tested whether these do what we want.

Change History (5)

comment:1 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to blair@…

Even with --without-libsigsegv-prefix, it still links with libsigsegv if present.

Not sure if --without-libpth-prefix fares any better; not sure how to get it to link with libpth in the first place, to test whether that option makes it stop doing that.

comment:2 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

The README says:

M4 has an optional dependency on the libsigsegv library:
  http://www.gnu.org/software/libsigsegv/
If the library has not been installed in the standard location, you
can use `./configure --with-libsigsegv-prefix=/path/to/dir', to make
the build of `m4' use /path/to/dir/include/sigsegv.h as appropriate.
The use of this library is optional; the only difference in having it
available is that it increases the number of platforms where `m4' can
correctly distinguish stack overflow from an internal bug.  It is
recommended that you use version 2.6 or newer.

No indication of how to disable it.

comment:3 Changed 16 years ago by blair (Blair Zajac)

Owner: changed from blair@… to nox@…

Reassigning to nox, he's made all the commits in to m4 2008 and this looks like a new feature in a recent m4:

2008-07-17  Eric Blake  <ebb9@byu.net>

        Adjust to c-stack changes in gnulib.
        * src/Makefile.am (m4_LDADD): Use libsigsegv when available and
        necessary, via LIBCSTACK.
        * src/m4.c (main) [DEBUG_STACKOVF]: Make it easier to test fault
        handlers.
        * checks/stackovf.test: New file.
        * checks/Makefile.in (CHECKS): Add stackovf.test, and factor...
        (DOC_CHECKS): ...generated documentation tests into new macro.
        (DISTFILES): Distribute stackovf.test.
        * checks/check-them: Special-case stackovf.test.
        * NEWS: Enhance the NEWS item for -L improvements.
        * README: Mention the optional dependency.
        * HACKING: Mention maintenance burden added by libsigsegv.

comment:4 Changed 16 years ago by nox@…

Resolution: fixed
Status: newclosed

libsigsegv support disabled in r42166.

comment:5 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.