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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox