Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Frederik Sdun <frederik.sdun@googlemail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: minimal-uclibc: freesmartphone/libfsobasics_git.bb: do_compile() failed: utilities.c:35:22: fatal error: execinfo.h: No such file or directory
Date: Tue, 21 Sep 2010 07:17:49 +0200	[thread overview]
Message-ID: <20100921051747.GA3989@thinky> (raw)
In-Reply-To: <1285021068.2453.80.camel@mattotaupa>


[-- Attachment #1.1: Type: text/plain, Size: 9280 bytes --]

* Paul Menzel <paulepanter@users.sourceforge.net> [21.09.2010 00:18]:
> Am Samstag, den 11.09.2010, 20:01 +0200 schrieb Paul Menzel:
> 
> […]
> 
> > `do_compile()` of `freesmartphone/libfsobasics_git.bb` fails for me
> > reliably since today. As with my other reported failure of gtk+ [1]
> > nothing was changed regarding this recipe in the last days and it worked
> > for me before. Even yesterday because I could build gtk+ which is
> > supposed to happen after `libfsobasics_git.bb`. But several things get
> > build in parallel so that statement could be wrong.
> > 
> > Minimal compiles fine with EGLIBC and glibc.
> > 
> > 	$ find . -name execinfo.h
> > 
> > did not return anything in my build directory.
> > 
> > 	$ more log.do_compile
> > 	NOTE: make
> > 	make  all-recursive
> > 	make[1]: Entering directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/libfsobasics-1_0.9.10+gitr0+b163e36f9c960c6fea92168e88201be98dcceaef-r2.0/git/libfsobasics'
> > 	Making all in fsobasics
> > 	make[2]: Entering directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/libfsobasics-1_0.9.10+gitr0+b163e36f9c960c6fea92168e88201be98dcceaef-r2.0/git/libfsobasics/fsobasics'
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/i686-linux/usr/bin/valac -C --basedir .. --vapidir ../vapi --pkg posix --pkg linux --pkg libnl-2.0 --pkg glib-2.0 --pkg gio-2.0 --header fsobasics.h --library fsobasics-2.0  asyncworker.vala inotifier.vala kobjectnotifier.vala libinitexit.vala logger.vala netlinknotifier.vala netlinkutils.vala overlay.vala process.vala smartkeyfile.vala syncasync.vala threading.vala types.vala utilities.vala
> > 	fsobasics/logger.vala:300.17-300.33: warning: unreachable code detected
> > 		              return "UNKNOWN";
> > 		              ^^^^^^^^^^^^^^^^^
> > 	fsobasics/smartkeyfile.vala:117.13-117.25: warning: unreachable code detected
> > 		          return false;
> > 		          ^^^^^^^^^^^^^
> > 	Compilation succeeded - 2 warning(s)
> > 	touch fsobasics.vala.stamp
> > 	make  all-am
> > 	make[3]: Entering directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/libfsobasics-1_0.9.10+gitr0+b163e36f9c960c6fea92168e88201be98dcceaef-r2.0/git/libfsobasics/fsobasics'
> > 		CC     asyncworker.lo
> > 		CC     inotifier.lo
> > 	inotifier.c: In function 'fso_framework_inotifier_construct':
> > 	inotifier.c:173:2: warning: passing argument 4 of 'g_hash_table_new_full' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/glib-2.0/glib/ghash.h:62:13: note: expected 'GDestroyNotify' but argument is of type 'void (*)(struct INotifyDelegateHolder *)'
> > 		CC     kobjectnotifier.lo
> > 	kobjectnotifier.c: In function 'fso_framework_base_kobject_notifier_construct':
> > 	kobjectnotifier.c:182:2: warning: passing argument 4 of 'g_hash_table_new_full' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/glib-2.0/glib/ghash.h:62:13: note: expected 'GDestroyNotify' but argument is of type 'void (*)(struct GList *)'
> > 	kobjectnotifier.c:183:2: warning: passing argument 4 of 'g_hash_table_new_full' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/glib-2.0/glib/ghash.h:62:13: note: expected 'GDestroyNotify' but argument is of type 'void (*)(struct GList *)'
> > 	kobjectnotifier.c:184:2: warning: passing argument 4 of 'g_hash_table_new_full' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/glib-2.0/glib/ghash.h:62:13: note: expected 'GDestroyNotify' but argument is of type 'void (*)(struct GList *)'
> > 	kobjectnotifier.c:188:52: warning: passing argument 2 of 'bind' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/sys/socket.h:115:12: note: expected 'const struct sockaddr *' but argument is of type 'struct sockaddr_nl *'
> > 		CC     libinitexit.lo
> > 		CC     logger.lo
> > 		CC     netlinknotifier.lo
> > 	netlinknotifier.c: In function 'fso_framework_base_netlink_notifier_construct':
> > 	netlinknotifier.c:206:2: warning: passing argument 4 of 'g_hash_table_new_full' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/glib-2.0/glib/ghash.h:62:13: note: expected 'GDestroyNotify' but argument is of type 'void (*)(struct GList *)'
> > 	netlinknotifier.c: In function '_lambda0_':
> > 	netlinknotifier.c:260:162: warning: assignment discards qualifiers from pointer target type
> > 	netlinknotifier.c: In function 'fso_framework_base_netlink_notifier_handleNetlinkMessage':
> > 	netlinknotifier.c:296:15: warning: assignment makes pointer from integer without a cast
> > 	netlinknotifier.c: In function 'fso_framework_base_netlink_notifier_handleMessage':
> > 	netlinknotifier.c:344:56: warning: cast to pointer from integer of different size
> > 	netlinknotifier.c: In function '_fso_framework_base_netlink_notifier_addMatch':
> > 	netlinknotifier.c:366:56: warning: cast to pointer from integer of different size
> > 	netlinknotifier.c:372:41: warning: cast to pointer from integer of different size
> > 		CC     netlinkutils.lo
> > 		CC     overlay.lo
> > 		CC     process.lo
> > 		CC     smartkeyfile.lo
> > 		CC     syncasync.lo
> > 		CC     threading.lo
> > 	threading.c: In function 'fso_framework_threading_callDelegateOnMainThread':
> > 	threading.c:451:4: warning: passing argument 4 of 'g_idle_add_full' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/glib-2.0/glib/gmain.h:291:10: note: expected 'GDestroyNotify' but argument is of type 'void (*)(struct Block3Data *)'
> > 	threading.c:455:4: warning: passing argument 4 of 'g_idle_add_full' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/glib-2.0/glib/gmain.h:291:10: note: expected 'GDestroyNotify' but argument is of type 'void (*)(struct Block3Data *)'
> > 	threading.c:458:4: warning: passing argument 4 of 'g_idle_add_full' from incompatible pointer type
> > 	/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/glib-2.0/glib/gmain.h:291:10: note: expected 'GDestroyNotify' but argument is of type 'void (*)(struct Block3Data *)'
> > 		CC     types.lo
> > 		CC     utilities.lo
> > 	utilities.c:35:22: fatal error: execinfo.h: No such file or directory
> > 	compilation terminated.
> > 	make[3]: *** [utilities.lo] Error 1
> > 	make[3]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/libfsobasics-1_0.9.10+gitr0+b163e36f9c960c6fea92168e88201be98dcceaef-r2.0/git/libfsobasics/fsobasics'
> > 	make[2]: *** [all] Error 2
> > 	make[2]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/libfsobasics-1_0.9.10+gitr0+b163e36f9c960c6fea92168e88201be98dcceaef-r2.0/git/libfsobasics/fsobasics'
> > 	make[1]: *** [all-recursive] Error 1
> > 	make[1]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/libfsobasics-1_0.9.10+gitr0+b163e36f9c960c6fea92168e88201be98dcceaef-r2.0/git/libfsobasics'
> > 	make: *** [all] Error 2
> > 	FATAL: oe_runmake failed
> > 	ERROR: Function do_compile failed
> > 
> > Does anyone have a clue on how that can be fixed.
> 
> `execinfo.h` is not available in uClibc and is a “GNUism” [2]. The
> dependency in in `linux.vapi` [3] and got included in [4].
> 
> Unfortunately I do not know how to exclude that. I guess Autotools
> should check if `execinfo.h` is available and only use it if it is. But
> I do not know how to do that. Michael, are those libraries intended to
> be used with uClibc?
> 
> If this is too much work, how can I exclude this recipe from
> console-image for minimal-uclibc?
> 
> 
> Thanks,
> 
> Paul
> 
> 
> > [1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-September/024097.html
> [2] https://bugs.gentoo.org/show_bug.cgi?id=146693#c2
> [3] http://git.freesmartphone.org/?p=cornucopia.git;a=blob;f=libfsobasics/vapi/linux.vapi
> [4] http://mail.gnome.org/archives/commits-list/2009-November/msg02423.html
Hi,

fso is quit untested with none GNU libcs and we partly depend on it. I
wrote a short patch which add a --enable-no-gnuism switch for configure,
but want to talk to Michael, before commiting it. Could you test it and
report more gnuism in our code? And is possible to get a backtrace with
uClibc which is not gnuism, but available in all none-GNU
implementations?

Regards Frederik


> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel


-- 
IRC: playya @ Freenode, Gimpnet
xmpp: playya@draugr.de
identi.ca: playya

[-- Attachment #1.2: fsobasics_no_gnuism.patch --]
[-- Type: text/x-diff, Size: 1950 bytes --]

diff --git a/libfsobasics/configure.ac b/libfsobasics/configure.ac
index ba06907..d9d4172 100644
--- a/libfsobasics/configure.ac
+++ b/libfsobasics/configure.ac
@@ -48,6 +48,12 @@ AC_ARG_ENABLE(debug,
   [debug="no"])
 AM_CONDITIONAL( [WANT_DEBUG], [test x"$debug" = x"yes"])
 
+AC_ARG_ENABLE(no_gnuism,
+  [  --enable-no-gnuism        Enable build for none GNU-libc (default=disabled)],
+  [no_gnuism=$enableval],
+  [no_gnuism="no"])
+AM_CONDITIONAL( [WANT_NO_GNUISM], [test x"$no_gnuism" = x"yes"])
+
 # git version
 GITV=`cat ../.git/refs/heads/master || echo "unknown"`
 AC_DEFINE_UNQUOTED([PACKAGE_GITV], ["${GITV}"], [git version])
diff --git a/libfsobasics/fsobasics/Makefile.am b/libfsobasics/fsobasics/Makefile.am
index 66a7cd7..0fc534a 100644
--- a/libfsobasics/fsobasics/Makefile.am
+++ b/libfsobasics/fsobasics/Makefile.am
@@ -23,6 +23,10 @@ VALAC_ARGS += -g -D DEBUG
 AM_CFLAGS += -ggdb -O0
 endif
 
+if WANT_NO_GNUISM
+VALAC_ARGS += -D NO_GNUISM
+endif
+
 BUILT_SOURCES = fsobasics.vala.stamp
 
 lib_LTLIBRARIES = \
diff --git a/libfsobasics/fsobasics/utilities.vala b/libfsobasics/fsobasics/utilities.vala
index 22d107d..6ed5fc8 100644
--- a/libfsobasics/fsobasics/utilities.vala
+++ b/libfsobasics/fsobasics/utilities.vala
@@ -420,6 +420,9 @@ namespace FsoFramework { namespace Utility {
     public string[] createBacktrace()
     {
         string[] result = new string[] { };
+#if NO_GNUISM
+        result += "Backtrace not support for none GNU libcs";
+#else
         void* buffer = malloc0( BACKTRACE_SIZE * sizeof(string) );
         var size = Linux.backtrace( buffer, BACKTRACE_SIZE );
         string[] symbols = Linux.backtrace_symbols( buffer, size );
@@ -429,6 +432,7 @@ namespace FsoFramework { namespace Utility {
             result += "%s\n".printf( symbols[i] );
         }
         result += "--- END BACKTRACE ---\n";
+#endif
         return result;
     }
 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

  reply	other threads:[~2010-09-21  5:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-11 18:01 minimal-uclibc: freesmartphone/libfsobasics_git.bb: do_compile() failed: utilities.c:35:22: fatal error: execinfo.h: No such file or directory Paul Menzel
2010-09-20 22:17 ` Paul Menzel
2010-09-21  5:17   ` Frederik Sdun [this message]
2010-09-21  5:42     ` Khem Raj
2010-09-21  7:35       ` Frederik Sdun
2010-09-21 15:46         ` Khem Raj
2010-09-22  9:11     ` minimal-uclibc: freesmartphone/libfsobasics_git.bb: do_compile() failed: utilities.c:35:25: error: sys/eventfd.h: No such file or directory (was: utilities.c:35:22: fatal error: execinfo.h: No such file or directory) Paul Menzel
2010-09-22 14:52       ` Khem Raj
2010-09-21 20:39   ` minimal-uclibc: freesmartphone/libfsobasics_git.bb: do_compile() failed: utilities.c:35:22: fatal error: execinfo.h: No such file or directory Dr. Michael Lauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100921051747.GA3989@thinky \
    --to=frederik.sdun@googlemail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox