Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 72124 - Totem 0.9.22 compile failure: /usr/include/libintl.h: parse error before "const"
Summary: Totem 0.9.22 compile failure: /usr/include/libintl.h: parse error before "const"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: http://bugzilla.gnome.org/show_bug.cg...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-22 12:51 UTC by Ed Catmur
Modified: 2004-11-29 06:23 UTC (History)
2 users (show)

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


Attachments
totem-0.99.22-x_includes.patch (totem-0.99.22-x_includes.patch,1.30 KB, patch)
2004-11-22 14:21 UTC, Ed Catmur
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Catmur 2004-11-22 12:51:29 UTC
Making all in src
make[2]: Entering directory `/var/tmp/portage/totem-0.99.22/work/totem-0.99.22/src'
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -D_REENTRANT -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -DORBIT2=1 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/libglade-2.0 -I/usr/include/gnome-vfs-module-2.0 -I/usr/include/gnome-desktop-2.0 -I/usr/include/startup-notification-1.0 -I/usr/include/libnautilus-burn     -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DGCONF_PREFIX=\""/apps/totem"\" -DDATADIR=\""/usr/share"\" -DLIBDIR=\""/usr/lib"\" -DLOGO_PATH=DATADIR\"\"G_DIR_SEPARATOR_S\"totem\"G_DIR_SEPARATOR_S\"totem_logo.png\"    -Wall   -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes   -Wnested-externs -Wpointer-arith       -Wcast-align -Wsign-compare      -fno-strict-aliasing    -I/usr/X11R6/include -O3 -pipe -march=athlon-xp -mmmx -msse -m3dnow -mfpmath=387 -ftracer -fomit-frame-pointer -ffast-math -falign-functions=64 -falign-loops=4 -falign-jumps=4 -funroll-loops -fprefetch-loop-arrays -c totem.c
In file included from /usr/include/glib-2.0/glib/gi18n.h:23,
                 from totem-private.h:24,
                 from totem.c:54:
/usr/include/libintl.h:40: error: parse error before "const"
/usr/include/libintl.h:44: error: parse error before "const"
/usr/include/libintl.h:51: error: parse error before "const"
/usr/include/libintl.h:81: error: parse error before "const"
/usr/include/libintl.h:85: error: parse error before "const"
/usr/include/libintl.h:90: error: parse error before "const"
In file included from totem-private.h:24,
                 from totem.c:54:
/usr/include/glib-2.0/glib/gi18n.h:25:1: warning: "_" redefined
In file included from /usr/include/libgnome-2.0/libgnome/gnome-i18n.h:38,
                 from /usr/include/libgnome-2.0/libgnome/libgnome.h:30,
                 from /usr/include/libgnomeui-2.0/gnome.h:5,
                 from totem.c:23:
/usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h:69:1: warning: this is the location of the previous definition
totem.c: In function `main':
totem.c:3800: warning: statement with no effect
totem.c:3801: warning: statement with no effect
totem.c:3802: warning: statement with no effect
make[2]: *** [totem.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/totem-0.99.22/work/totem-0.99.22/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/totem-0.99.22/work/totem-0.99.22'
make: *** [all-recursive-am] Error 2
Comment 1 Ed Catmur 2004-11-22 12:54:09 UTC
A gcc -E shows that on the offending lines in libintl.h gettext, etc. has been defined out of existence:

# 1 "/usr/include/libintl.h" 1 3 4
# 35 "/usr/include/libintl.h" 3 4
(...)
extern char *(__const char *__msgid) __attribute__ ((__nothrow__));

This can in turn be traced back to bonobo-i18n.h, which is defining out gettext etc. because ENABLE_NLS is not defined; this in turn is because the nls detection fails in configure. Will investigate with autotools.
Comment 2 Ed Catmur 2004-11-22 13:44:29 UTC
Looking at config.log: this is because LIBS is defined to '-L ' which of course breaks every AC test (i686-pc-linux-gnu-gcc: argument to `-L' is missing)

This is because of configure.in line 203:
LIBS="-L$x_libraries $LIBS"

which breaks if $x_libraries is empty.

Patching configure.in:
--- configure.in        2004/11/22 21:41:20     1.1
+++ configure.in        2004/11/22 21:41:26
@@ -200,6 +200,9 @@ AC_SUBST(REMOTE_LIBS)
 AC_PATH_X

 CFLAGS="-I$x_includes $CFLAGS"
+if test -z "$x_libraries" ; then
+       x_libraries="."
+fi
 LIBS="-L$x_libraries $LIBS"

 XTEST_LIBS=""

and running autoconf makes configure work as expected. I'll write a patching ebuild and test it the whole way.
Comment 3 Ed Catmur 2004-11-22 13:55:54 UTC
Ah, of course.

I'm running xorg-x11-6.8.0-r2 (I know it's under development; I needed the threading fixes), which puts libXt.so in /usr/lib; so AC_PATH_X realises that linking X doesn't need any special -L flags and returns empty $x_libraries.

I guess we should expect to see this sort of thing quite often till everything is fixed.

I'll upstream this myself.
Comment 4 Ed Catmur 2004-11-22 14:21:36 UTC
Created attachment 44503 [details, diff]
totem-0.99.22-x_includes.patch

Yes, this works.

Upstreamed at http://bugzilla.gnome.org/show_bug.cgi?id=159126
Comment 5 Joe McCann (RETIRED) gentoo-dev 2004-11-23 06:54:52 UTC
thanks for looking into and patching this
Comment 6 foser (RETIRED) gentoo-dev 2004-11-23 08:08:11 UTC
this is a dupe of #71863, does that not work for you ?

cc-ing x maintainers so they are aware of these kind of problems.
Comment 7 Ed Catmur 2004-11-23 08:22:03 UTC
No, the patch in bug 71863 was applied when the above build failure occurred. Perhaps because my gnome libraries are more up to date?

Odd that I didn't realise they were the same bug, though. Anyway, my patch fixes the underlying problem, not just a symptom.
Comment 8 foser (RETIRED) gentoo-dev 2004-11-29 06:23:56 UTC
patch applied to .19 & .22 , thanks for the works.