emacs-devel
[Top][All Lists]
Advanced

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

Re: address@hidden: HP-UX: link error]


From: Bauer, Christoph
Subject: Re: address@hidden: HP-UX: link error]
Date: Mon, 20 Mar 2006 17:29:40 +0100

>     > on HP-UX I got this error (latest CVS version of emacs).
>     >
>     > <long gcc line to link emacs...>
>     > /usr/ccs/bin/ld: Duplicate symbol "append_glyph" in files xdisp.o
> and term.o
> 
> I think I see the cause of this.  There is a static function called
> append_glyph defined in xdisp.o.  Apparently that version of GCC
> compiles it in a way that isn't static, effectively producing
> two global definitions of append_glyph.
> 
> I think that is a bug in the compiler and/or linker.  However, I
> wonder why we do this confusing thing in Emacs.  Couldn't we rename
> the function append_glyph that is defined and used in xdisp.c?
> If we rename it to store_next_glyph, does that fix that bug?
> 
> Likewise, we could rename produce_stretch_glyph in xdisp.c
> to generate_stretch_glyph.
> 
> 
> Christoph, could you try that?

I renamed - as you suggested - append_glyph to store_next_glyph and
produce_stretch_glyph to generate_stretch_glyph in xdisp.c and tried to
build with the original cc and gcc.

The linker error is gone for both compilers. With gcc 
make bootstrap and make install succeeded. emacs could
be started.

cc fails with this error in lib-src:

cc -DHAVE_CONFIG_H    -I. -I../src -I/T/tools/unix/build/emacs/emacs/lib-src
-I/T/tools/unix/build/emacs/emacs/lib-src/../src   -g
/T/tools/unix/build/emacs/emacs/lib-src/fakemail.c -l:libdld.sl      -o
fakemail
cpp: "/T/tools/unix/build/emacs/emacs/lib-src/../src/s/hpux9.h", line 63:
warning 2001: Redefinition of macro HAVE_PSTAT_GETDYNAMIC.
cc: "/usr/include/sys/_mbstate_t.h", line 11: error 1000: Unexpected symbol:
"int".
cc: "/usr/include/stdlib.h", line 117: warning 573: Parameter list is
inconsistent for "getenv".
cc: "/T/tools/unix/build/emacs/emacs/lib-src/fakemail.c", line 140: warning
573: Parameter list is inconsistent for "popen".
cc: "/T/tools/unix/build/emacs/emacs/lib-src/fakemail.c", line 141: warning
573: Parameter list is inconsistent for "fclose".
cc: "/T/tools/unix/build/emacs/emacs/lib-src/fakemail.c", line 141: warning
573: Parameter list is inconsistent for "pclose".
make: *** [fakemail] Error 1

Of course I'm happy with the gcc-build :-)

Thanks for the help,
Christoph






reply via email to

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