2013-03-08 109 views
8

我有编制的Emacs 23.3候选发布版2个问题:链接时有多个定义。 collect2:错误LD返回1退出状态

我跑autogen.sh./configuremake最后make install在那里我得到这个错误:

gcc -std=gnu99  -I. -I../src -I../lib -I/home/john/bin/emacs/rc/emacs-24.3/lib-src -I/home/john/opt/emacs/rc/emacs-24.3/lib-src/../src -I/home/ 
john/bin/emacs/rc/emacs-24.3/lib-src/../lib -Wl,-znocombreloc -g3 -O2 -DEMACS_NAME="\"GNU Emacs\"" \ 
      -DVERSION="\"24.3\"" /home/john/bin/emacs/rc/emacs-24.3/lib-src/etags.c \ 
      regex.o ../lib/libgnu.a -o etags 
regex.o: In function `stpncpy': 
/usr/include/bits/string3.h:160: multiple definition of `stpncpy' 
/tmp/ccntBfBN.o:/usr/include/bits/string3.h:160: first defined here 
regex.o: In function `realpath': 
/usr/include/bits/stdlib.h:37: multiple definition of `realpath' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:37: first defined here 
regex.o: In function `ptsname_r': 
/usr/include/bits/stdlib.h:53: multiple definition of `ptsname_r' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:53: first defined here 
regex.o: In function `wctomb': 
/usr/include/bits/stdlib.h:74: multiple definition of `wctomb' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:74: first defined here 
regex.o: In function `mbstowcs': 
/usr/include/bits/stdlib.h:95: multiple definition of `mbstowcs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:95: first defined here 
regex.o: In function `wcstombs': 
/usr/include/bits/stdlib.h:114: multiple definition of `wcstombs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:114: first defined here 
regex.o: In function `read': 
/usr/include/bits/unistd.h:35: multiple definition of `read' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:35: first defined here 
regex.o: In function `pread': 
/usr/include/bits/unistd.h:57: multiple definition of `pread' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:57: first defined here 
regex.o: In function `pread64': 
/usr/include/bits/unistd.h:77: multiple definition of `pread64' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:77: first defined here 
regex.o: In function `readlink': 
/usr/include/bits/unistd.h:99: multiple definition of `readlink' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:99: first defined here 
regex.o: In function `readlinkat': 
/usr/include/bits/unistd.h:121: multiple definition of `readlinkat' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:121: first defined here 
regex.o: In function `getcwd': 
/usr/include/bits/unistd.h:136: multiple definition of `getcwd' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:136: first defined here 
regex.o: In function `getwd': 
/usr/include/bits/unistd.h:150: multiple definition of `getwd' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:150: first defined here 
regex.o: In function `confstr': 
/usr/include/bits/unistd.h:165: multiple definition of `confstr' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:165: first defined here 
regex.o: In function `getgroups': 
/usr/include/bits/unistd.h:181: multiple definition of `getgroups' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:181: first defined here 
regex.o: In function `ttyname_r': 
/usr/include/bits/unistd.h:197: multiple definition of `ttyname_r' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:197: first defined here 
regex.o: In function `getlogin_r': 
/usr/include/bits/unistd.h:213: multiple definition of `getlogin_r' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:213: first defined here 
regex.o: In function `gethostname': 
/usr/include/bits/unistd.h:230: multiple definition of `gethostname' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:230: first defined here 
regex.o: In function `getdomainname': 
/usr/include/bits/unistd.h:248: multiple definition of `getdomainname' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:248: first defined here 
../lib/libgnu.a(c-strcasecmp.o): In function `stpncpy': 
/usr/include/bits/string3.h:160: multiple definition of `stpncpy' 
/tmp/ccntBfBN.o:/usr/include/bits/string3.h:160: first defined here 
../lib/libgnu.a(c-strcasecmp.o): In function `realpath': 
/usr/include/bits/stdlib.h:37: multiple definition of `realpath' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:37: first defined here 
../lib/libgnu.a(c-strcasecmp.o): In function `ptsname_r': 
/usr/include/bits/stdlib.h:53: multiple definition of `ptsname_r' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:53: first defined here 
../lib/libgnu.a(c-strcasecmp.o): In function `wctomb': 
/usr/include/bits/stdlib.h:74: multiple definition of `wctomb' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:74: first defined here 
../lib/libgnu.a(c-strcasecmp.o): In function `mbstowcs': 
/usr/include/bits/stdlib.h:95: multiple definition of `mbstowcs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:95: first defined here 
../lib/libgnu.a(c-strcasecmp.o): In function `wcstombs': 
/usr/include/bits/stdlib.h:114: multiple definition of `wcstombs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:114: first defined here 
../lib/libgnu.a(c-strncasecmp.o): In function `stpncpy': 
/usr/include/bits/string3.h:160: multiple definition of `stpncpy' 
/tmp/ccntBfBN.o:/usr/include/bits/string3.h:160: first defined here 
../lib/libgnu.a(c-strncasecmp.o): In function `realpath': 
/usr/include/bits/stdlib.h:37: multiple definition of `realpath' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:37: first defined here 
../lib/libgnu.a(c-strncasecmp.o): In function `ptsname_r': 
/usr/include/bits/stdlib.h:53: multiple definition of `ptsname_r' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:53: first defined here 
../lib/libgnu.a(c-strncasecmp.o): In function `wctomb': 
/usr/include/bits/stdlib.h:74: multiple definition of `wctomb' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:74: first defined here 
../lib/libgnu.a(c-strncasecmp.o): In function `mbstowcs': 
/usr/include/bits/stdlib.h:95: multiple definition of `mbstowcs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:95: first defined here 
../lib/libgnu.a(c-strncasecmp.o): In function `wcstombs': 
/usr/include/bits/stdlib.h:114: multiple definition of `wcstombs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:114: first defined here 
../lib/libgnu.a(getopt.o): In function `stpncpy': 
/usr/include/bits/string3.h:160: multiple definition of `stpncpy' 
/tmp/ccntBfBN.o:/usr/include/bits/string3.h:160: first defined here 
../lib/libgnu.a(getopt.o): In function `realpath': 
/usr/include/bits/stdlib.h:37: multiple definition of `realpath' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:37: first defined here 
../lib/libgnu.a(getopt.o): In function `ptsname_r': 
/usr/include/bits/stdlib.h:53: multiple definition of `ptsname_r' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:53: first defined here 
../lib/libgnu.a(getopt.o): In function `wctomb': 
/usr/include/bits/stdlib.h:74: multiple definition of `wctomb' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:74: first defined here 
../lib/libgnu.a(getopt.o): In function `mbstowcs': 
/usr/include/bits/stdlib.h:95: multiple definition of `mbstowcs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:95: first defined here 
../lib/libgnu.a(getopt.o): In function `wcstombs': 
/usr/include/bits/stdlib.h:114: multiple definition of `wcstombs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:114: first defined here 
../lib/libgnu.a(getopt.o): In function `gets': 
/usr/include/bits/stdio2.h:94: multiple definition of `gets' 
/tmp/ccntBfBN.o:/usr/include/bits/stdio2.h:94: first defined here 
../lib/libgnu.a(getopt.o): In function `fgets': 
/usr/include/bits/stdio2.h:109: multiple definition of `fgets' 
/tmp/ccntBfBN.o:/usr/include/bits/stdio2.h:109: first defined here 
../lib/libgnu.a(getopt.o): In function `fgets_unlocked': 
/usr/include/bits/stdio2.h:125: multiple definition of `fgets_unlocked' 
/tmp/ccntBfBN.o:/usr/include/bits/stdio2.h:125: first defined here 
../lib/libgnu.a(getopt.o): In function `read': 
/usr/include/bits/unistd.h:35: multiple definition of `read' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:35: first defined here 
../lib/libgnu.a(getopt.o): In function `pread': 
/usr/include/bits/unistd.h:57: multiple definition of `pread' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:57: first defined here 
../lib/libgnu.a(getopt.o): In function `pread64': 
/usr/include/bits/unistd.h:77: multiple definition of `pread64' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:77: first defined here 
../lib/libgnu.a(getopt.o): In function `readlink': 
/usr/include/bits/unistd.h:99: multiple definition of `readlink' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:99: first defined here 
../lib/libgnu.a(getopt.o): In function `readlinkat': 
/usr/include/bits/unistd.h:121: multiple definition of `readlinkat' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:121: first defined here 
../lib/libgnu.a(getopt.o): In function `getcwd': 
/usr/include/bits/unistd.h:136: multiple definition of `getcwd' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:136: first defined here 
../lib/libgnu.a(getopt.o): In function `getwd': 
/usr/include/bits/unistd.h:150: multiple definition of `getwd' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:150: first defined here 
../lib/libgnu.a(getopt.o): In function `confstr': 
/usr/include/bits/unistd.h:165: multiple definition of `confstr' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:165: first defined here 
../lib/libgnu.a(getopt.o): In function `getgroups': 
/usr/include/bits/unistd.h:181: multiple definition of `getgroups' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:181: first defined here 
../lib/libgnu.a(getopt.o): In function `ttyname_r': 
/usr/include/bits/unistd.h:197: multiple definition of `ttyname_r' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:197: first defined here 
../lib/libgnu.a(getopt.o): In function `getlogin_r': 
/usr/include/bits/unistd.h:213: multiple definition of `getlogin_r' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:213: first defined here 
../lib/libgnu.a(getopt.o): In function `gethostname': 
/usr/include/bits/unistd.h:230: multiple definition of `gethostname' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:230: first defined here 
../lib/libgnu.a(getopt.o): In function `getdomainname': 
/usr/include/bits/unistd.h:248: multiple definition of `getdomainname' 
/tmp/ccntBfBN.o:/usr/include/bits/unistd.h:248: first defined here 
../lib/libgnu.a(getopt1.o): In function `stpncpy': 
/usr/include/bits/string3.h:160: multiple definition of `stpncpy' 
/tmp/ccntBfBN.o:/usr/include/bits/string3.h:160: first defined here 
../lib/libgnu.a(getopt1.o): In function `realpath': 
/usr/include/bits/stdlib.h:37: multiple definition of `realpath' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:37: first defined here 
../lib/libgnu.a(getopt1.o): In function `ptsname_r': 
/usr/include/bits/stdlib.h:53: multiple definition of `ptsname_r' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:53: first defined here 
../lib/libgnu.a(getopt1.o): In function `wctomb': 
/usr/include/bits/stdlib.h:74: multiple definition of `wctomb' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:74: first defined here 
../lib/libgnu.a(getopt1.o): In function `mbstowcs': 
/usr/include/bits/stdlib.h:95: multiple definition of `mbstowcs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:95: first defined here 
../lib/libgnu.a(getopt1.o): In function `wcstombs': 
/usr/include/bits/stdlib.h:114: multiple definition of `wcstombs' 
/tmp/ccntBfBN.o:/usr/include/bits/stdlib.h:114: first defined here 
../lib/libgnu.a(getopt1.o): In function `gets': 
/usr/include/bits/stdio2.h:94: multiple definition of `gets' 
/tmp/ccntBfBN.o:/usr/include/bits/stdio2.h:94: first defined here 
../lib/libgnu.a(getopt1.o): In function `fgets': 
/usr/include/bits/stdio2.h:109: multiple definition of `fgets' 
/tmp/ccntBfBN.o:/usr/include/bits/stdio2.h:109: first defined here 
../lib/libgnu.a(getopt1.o): In function `fgets_unlocked': 
/usr/include/bits/stdio2.h:125: multiple definition of `fgets_unlocked' 
/tmp/ccntBfBN.o:/usr/include/bits/stdio2.h:125: first defined here 
collect2: error: ld returned 1 exit status 
make[1]: *** [etags] Error 1 
make[1]: Leaving directory `/home/john/bin/emacs/rc/emacs-24.3/lib-src' 
make: *** [lib-src] Error 2 

我有从来没有见过这样的错误。这是什么意思?

+0

这些错误消息的快速谷歌显示此线程(https://bugs.gentoo.org/show_bug.cgi?id=289757)。您的浏览器可能会抱怨该网站提供的SSL证书。 – 2013-03-08 10:33:46

回答

16

我在旧的Linux版本(RHEL 4.9)上遇到了类似的问题。

继埃里克·约翰逊的链接,配置,像这样的工作对我来说:

./configure CPPFLAGS="-fgnu89-inline" 
5

我试图建立和安装的GNU emacs-24.3:

> uname -a 
Linux mymachine 2.6.18-274.12.1.el5 #1 SMP Tue Nov 8 21:37:35 EST 2011 x86_64 x86_64 x86_64 GNU/Linux 
> pwd 
emacs-24.3 
> ./configure 
> make 

,并用几乎一模一样的“欢迎多个定义“错误报告为user815423426。

之前充分了解什么是“-fgnu89内联”的意思,我只是用Nemo的魔线,瞧,它经历:

> ./configure CPPFLAGS="-fgnu89-inline" 
> make 
> make install 

礼炮向我们的专家!

相关问题