From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] Busybox build fails on raspberrypi defconfig
Date: Thu, 18 Jun 2015 11:02:11 +0200 [thread overview]
Message-ID: <20150618110211.2bc21e04@free-electrons.com> (raw)
In-Reply-To: <CAJtjsKaR=yJDgzzC0JupB7DJYvuxvOwvU2Ziv_6eU1-a8fhyFg@mail.gmail.com>
Hello,
On Thu, 18 Jun 2015 10:54:23 +0200, Johan Oudinet wrote:
> As I don't know how to do better than make clean and make defconfig to
> rebuild from scratch, I've cloned the repository elsewhere.
> Indeed, this time, it successfully compiles.
>
> I still don't know why it didn't compile before, as I'm pretty sure
> the .config was using uClibc-ng configuration file (because I've
> manually changed it to uClibc-0.9.33.config when I reverted to uClibc
> 0.9.33). At least, I know the problem is not in the git master branch.
I told you in my previous e-mail, but maybe it wasn't clear. It's due
to a kconfig limitation/bug. Basically, here is the scenario:
* You start from a fresh configuration.
* You select uClibc 0.9.33, and exit menuconfig.
* Automatically, the file package/uclibc/uClibc-0.9.33.config is used
as the uclibc configuration file (option BR2_UCLIBC_CONFIG)
* Now, you go back to menuconfig, and you decide to switch to
uClibc-ng.
-> And now, instead of automatically switching to
package/uclibc/uClibc-ng.config, package/uclibc/uClibc-0.9.33.config is
kept as the value of BR2_UCLIBC_CONFIG. This is the limitation of
kconfig I'm talking about above.
See the log below:
$ make distclean
$ make menuconfig
[ no changes, so uClibc 0.9.33 is chosen, at least as long as you are
using Buildroot 2015.05 or older ]
$ grep -E "(BR2_UCLIBC_VERSION|BR2_UCLIBC_CONFIG)" .config
[...]
BR2_UCLIBC_VERSION_0_9_33=y
# BR2_UCLIBC_VERSION_NG is not set
[...]
BR2_UCLIBC_CONFIG="package/uclibc/uClibc-0.9.33.config"
$ make menuconfig
[ switch to uClibc-ng, save and exit ]
$ grep -E "(BR2_UCLIBC_VERSION|BR2_UCLIBC_CONFIG)" .config
[...]
# BR2_UCLIBC_VERSION_0_9_33 is not set
BR2_UCLIBC_VERSION_NG=y
[...]
BR2_UCLIBC_CONFIG="package/uclibc/uClibc-0.9.33.config"
So you end up doing a build of uClibc-ng, but using the uClibc 0.9.33
configuration file, which does not have UTMP=y (because that option did
not exist back in uClibc 0.9.33). So from the point of view of
uClibc-ng, UTMP support is disabled.
One way we could get around this problem is by making the
BR2_UCLIBC_CONFIG option visible only if the user selects another
option like "Use a custom uClibc configuration file".
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2015-06-18 9:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-17 13:27 [Buildroot] Busybox build fails on raspberrypi defconfig Johan Oudinet
2015-06-17 14:02 ` Johan Oudinet
2015-06-17 14:41 ` Thomas Petazzoni
2015-06-18 8:54 ` Johan Oudinet
2015-06-18 9:02 ` Thomas Petazzoni [this message]
2015-06-18 16:08 ` Arnout Vandecappelle
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=20150618110211.2bc21e04@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.