[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: upstream glibc is making trouble again
From: |
Chip Coldwell |
Subject: |
Re: upstream glibc is making trouble again |
Date: |
Thu, 9 Aug 2007 15:58:31 -0400 (EDT) |
On Thu, 9 Aug 2007, Chip Coldwell wrote:
> I'm having problems building emacs against glibc-2.6.90-4 (Fedora
> 8/rawhide GNU/Linux distribution). Here's the relevant section of the
> build log:
>
> gcc -c -D_BSD_SOURCE -Demacs -DHAVE_CONFIG_H -DUSE_GTK -I.
> -I/builddir/build/BUILD/emacs-22.1/src -D_BSD_SOURCE -I/usr/include/gtk-2.0
> -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo
> -I/usr/include/pango-1.0 -I/usr/include/glib-2.0
> -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -DMAIL_USE_LOCKF
> -DSYSTEM_PURESIZE_EXTRA=16777216 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
> sound.c
> sound.c: In function 'wav_play':
> sound.c:618: warning: pointer targets in passing argument 2 of 'sd->write'
> differ in signedness
> sound.c: In function 'au_play':
> sound.c:712: warning: pointer targets in passing argument 2 of 'sd->write'
> differ in signedness
> sound.c: In function 'Fplay_sound_internal':
> sound.c:1453: warning: pointer targets in passing argument 2 of
> '__builtin___strcpy_chk' differ in signedness
> sound.c:1453: warning: pointer targets in passing argument 2 of
> '__strcpy_ichk' differ in signedness
> sound.c:1472:51: error: macro "open" requires 3 arguments, but only 1 given
> sound.c:1472: warning: statement with no effect
> make[2]: *** [sound.o] Error 1
> make[2]: Leaving directory `/builddir/build/BUILD/emacs-22.1/src'
> make[1]: *** [bootstrap-build] Error 2
> make[1]: Leaving directory `/builddir/build/BUILD/emacs-22.1'
> make: *** [bootstrap] Error 2
>
> and a link to a discussion that seems relevant also:
>
> https://www.redhat.com/archives/fedora-maintainers/2007-August/msg00013.html
>
> Quoting:
>
> It includes <fcntl.h>, which provides open, and POSIX allows functions
> to be defined as function-like macros. Until recently glibc didn't
> define open as a function like macro, but in glibc 2.6.90 and later it
> does when -D_FORTIFY_SOURCE=2, to enforce correct use of
> open/open64/openat/openat64.
>
> Any suggestions for a fix?
This seems to work
--- emacs-22.1/src/sound.c~ 2007-03-06 07:14:14.000000000 -0500
+++ emacs-22.1/src/sound.c 2007-08-09 15:54:52.117018000 -0400
@@ -1469,7 +1469,7 @@ Internal use only, use `play-sound' inst
error ("No usable sound device driver found");
/* Open the device. */
- current_sound_device->open (current_sound_device);
+ (current_sound_device->open) (current_sound_device);
/* Play the sound. */
current_sound->play (current_sound, current_sound_device);
Chip
--
Charles M. "Chip" Coldwell
Senior Software Engineer
Red Hat, Inc
978-392-2426