* Paul Menzel <[email protected]> [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
> [email protected]
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel


-- 
IRC: playya @ Freenode, Gimpnet
xmpp: [email protected]
identi.ca: playya
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: signature.asc
Description: Digital signature

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to