[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5857: 23.1.95; gcc: unrecognized option '-2.0/'
From: |
Sven Joachim |
Subject: |
bug#5857: 23.1.95; gcc: unrecognized option '-2.0/' |
Date: |
Wed, 07 Apr 2010 23:28:54 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.95 (gnu/linux) |
I noticed strange gcc warnings like this for files in the src/ directory
in both emacs-23 and the trunk:
,----
| make[1]: Entering directory `/usr/local/src/emacs-git/src'
| gcc -c -D_BSD_SOURCE -Demacs -DHAVE_CONFIG_H -I.
-I/usr/local/src/emacs-git/src -D_BSD_SOURCE -D_REENTRANT -pthread
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-1 -2.0/
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb
-I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/freetype2 -I/usr/include/alsa -pthread -D_REENTRANT
-I/usr/include/librsvg-2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12
-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -g -O2
-Wdeclaration-after-statement -Wno-pointer-sign -I/usr/include/freetype2 -MMD
-MF deps/pre-crt0.d pre-crt0.c
| gcc: unrecognized option '-2.0/'
`----
These rather baffling messages happen because src/Makefile contains this
line:
,----
| ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir}
-D_BSD_SOURCE -D_REENTRANT -pthread -I/usr/include/gtk-2.0
-I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/gio-1 -2.0/ -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2
${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS}
-I/usr/include/freetype2 ${DEPFLAGS}
`----
Note the "-I/usr/include/gio-1 -2.0/" part with the space in it. Now
the interesting question is where that comes from, grepping shows that
src/Makefile is the only file in the Emacs tree to contain a "gio-1"
string. The following directories in /usr/include have a "gio" in in
their name:
,----
| % ls /usr/include | grep gio
| gio-unix-2.0
| giomm-2.4
`----
There is a pkgconfig file corresponding to the /usr/include/gio-unix-2.0
directory:
,----
| % cat /usr/lib/pkgconfig/gio-unix-2.0.pc
| prefix=/usr
| exec_prefix=${prefix}
| libdir=${exec_prefix}/lib
| includedir=${prefix}/include
|
| Name: GIO unix specific APIs
| Description: unix specific headers for glib I/O library
| Version: 2.24.0
| Requires: gobject-2.0,gmodule-no-export-2.0,gio-2.0
| Libs: -L${libdir} -lgio-2.0
| Cflags: -I${includedir}/gio-unix-2.0/
`----
My preliminary conclusion is that the 'configure' script, in the
subshell following the "echo creating src/Makefile" line, does something
like 's/unix/1 /' with sed to create the "-I/usr/include/gio-1 -2.0/"
part of ALL_CFLAGS.
Note that I had upgraded glib to version 2.24.0 recently, with 2.22.4
this problem did not show up.
- bug#5857: 23.1.95; gcc: unrecognized option '-2.0/',
Sven Joachim <=