[Buildroot] [buildroot 0005724]: libglib2 compilation crash on /usr/bin/glib-genmarshal
bugs at busybox.net
bugs at busybox.net
Tue Nov 4 19:39:24 UTC 2008
A NOTE has been added to this issue.
======================================================================
http://busybox.net/bugs/view.php?id=5724
======================================================================
Reported By: robang74
Assigned To: buildroot
======================================================================
Project: buildroot
Issue ID: 5724
Category: Shared Library Support
Reproducibility: always
Severity: crash
Priority: normal
Status: assigned
======================================================================
Date Submitted: 10-24-2008 21:51 PDT
Last Modified: 11-04-2008 11:39 PST
======================================================================
Summary: libglib2 compilation crash on
/usr/bin/glib-genmarshal
Description:
make[3]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/glib'
Making all in gobject
make[3]: Entering directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject'
/home/roberto/gles/buildroot/build_i586/staging_dir/usr/bin/i586-linux-uclibc-gcc
-Os -I/home/roberto/gles/buildroot/build_i586/staging_dir/usr/include
-I/home/roberto/gles/buildroot/build_i586/staging_dir/include
--sysroot=/home/roberto/gles/buildroot/build_i586/staging_dir/ -isysroot
/home/roberto/gles/buildroot/build_i586/staging_dir -mtune=i586
-march=i586 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -I. -I..
-DG_LOG_DOMAIN=\"GLib-GObject\" -I.. -I../glib -I.. -DG_ENABLE_DEBUG
-DG_DISABLE_DEPRECATED -DGOBJECT_COMPILATION -DG_DISABLE_CONST_RETURNS
-pthread -g -O2 -Wall -MT glib-genmarshal.o -MD -MP -MF
.deps/glib-genmarshal.Tpo -c -o glib-genmarshal.o glib-genmarshal.c
mv -f .deps/glib-genmarshal.Tpo .deps/glib-genmarshal.Po
/bin/bash ../libtool --tag=CC --mode=link
/home/roberto/gles/buildroot/build_i586/staging_dir/usr/bin/i586-linux-uclibc-gcc
-Os -I/home/roberto/gles/buildroot/build_i586/staging_dir/usr/include
-I/home/roberto/gles/buildroot/build_i586/staging_dir/include
--sysroot=/home/roberto/gles/buildroot/build_i586/staging_dir/ -isysroot
/home/roberto/gles/buildroot/build_i586/staging_dir -mtune=i586
-march=i586 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -g -O2 -Wall -o glib-genmarshal
glib-genmarshal.o ../glib/libglib-2.0.la -lintl
mkdir .libs
/home/roberto/gles/buildroot/build_i586/staging_dir/usr/bin/i586-linux-uclibc-gcc
-Os -I/home/roberto/gles/buildroot/build_i586/staging_dir/usr/include
-I/home/roberto/gles/buildroot/build_i586/staging_dir/include
--sysroot=/home/roberto/gles/buildroot/build_i586/staging_dir/ -isysroot
/home/roberto/gles/buildroot/build_i586/staging_dir -mtune=i586
-march=i586 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -g -O2 -Wall -o glib-genmarshal glib-genmarshal.o
../glib/.libs/libglib-2.0.so -lintl -Wl,--rpath
-Wl,/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/glib/.libs
/usr/bin/make glib-genmarshal
make[4]: Entering directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject'
make[4]: `glib-genmarshal' is up to date.
make[4]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject'
echo "#ifndef __G_MARSHAL_H__" > xgen-gmh \
&& echo "#define __G_MARSHAL_H__" >> xgen-gmh \
&& /usr/bin/glib-genmarshal --nostdinc --prefix=g_cclosure_marshal
./gmarshal.list --header >> xgen-gmh \
&& echo "#endif /* __G_MARSHAL_H__ */" >> xgen-gmh \
&& (cmp -s xgen-gmh gmarshal.h 2>/dev/null || cp xgen-gmh gmarshal.h) \
&& rm -f xgen-gmh xgen-gmh~ \
&& echo timestamp > stamp-gmarshal.h
/bin/bash: line 2: /usr/bin/glib-genmarshal: No such file or directory
make[3]: *** [stamp-gmarshal.h] Error 127
make[3]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4'
make: ***
[/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/.stamp_built]
Error 2
======================================================================
----------------------------------------------------------------------
robang74 - 10-24-08 22:53
----------------------------------------------------------------------
Proposed solution: glib-genmarshal should be compiled for $HOST not for
$TARGET system. Probably tests should be avoided too.
roberto at rafbook:~/gles/buildroot$ svn info | grep Last
Last Changed Author: jacmet
Last Changed Rev: 23778
Last Changed Date: 2008-10-24 13:02:32 +0200 (Fri, 24 Oct 2008)
----------------------------------------------------------------------
robang74 - 10-28-08 02:21
----------------------------------------------------------------------
roberto at rafbook:~/gles/buildroot$ svn info | grep Last
Last Changed Author: jacmet
Last Changed Rev: 23821
Last Changed Date: 2008-10-27 16:15:52 +0100 (Mon, 27 Oct 2008)
----------------------------------------------------------------------
tpetazzoni - 10-28-08 02:43
----------------------------------------------------------------------
glib2 is designed to use the glib-genmarshal binary available in the PATH
in the case of cross-compilation. The ./configure script checks that a
glib-genmarshal binary is available in the PATH in the cross-compile case,
and fails if glib-genmarshal is not found:
if test $cross_compiling = yes; then
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
if test x$GLIB_GENMARSHAL = xno; then
AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH)
fi
fi
Do you have the output of the configure script ? And the config.log file
?
It should either :
* Think that you are cross-compiling, testing in the configure script
that you have glib-genmarshal in your PATH and fail if not. Which is not
your case, it seems.
* Think that you are *not* cross-compiling, and use the internally
compiled glib-genmarshal. Which is not your case either.
So, I'm quite confused with what you're seeing.
----------------------------------------------------------------------
jacmet - 11-04-08 01:42
----------------------------------------------------------------------
Do you have the glib development package installed on your system? (E.G.
something like libglib2.0-dev)
----------------------------------------------------------------------
robang74 - 11-04-08 08:46
----------------------------------------------------------------------
To answer to tpetazzoni I need more time but I can answer to jacmet pretty
immediately: no, I do not have any libglib*-dev installed. ASAP I will
investigate the problem deeper. Thanks to both, for the answer.
----------------------------------------------------------------------
intravenoes - 11-04-08 11:06
----------------------------------------------------------------------
One thing to keep in mind here is that the options for glib-genmarshal or
rather glib-mkenums change a bit for newer versions of glib (2.18+).
glib-mkenum adds ENUMPREFIX. Newer versions of libgtk (2.14+) use this,
e.g. in gdk/gdkenumtypes.h.template.
So if the host system version of glib is below 2.18 but you try to cross
compile here and use the host system libs it will fail since this feature
is not supported. I know that these versions are not in buildroot right
now, just wanted to make you aware of this issue since I just ran into it.
----------------------------------------------------------------------
robang74 - 11-04-08 11:39
----------------------------------------------------------------------
checking for EILSEQ... yes
+ test yes = yes
+ CROSS_COMPILING_TRUE=
+ CROSS_COMPILING_FALSE='#'
+ test yes = yes
+ set dummy glib-genmarshal
+ ac_word=glib-genmarshal
+ echo 'configure:44515: checking for glib-genmarshal'
+ echo -n 'checking for glib-genmarshal... '
checking for glib-genmarshal... + test set = set
+ echo -n '(cached) '
(cached) + GLIB_GENMARSHAL=/usr/bin/glib-genmarshal
+ test -n /usr/bin/glib-genmarshal
+ echo 'configure:44546: result: /usr/bin/glib-genmarshal'
+ echo /usr/bin/glib-genmarshal
/usr/bin/glib-genmarshal
+ test x/usr/bin/glib-genmarshal = xno
+ set +x
checking whether to build gtk-doc documentation... no
I think configure uses some kind of cached value which obviously is not
right at all because my host is a 586 and my target is a 586. Anyway these
are the "bad" lines:
config.status:1080:s, at GLIB_GENMARSHAL@,|#_!!_#|/usr/bin/glib-genmarshal,g
configure:44517:if test "${ac_cv_path_GLIB_GENMARSHAL+set}" = set; then
Makefile:163:GLIB_GENMARSHAL = /usr/bin/glib-genmarshal
I have tried with this work around in order to bypass the problem:
for i in $(grep -rn " = /usr/bin/glib-genmarshal" * | cut -d: -f1); do sed
-e "s,GLIB_GENMARSHAL = /usr/bin/glib-genmarshal,GLIB_GENMARSHAL =
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal,g"
$i > $i.1; mv -f $i.1 $i; done
but the real problem is that the glib-genmarshal is compiled for the
$TARGET instead for the $HOST as I stated at the beginning:
Making all in gobject
make[3]: Entering directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject'
/usr/bin/make glib-genmarshal
make[4]: Entering directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject'
make[4]: `glib-genmarshal' is up to date.
make[4]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject'
echo "#ifndef __G_MARSHAL_H__" > xgen-gmh \
&& echo "#define __G_MARSHAL_H__" >> xgen-gmh \
&&
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal
--nostdinc --prefix=g_cclosure_marshal ./gmarshal.list --header >> xgen-gmh
\
&& echo "#endif /* __G_MARSHAL_H__ */" >> xgen-gmh \
&& (cmp -s xgen-gmh gmarshal.h 2>/dev/null || cp xgen-gmh gmarshal.h) \
&& rm -f xgen-gmh xgen-gmh~ \
&& echo timestamp > stamp-gmarshal.h
/bin/bash: line 2:
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal:
No such file or directory
make[3]: *** [stamp-gmarshal.h] Error 127
make[3]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4'
make: ***
[/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/.stamp_built]
Error 2
roberto at rafbook:~/gles/buildroot$ ls -al
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal
-rwxr-xr-x 1 roberto roberto 36532 2008-11-04 20:14
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal
roberto at rafbook:~/gles/buildroot$ file
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal:
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically
linked (uses shared libs), not stripped
roberto at rafbook:~/gles/buildroot$ ldd
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal
/usr/bin/ldd: line 117:
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal:
No such file or directory
roberto at rafbook:~/gles/buildroot$
/home/roberto/gles/buildroot/build_i586/staging_dir/usr/bin/i586-linux-uclibc-ldd
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/gobject/glib-genmarshal
checking sub-depends for
'/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/glib/.libs/libglib-2.0.so.0'
checking sub-depends for 'not found'
checking sub-depends for 'not found'
libglib-2.0.so.0 =>
/home/roberto/gles/buildroot/build_i586/libglib2-2.15.4/glib/.libs/libglib-2.0.so.0
(0x00000000)
libintl.so.8 => not found (0x00000000)
libc.so.0 => not found (0x00000000)
not a dynamic executable
Issue History
Date Modified Username Field Change
======================================================================
10-24-08 21:51 robang74 New Issue
10-24-08 21:51 robang74 Status new => assigned
10-24-08 21:51 robang74 Assigned To => buildroot
10-24-08 22:09 robang74 Issue Monitored: robang74
10-24-08 22:10 robang74 Note Added: 0014134
10-24-08 22:30 robang74 Note Edited: 0014134
10-24-08 22:53 robang74 Note Edited: 0014134
10-26-08 15:31 robang74 File Added: 5724.config
10-28-08 02:21 robang74 Note Added: 0014424
10-28-08 02:43 tpetazzoni Note Added: 0014454
11-04-08 01:42 jacmet Note Added: 0015044
11-04-08 08:46 robang74 Note Added: 0015064
11-04-08 11:06 intravenoes Note Added: 0015074
11-04-08 11:39 robang74 Note Added: 0015084
======================================================================
More information about the buildroot
mailing list