help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Duplicate symbols due to <emacs dir>/src/termcap.c


From: Glenn Morris
Subject: Re: Duplicate symbols due to <emacs dir>/src/termcap.c
Date: Fri, 05 Jan 2018 22:15:52 -0500
User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)

Jeffrey Walton wrote:

>     /usr/local/lib64/libtermcap.a(tparam.o): In function `tparam':
>     /home/scripts/termcap-1.3.1/tparam.c:101: multiple definition of `tparam'
>     terminfo.o:terminfo.c:(.text+0x0): first defined here
>     terminfo.o: In function `tparam':
>     terminfo.c:(.text+0x4a): undefined reference to `tparm'
>     collect2: error: ld returned 1 exit status
>
> It looks like it is due to a local copy of termcap.c:
>
>     $ find . -name termcap.c
>     ./emacs-24.5/src/termcap.c

I think your conclusion about the cause of this issue is incorrect.
Emacs does not use its file src/termcap.c, except on MS-DOS.

> gcc -Demacs  -I. -I. -I../lib -I./../lib -MMD -MF deps/.d -MP -m64
> -march=native -fPIC  -Wl,-znocombreloc  -L/usr/local/lib64 -m64
> -Wl,-R,/usr/local/lib64 -Wl,--enable-new-dtags \
>   -o temacs  vm-limit.o dispnew.o frame.o scroll.o xdisp.o menu.o
> window.o charset.o coding.o category.o ccl.o character.o chartab.o
> bidi.o cm.o term.o terminal.o xfaces.o    emacs.o keyboard.o macros.o
> keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o
> fileio.o dired.o cmds.o casetab.o casefiddle.o indent.o search.o
> regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o
> floatfns.o fns.o font.o print.o lread.o syntax.o unexelf.o bytecode.o
> process.o gnutls.o callproc.o region-cache.o sound.o atimer.o doprnt.o
> intervals.o textprop.o composite.o xml.o inotify.o profiler.o
> decompress.o          terminfo.o lastfile.o gmalloc.o ralloc.o
> ../lib/libgnu.a                -lrt          -ltermcap
> -lpthread   -lm -lz

Note lack of "termcap.o" in the above.

> /usr/local/lib64/libtermcap.a(tparam.o): In function `tparam':
> /home/scripts/termcap-1.3.1/tparam.c:101: multiple definition of `tparam'
> terminfo.o:terminfo.c:(.text+0x0): first defined here
> terminfo.o: In function `tparam':
> terminfo.c:(.text+0x4a): undefined reference to `tparm'

So it looks like you have a hand-compiled, static version of libtermcap,
which is rather unusual. I think the problem is internal to your
libtermcap installation.

Emacs's configure script will use any of libtinfo, libncurses,
libterminfo in preference to libtermcap. So you might try installing one
of those, preferably the standard version from your (unspecified)
distribution, and retry with a clean build.

Note also that Emacs 25.3 is the latest release.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]