When I try to emerge gnuserv 3.12.5, I get the following error partway through compilation: gcc -c -I. -I. -DHAVE_CONFIG_H -I -march=athlon-xp -O2 -pipe -mmmx -msse -m3dnow gnuclient.c In file included from gnuclient.c:61: sysfile.h:387: error: conflicting types for `strerror' /usr/include/string.h:256: error: previous declaration of `strerror' make: *** [gnuclient.o] Error 1 gnuserv 3.12.4 builds fine; I've got glibc 2.3.4.20041102-r1 installed on my system. Reproducible: Always Steps to Reproduce: 1. Emerge gnuserv (version 3.12.5) Actual Results: The ebuild fails to complete. Expected Results: gnuserv should have compiled happily. Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20041102-r1, 2.6.10 i686) ================================================================= System uname: 2.6.10 i686 AMD Athlon(TM) XP 1700+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 27 2005, 05:31:54)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O2 -pipe -mmmx -msse -m3dnow" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe -mmmx -msse -m3dnow" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowex X acpi alsa avi berkdb bitmap-fonts cdr crypt cups curl emboss encode esd fam flac font-server foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 hal imagemagick imlib ipv6 java jpeg libg++ libwww mad mbox mmx mmx2 motif mp3 mpeg ncurses nls ogg oggvorbis opengl oss pam pdflib perl png ppds python qt quicktime readline sasl scanner sdl spell sse ssl tcpd tiff truetype truetype-fonts type1-fonts xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Just to throw my $0.02 in I am running into the same problem. I take the current work around is to just use 3.12.4
Here too, running emacs-cvs. 3.12.4 still works.
I cannot duplicate the error. Could you show me your config.log?
I'm having the same problem described here, but with gnuserv-3.12.7 The following are the last lines in the compile process: gcc -c -I. -I. -DHAVE_CONFIG_H -I -march=athlon-xp -O2 -pipe -fomit-frame-pointer gnuclient.c emacs --no-site-file -batch \ --eval "(add-to-list 'load-path \".\")" \ -f batch-byte-compile gnuserv-compat.el In file included from gnuclient.c:61: ./sysfile.h:395: error: conflicting types for 'strerror' /usr/include/string.h:256: error: previous declaration of 'strerror' was here ./sysfile.h:395: error: conflicting types for 'strerror' /usr/include/string.h:256: error: previous declaration of 'strerror' was here make: *** [gnuclient.o] Error 1 make: *** Waiting for unfinished jobs.... Wrote /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/gnuserv-compat.elc Done
The problem here is that it doesn't seem HAVE_STRERROR is defined on some system (including yours). sysfile.h contains #ifndef HAVE_STRERROR /* X11R6 defines strerror as a macro */ # ifdef strerror # undef strerror # endif const char *strerror (int); #endif and so if HAVE_STRERROR is correctly defined on your system, you will not experience this bug (and I don't have this problem at all). This is why I'm asking your config.log.
Created attachment 56184 [details] config.log of gnuserv Here I attach the config.log
Looks like you have incorrect CPPFLAGS. Did you set it by hand or in /etc/make.conf? If so, please unset CPPFLAGS and try again. The output of `emerge --info -v` would also be helpful.
Created attachment 56190 [details] output of emerge --info -v Extrange thing, because I don't have CPPFLAGS set in make.conf nor as an enviromental variable in my shell. CXXFLAGS is the same as CFLAGS. Interesting... if I use: env CPPFLAGS="" emerge gnuserv i get the folowing output: gcc -c -I. -I. -DHAVE_CONFIG_H -I -march=athlon-xp -O2 -pipe -fomit-frame-pointer gnuclient.c emacs --no-site-file -batch \ --eval "(add-to-list 'load-path \".\")" \ -f batch-byte-compile gnuserv-compat.el Wrote /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/gnuserv-compat.elc Done emacs --no-site-file -batch \ --eval "(add-to-list 'load-path \".\")" \ -l gnuserv-compat -f batch-byte-compile gnuserv.el While compiling gnuserv-edit-files in file /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/gnuserv.el: ** reference to free variable current-menubar While compiling gnuserv-buffer-done-1 in file /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/gnuserv.el: ** reference to free variable current-menubar While compiling gnuserv-prepare-shutdown in file /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/gnuserv.el: ** assignment to free variable allow-deletion-of-last-visible-frame While compiling gnuserv-start-1 in file /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/gnuserv.el: ** assignment to free variable allow-deletion-of-last-visible-frame While compiling the end of the data in file /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/gnuserv.el: ** The following functions are not known to be defined: make-gtk-device, make-mswindows-device, set-buffer-menubar, add-menu-button, delete-menu-item Wrote /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/gnuserv.elc Done emacs -batch -f batch-byte-compile devices.el In file included from gnuclient.c:61: ./sysfile.h:395: error: conflicting types for 'strerror' /usr/include/string.h:256: error: previous declaration of 'strerror' was here ./sysfile.h:395: error: conflicting types for 'strerror' /usr/include/string.h:256: error: previous declaration of 'strerror' was here make: *** [gnuclient.o] Error 1 make: *** Waiting for unfinished jobs.... Loading php-mode... While compiling the end of the data in file /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/devices.el: ** The following functions are not known to be defined: make-device, dfw-device, device-list, device-connection, device-frame-list, ns-display-color-cells, ns-display-pixel-width, ns-display-pixel-height, ns-display-mm-width, ns-display-mm-height, ns-display-planes, pm-display-visual-class, pm-display-color-p, ns-display-visual-class, ns-display-color-p, device-class-list, device-or-frame-type, device-type-list Wrote /var/tmp/portage/gnuserv-3.12.7/work/gnuserv-3.12.7/devices.elc Done Any clue?
Humm.... Can you compile >=gnuserv-3.12.5 manually, and attach config.log of it? What is broken on your system is that gnuserv configure script adds "-I" before your ${CFLAGS} (See gcc -c -I. -I. -DHAVE_CONFIG_H -I -march=athlon-xp -O2 -pipe -fomit-frame-pointer gnuclient.c), and it breaks nearly everything. As I see your config.log, even glibc is marked as invalid. I thought it was caused by invalid ${CPPFLAGS} because ${CPPFLAGS} is just in between ${DEFS} (=-DHAVE_CONFIG_H) and ${CFLAGS} (=-march=athlon-xp -O2 -pipe -fomit-frame-pointer) but that was not correct.
Created attachment 56195 [details] config.log of manually "compiled" gnuserv The manual compilation also failed... can it be related to the different automake or autoconf that are present in the system?
*** Bug 89150 has been marked as a duplicate of this bug. ***
I tracked down the problem and fixed it in CVS. (we need to pass --x-includes and --x-libraries :() Thanks for your feedback.
Worked! thanks to you for your effort.