Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 86572 - gnuserv 3.12.5 ebuild doesn't complete (compile error in gnuclient.c)
Summary: gnuserv 3.12.5 ebuild doesn't complete (compile error in gnuclient.c)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Emacs project
URL:
Whiteboard:
Keywords:
: 89150 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-03-24 13:11 UTC by Eric Ding
Modified: 2005-05-03 14:13 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
config.log of gnuserv (config.log,9.18 KB, text/plain)
2005-04-13 11:16 UTC, Pedro Morales
Details
output of emerge --info -v (emergeinfo.txt,4.17 KB, text/plain)
2005-04-13 12:19 UTC, Pedro Morales
Details
config.log of manually "compiled" gnuserv (config.log,8.44 KB, text/plain)
2005-04-13 13:06 UTC, Pedro Morales
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Ding 2005-03-24 13:11:30 UTC
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
Comment 1 Justin 2005-04-01 01:22:27 UTC
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
Comment 2 Abraham Smith 2005-04-12 05:45:30 UTC
Here too, running emacs-cvs.
3.12.4 still works.
Comment 3 Mamoru KOMACHI (RETIRED) gentoo-dev 2005-04-12 06:08:50 UTC
I cannot duplicate the error. Could you show me your config.log?
Comment 4 Pedro Morales 2005-04-13 11:01:56 UTC
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
Comment 5 Mamoru KOMACHI (RETIRED) gentoo-dev 2005-04-13 11:12:22 UTC
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.
Comment 6 Pedro Morales 2005-04-13 11:16:40 UTC
Created attachment 56184 [details]
config.log of gnuserv

Here I attach the config.log
Comment 7 Mamoru KOMACHI (RETIRED) gentoo-dev 2005-04-13 12:08:49 UTC
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.
Comment 8 Pedro Morales 2005-04-13 12:19:38 UTC
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?
Comment 9 Mamoru KOMACHI (RETIRED) gentoo-dev 2005-04-13 12:55:30 UTC
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.
Comment 10 Pedro Morales 2005-04-13 13:06:14 UTC
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?
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2005-04-14 23:39:47 UTC
*** Bug 89150 has been marked as a duplicate of this bug. ***
Comment 12 Mamoru KOMACHI (RETIRED) gentoo-dev 2005-05-03 04:44:20 UTC
I tracked down the problem and fixed it in CVS.
(we need to pass --x-includes and --x-libraries :()

Thanks for your feedback.
Comment 13 Pedro Morales 2005-05-03 14:13:54 UTC
Worked!

thanks to you for your effort.