问题
I'm trying to build a custom kernel image for my PhidgetSBC but I'm getting a failure during the build:
bluez 4.96 Extracting
bluez 4.96 Patching package/bluez
for file in config.guess config.sub; do for i in $(find /home/kerubu/buildroot_phidgetsbc/new/buildroot-phidgetsbc_1.0.4.20111028/output/build/bluez-4.96 -name $file); do cp package/gnuconfig/$file $i; done; done
Patching libtool
Applying buildroot-libtool.patch using plaintext: patching file ltmain.sh
Hunk #1 FAILED at 273.
Hunk #2 succeeded at 5412 (offset 3005 lines).
Hunk #3 FAILED at 2551.
Hunk #4 FAILED at 2895.
Hunk #5 succeeded at 8058 with fuzz 1 (offset 2446 lines).
Hunk #6 FAILED at 5937.
4 out of 6 hunks FAILED -- saving rejects to file ltmain.sh.rej
Patch failed! Please fix buildroot-libtool.patch!
make: * [/home/kerubu/buildroot_phidgetsbc/new/buildroot-phidgetsbc_1.0.4.20111028/output/build/bluez-4.96/.stamp_patched] Error 1
I'm not sure how to proceed from here. Does anyone have any advice?
回答1:
Yeah, you use an old version of Buildroot in which we only had a patch against libtool 1.5, but your version of Bluez probably uses libtool 2.2. As a quick workaround, you can try to add the following line to the bluez .mk file :
BLUEZ_LIBTOOL_PATCH = NO
which will tell Buildroot to not apply the libtool patch.
However, the libtool handling has been improved since quite some time in Buildroot, so it's a bit of shame to not take advantage of the newer Buildroot releases.
回答2:
It looks like the patch and 'ltmain.sh' are not in sync. There's a couple ways this can happen. One is that 'autoreconf -f' has been invoked and the ltmain.sh that is copied down is not compatible with the patch. If you can at least remove the -f argument from autoreconf, it shouldn't rewrite it.
来源:https://stackoverflow.com/questions/8142685/buildroot-applying-a-patch-failed