[OE-core] [PATCH V3] util-linux: replace += with _append to EXTRA_OECONF_class-native

Ming Liu ming.liu at windriver.com
Thu Jul 25 10:11:01 UTC 2013


On 07/22/2013 11:48 AM, Saul Wold wrote:
> On 07/17/2013 06:54 PM, Ming Liu wrote:
>> The native/nativesdk overrides of EXTRA_OECONF should take effect before
>> append operator, otherwise, it will cause EXTRA_OECONF be overridden 
>> instead
>> of be appended at native/nativesdk build time.
>>
>> Signed-off-by: Ming Liu <ming.liu at windriver.com>
>> ---
>>   meta/recipes-core/util-linux/util-linux_2.23.1.bb |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/recipes-core/util-linux/util-linux_2.23.1.bb 
>> b/meta/recipes-core/util-linux/util-linux_2.23.1.bb
>> index 12f5021..3040476 100644
>> --- a/meta/recipes-core/util-linux/util-linux_2.23.1.bb
>> +++ b/meta/recipes-core/util-linux/util-linux_2.23.1.bb
>> @@ -18,5 +18,5 @@ SRC_URI[md5sum] = "6741eeaff93ff5a6bacdd3816bdd87c4"
>>   SRC_URI[sha256sum] = 
>> "ad4a7831d7b27d0172996fd343e809716c2403b32a94e15194d8ea797223c4af"
>>
>>   CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=as"
>> -EXTRA_OECONF_class-native += "--disable-fallocate 
>> --disable-use-tty-group"
>> -EXTRA_OECONF_class-nativesdk += "--disable-fallocate 
>> --disable-use-tty-group"
>> +EXTRA_OECONF_append_class-native = " --disable-fallocate 
>> --disable-use-tty-group"
>> +EXTRA_OECONF_append_class-nativesdk = " --disable-fallocate 
>> --disable-use-tty-group"
>>
>
> While this seems correct, it is causing some down stream issues with 
> e2fsprogs-native and not finding the uuid library
Hi, Saul:

I did some investigations about this issue, it should be a regression 
introduced by commit 91c0f9e3: util-linux: move libraries to 
base_libdir. It tried to transfer "--libdir=${base_libdir}" to 
EXTRA_OECONF at configure status, which conflicted with following code 
in configure.ac:
.........
case $libdir in
  ${exec_prefix}/* | ${prefix}/* | /usr/*)
     usrlib_execdir=$libdir ;;
  *)
     usrlib_execdir='${exec_prefix}'$libdir ;;
esac
AC_SUBST([usrlib_execdir])
........

It resulted a invalid usrlib_execdir, and therefore caused libuuid.so 
link unreachable. This would make packages relies on uuid fail to 
compile, like e2fsprogs.

Anyway, it could be fixed by appending "--prefix=${base_prefix} 
--exec_prefix=${base_prefix}" to EXTRA_OECONF and we don't need to worry 
it, however, things go to more complicated after applied 91c0f9e3 that 
it also breaks pkgconfig, because all *.pc go to ${base_libdir} instead 
of  ${libdir} though pkg-config looks for files in explicitly fixed 
directories set by PKG_CONFIG_PATH, which in this case is: 
${STAGING_DATADIR}/pkgconfig${EXTRA_NATIVE_PKGCONFIG_PATH}, that finally 
causes other packages fail to detect libuuid by pkg-config.

Two approaches to fix this pkg-config failure, first, we could move *.pc 
to ${libdir} at do_intall stage, and the other, modify PKG_CONFIG_PATH, 
adding ${libdir}/pkgconfig into it. Which one do you prefer? Or we could 
just revert commit 91c0f9e3?

the best,
thank you
>
>>  Enabling testio debugging by default
>> | checking for x86_64-linux-pkg-config... no
>> | checking for pkg-config... 
>> /srv/ssd/sgw/builds/world/tmp/sysroots/x86_64-linux/usr/bin/pkg-config
>> | checking pkg-config is at least version 0.9.0... yes
>> | checking for uuid_generate in -luuid... no
>> | configure: error: external uuid library not found
>> | Configure failed. The contents of all config.log files follows to 
>> aid debugging
>> | ERROR: oe_runconf failed
>
> Can you please research this further.
>
> Thanks
>     Sau!
>
>
>
>




More information about the Openembedded-core mailing list