| Submitter | Khem Raj |
|---|---|
| Date | June 2, 2011, 7:45 p.m. |
| Message ID | <1307043926-18177-2-git-send-email-raj.khem@gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/5343/ |
| State | New, archived |
| Headers | show |
Comments
On 06/02/2011 12:45 PM, Khem Raj wrote: > util-linux 2.19 needs this patch to successfully > compile on uclibc systems. This is a bug in util-linux > that goes unnoticed on eglibc builds. > > Signed-off-by: Khem Raj<raj.khem@gmail.com> > --- > .../uclibc-__progname-conflict.patch | 31 ++++++++++++++++++++ > meta/recipes-core/util-linux/util-linux_2.19.1.bb | 4 ++- > 2 files changed, 34 insertions(+), 1 deletions(-) > create mode 100644 meta/recipes-core/util-linux/util-linux-2.19.1/uclibc-__progname-conflict.patch > > diff --git a/meta/recipes-core/util-linux/util-linux-2.19.1/uclibc-__progname-conflict.patch b/meta/recipes-core/util-linux/util-linux-2.19.1/uclibc-__progname-conflict.patch > new file mode 100644 > index 0000000..45826b1 > --- /dev/null > +++ b/meta/recipes-core/util-linux/util-linux-2.19.1/uclibc-__progname-conflict.patch > @@ -0,0 +1,31 @@ > +configure should include errno.h instead of argp.h when > +checking for presence of program_invocation_short_name > +uclibc defines this to be const char* unlike util-linux-ng > +which defines this to be char* so this error goes unnoticed > +on glibc/eglibc systems. > + > +here is the error it fixes > + > +in file included from mountP.h:14:0, > + from cache.c:29: > +/home/kraj/work/slugos/build/tmp-slugos-uclibc/sysroots/nslu2le/usr/include/errno.h:55:46: error: conflicting types for '__progname' > +../../../include/c.h:118:14: note: previous declaration of '__progname' was here > +make[3]: *** [cache.lo] Error 1 > + > + > +Signed-off-by: Khem Raj<raj.khem@gmail.com> > + > +Upstream-Status: Pending > +Index: util-linux-2.19.1/configure.ac > +=================================================================== > +--- util-linux-2.19.1.orig/configure.ac > ++++ util-linux-2.19.1/configure.ac > +@@ -250,7 +250,7 @@ esac > + > + > + AC_MSG_CHECKING(whether program_invocation_short_name is defined) > +-AC_TRY_COMPILE([#include<argp.h>], > ++AC_TRY_COMPILE([#include<errno.h>], > + [program_invocation_short_name = "test";], > + AC_DEFINE(HAVE_PROGRAM_INVOCATION_SHORT_NAME, 1, > + [Define if program_invocation_short_name is defined]) > diff --git a/meta/recipes-core/util-linux/util-linux_2.19.1.bb b/meta/recipes-core/util-linux/util-linux_2.19.1.bb > index 7fe7497..8067ab5 100644 > --- a/meta/recipes-core/util-linux/util-linux_2.19.1.bb > +++ b/meta/recipes-core/util-linux/util-linux_2.19.1.bb > @@ -6,7 +6,9 @@ require util-linux.inc > LICENSE_util-linux-lscpu = "GPLv3+" > > SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \ > - file://util-linux-ng-2.16-mount_lock_path.patch" > + file://util-linux-ng-2.16-mount_lock_path.patch \ > + file://uclibc-__progname-conflict.patch \ > +" > > SRC_URI[md5sum] = "3eab06f05163dfa65479c44e5231932c" > SRC_URI[sha256sum] = "d3eac4afcc687b3ae1ffedcab2dc12df84c7ba7045cce31386d2b7040a011c7d" Merged into OE-Core Thanks Sau!
Patch
diff --git a/meta/recipes-core/util-linux/util-linux-2.19.1/uclibc-__progname-conflict.patch b/meta/recipes-core/util-linux/util-linux-2.19.1/uclibc-__progname-conflict.patch new file mode 100644 index 0000000..45826b1 --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux-2.19.1/uclibc-__progname-conflict.patch @@ -0,0 +1,31 @@ +configure should include errno.h instead of argp.h when +checking for presence of program_invocation_short_name +uclibc defines this to be const char* unlike util-linux-ng +which defines this to be char* so this error goes unnoticed +on glibc/eglibc systems. + +here is the error it fixes + +in file included from mountP.h:14:0, + from cache.c:29: +/home/kraj/work/slugos/build/tmp-slugos-uclibc/sysroots/nslu2le/usr/include/errno.h:55:46: error: conflicting types for '__progname' +../../../include/c.h:118:14: note: previous declaration of '__progname' was here +make[3]: *** [cache.lo] Error 1 + + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +Index: util-linux-2.19.1/configure.ac +=================================================================== +--- util-linux-2.19.1.orig/configure.ac ++++ util-linux-2.19.1/configure.ac +@@ -250,7 +250,7 @@ esac + + + AC_MSG_CHECKING(whether program_invocation_short_name is defined) +-AC_TRY_COMPILE([#include <argp.h>], ++AC_TRY_COMPILE([#include <errno.h>], + [program_invocation_short_name = "test";], + AC_DEFINE(HAVE_PROGRAM_INVOCATION_SHORT_NAME, 1, + [Define if program_invocation_short_name is defined]) diff --git a/meta/recipes-core/util-linux/util-linux_2.19.1.bb b/meta/recipes-core/util-linux/util-linux_2.19.1.bb index 7fe7497..8067ab5 100644 --- a/meta/recipes-core/util-linux/util-linux_2.19.1.bb +++ b/meta/recipes-core/util-linux/util-linux_2.19.1.bb @@ -6,7 +6,9 @@ require util-linux.inc LICENSE_util-linux-lscpu = "GPLv3+" SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \ - file://util-linux-ng-2.16-mount_lock_path.patch" + file://util-linux-ng-2.16-mount_lock_path.patch \ + file://uclibc-__progname-conflict.patch \ +" SRC_URI[md5sum] = "3eab06f05163dfa65479c44e5231932c" SRC_URI[sha256sum] = "d3eac4afcc687b3ae1ffedcab2dc12df84c7ba7045cce31386d2b7040a011c7d"
util-linux 2.19 needs this patch to successfully compile on uclibc systems. This is a bug in util-linux that goes unnoticed on eglibc builds. Signed-off-by: Khem Raj <raj.khem@gmail.com> --- .../uclibc-__progname-conflict.patch | 31 ++++++++++++++++++++ meta/recipes-core/util-linux/util-linux_2.19.1.bb | 4 ++- 2 files changed, 34 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-core/util-linux/util-linux-2.19.1/uclibc-__progname-conflict.patch