Topic: build error for fakeroot

I'm following the instructions on http://wiki.chumby.com/index.php/Buildi … %28Beta%29 running Ubuntu 10.10. The build seemed to be going well for a couple hours but then failed with

ERROR: The checksums for "/opt/chumby/chumby-oe/sources/fakeroot_1.9.6.tar.gz" did not match.
  MD5: expected "9441c981bfd4e521abcd5d93385f71d8", got "fc511ef0e6cc8b304360eeaf3f821558"
  SHA256: expected "06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da", got "f5fa77c6ac68ab4aa5ddb5b9fa4a100f4a56b8f635210806a1b4f3c7a9e62cdd"

NOTE: package fakeroot-native-1.9.6-r3: task Fetch failed: ftp://ftp.debian.org/debian/pool/main/f … 9.6.tar.gz checksum mismatch.: Failed
ERROR: Function 'Fetch failed: ftp://ftp.debian.org/debian/pool/main/f … 9.6.tar.gz checksum mismatch.' failed
ERROR: Task 83 (/opt/chumby/chumby-oe/openembedded/recipes/fakeroot/fakeroot-native_1.9.6.bb, do_fetch) failed with exit code '1'
Waiting for 2 active tasks to finish:
0: udev-171-r2 do_patch (pid 18208)
1: eglibc-2.12-r21.8+svnr13230 do_install (pid 18174)
Waiting for 1 active tasks to finish:
0: eglibc-2.12-r21.8+svnr13230 do_install (pid 18174)
NOTE: package udev-171-r2: task do_patch: Succeeded
NOTE: package eglibc-2.12-r21.8+svnr13230: task do_install: Succeeded
ERROR: '/opt/chumby/chumby-oe/openembedded/recipes/fakeroot/fakeroot-native_1.9.6.bb' failed

I've been unable to figure out how to fix this. Hoping someone here can help.

Thanks

Joe

Re: build error for fakeroot

I think the problem is that those instructions do not lock down the version of openembedded and the latest version is incompatible with the chumby receipes.  This step in the instructions:

git clone git://git.openembedded.org/openembedded

pulls the latest version of the OE sources.  You can lock that down to the same version that used in the VMWare images which do work by providing the SHA as described in this post.

If you do that, you will probably encounter a new issue raised in this discussion due to a recent change in one of the dependencies (binutils) that the OE build pulls in.  The solution for that problem is to patch the bb file in the OE distribution along the lines of this patch.  (Note that this patch is still being verified, it may not be a complete solution.)

To try to keep a lid on all of this complexity I've created a github project.  It ensures you are using known-working versions of bitbake and OE, and (as of a few minutes ago) applies the patch to accommodate the binutils dependency change.

One more comment; the OE build is known to work on Debian, but I've heard that the perl-native_5.10.1.bb recipe fails on Ubuntu.  I have not verified this myself.  I ended up building a dedicated Debian box just for building CHB kernels after wasting many days trying to get OE and BitBake to work under FreeBSD.

Re: build error for fakeroot

Well bugger it.  It turns out my post above missed the root cause of your error.  I just stumbled upon the same problem.  It turns out that the required fakeroot tar file is missing from the source ftp site.  You can see from here that versions of fakeroot older than 1.11 are no longer available.

To resolve this we will need to update the recipes to use a later version of fakeroot like these guys did.

As a workaround I think if you locate a version of fakeroot_1.9.6.tar.gz (I have a copy) and save it to the sources directory, the build will use that.

Re: build error for fakeroot

Thanks, I redid it and came up with the same result. I'll look for the update.

I may be going at this the wrong way anyhow. I'm just trying to get a setup that I can add stuff to. I fiddled with the image as described in http://www.ladyada.net/learn/chumby/microsd.html and modified /etc/init.d/rc to add a hook to my own startup script in /media/card. That seems to be working for now. Probably a better way though.

Anyway, thanks again for your response, I'll watch for the addition.

Joe

Re: build error for fakeroot

I've updated the chumby-oe scripts to replace fakeroot 1.9.6 with version 1.15.1.  This is the version that is used in the latest OpenEmbedded release, so it should be relatively safe.

This should get things building again, but it's not entirely satisfactory.  A better solution would be to figure out why boot images built with recent versions of OE hang the CHB.  If we could find and fix that little problem, we could move with OE progress instead of being stuck in the past.

Re: build error for fakeroot

guyc wrote:

I've updated the chumby-oe scripts to replace fakeroot 1.9.6 with version 1.15.1.  This is the version that is used in the latest OpenEmbedded release, so it should be relatively safe.

This should get things building again, but it's not entirely satisfactory.  A better solution would be to figure out why boot images built with recent versions of OE hang the CHB.  If we could find and fix that little problem, we could move with OE progress instead of being stuck in the past.


I built a vm with a minimum install am running the github project, but I can't get the build to finish.  It seems to be the same problem as above, but I am new to this and wasn't sure if I was missing something.  I would be gratefull for any help.  Thanks

ERROR: The checksums for "/home/robert/chumby-oe/sources/fakeroot_1.15.1.orig.tar.bz2" did not match.
  MD5: expected "248c408b1e06e776c5739871b49bd968", got "dfddb3ed600abc7a9ea42b2c37d26c53"
  SHA256: expected "45fbb9ad611f33224cc09954963dde563cc80fe58c76feb25b6e98550b81729a", got "fb62f73342105bcd8ecc4f492ded568120b64196b179ebfedf96ab2711bd524b"

NOTE: package fakeroot-native-1.15.1-r0.0: task Fetch failed: ftp://ftp.debian.org/debian/pool/main/f … ig.tar.bz2 checksum mismatch.: Failed
ERROR: Function 'Fetch failed: ftp://ftp.debian.org/debian/pool/main/f … ig.tar.bz2 checksum mismatch.' failed
ERROR: Task 83 (/home/robert/chumby-oe/openembedded/recipes/fakeroot/fakeroot-native_1.15.1.bb, do_fetch) failed with exit code '1'
Waiting for 2 active tasks to finish:
0: gcc-cross-4.5-r35.1+svnr170880 do_configure (pid 1283)
1: eglibc-2.12-r21.8+svnr12323 do_package (pid 1284)
Waiting for 1 active tasks to finish:
0: eglibc-2.12-r21.8+svnr12323 do_package (pid 1284)
NOTE: package gcc-cross-4.5-r35.1+svnr170880: task do_configure: Succeeded
NOTE: package eglibc-2.12-r21.8+svnr12323: task do_package: Succeeded
ERROR: '/home/robert/chumby-oe/openembedded/recipes/fakeroot/fakeroot-native_1.15.1.bb' failed

Re: build error for fakeroot

Bugger.  I'm not near a dev machine to do a detailed analysis, but you can probably get past this (and onto the looong build phase) by changing the checksum in (from memory) chumby-oe/openembedded/recipes/fakeroot/fakeroot_1.15.1.bb to the values you are actually getting. Just find the "expected" values in the file and replace them with the "got" values from your error message.  Worth a try.

Re: build error for fakeroot

The debian sources were updated to use fakeroot_1.18.2.orig.tar.bz2, the fakeroot_1.14.5.orig.tar.bz2 is no longer directly accessible.  See http://cgit.openembedded.org/openembedd … aintenance for a possible solution.

Thanks for the git repo guyc! I managed to build everything a couple of weeks ago before the updated fakeroot package.

Re: build error for fakeroot

Thanks guyc.  Changing the values worked.  Unfortunatly the build failed on the util-linux-ng package.  The location at kernel.org does not exist anymore.  I think I will have some work ahead of me on this.  I remember when I used gentoo, that it was always tricky getting things to work properly.  Once they did everything was ok (for a while).

Re: build error for fakeroot

Well I put util-linux-ng  in the sources directory, but as the build progressed I received an error:
bzip2: /home/robert/chumby-oe/sources/fakeroot_1.15.1.orig.tar.bz2 is not a bzip2 file
I tried to located this file for download, but have had no success.  Does anyone know where I could obtain the file?

Re: build error for fakeroot

I ran into the same problem with fakeroot.
The folowing suggestion from
    http://comments.gmane.org/gmane.comp.ha … dded/49470
fixed the issue for me:

Remove the line
      ${DEBIAN_MIRROR}/main   http://snapshot.debian.net/archive/pool
from  mirrors.bbclass

Re: build error for fakeroot

So far none of these so called "fixes" have worked for me. And every time I found a fakeroot_1.9.6.tar.gz file
the damn thing was corrupt and could not be opened.
After spending three days chasing patches or fixes I'm seriously thinking of trying to find a different OS.
-dan

Re: build error for fakeroot

I feel your pain; it took me a lot of late nights and hair pulling to get OE to build me a kernel.

I've not found any promising alternatives to the OE toolchain, so if you do find one, please post something in this forum.  I'd certainly be interested.

And of course if you do decided to push on through with OE, there are people here who will provide assistance.

Re: build error for fakeroot

I've rolled this fix into the chumby-oe github project.  I also took note of the issue dhockey raised with github access and adjusted the README instructions to be more correct and more complete.

I decided I wasn't willing to creating any more patch files, so I've adopted a different approach for fixes: I've cloned the openembedded repository and created a chumby-oe branch where we can apply fixes.  Much better solution.

So in summary I have:

  • Created a fork of the openembedded repository where we can apply fixes,

  • Created a branch on that fork and applied the fakeroot fixes including the mirror fix provided by tanioklyce,

  • Removed the patches previously added to address the fakeroot issue,

  • Updated the instructions in the README to remove steps with implied setup requirements (like github keys and /etc/sudoers).

I'm running a full end-to-end test now, starting with a clean Debian install.  I think it has passed the point where fakeroot was killing it with no problems.

If you have an old version of the repository checked out, be aware that git wont automatically update the openembedded submodule when you sync up.  You can force a reinitialization of the submodules like this:

cd ~/chumby-oe/setup
make submodules

15 (edited by guyc 2012-01-04 20:34:02)

Re: build error for fakeroot

There is another issue that doesn't show up until many hours into the build, when fetching the bluez sources at about task 3740 of 5308.

ERROR: The checksums for "/home/guy/chumby-oe/sources/bluez-4.89.tar.gz" did not match.
  MD5: expected "67fd9ad2852ce01f01b16ddd2336d1ea", got "bb0a5864b16c911993d2bceb839edb3c"
  SHA256: expected "922e1a9c894c8667fc92f536c26553e8f094a676e96fb409bc384dd70f5ddde7", got "b493530e0cf6798e578a6ce322f513d2ab9a9c1d1987e93acb96974e86b52f1e"

NOTE: package bluez4-4.89-r8.0: task Fetch failed: http://www.kernel.org/pub/linux/bluetooth/bluez-4.89.tar.gz checksum mismatch.: Failed
ERROR: Function 'Fetch failed: http://www.kernel.org/pub/linux/bluetooth/bluez-4.89.tar.gz checksum mismatch.' failed
ERROR: Task 648 (/home/guy/chumby-oe/openembedded/recipes/bluez/bluez4_4.89.bb, do_fetch) failed with exit code '1'
Waiting for 2 active tasks to finish:
0: orbit2-2.14.17-r0 do_configure (pid 22693)
1: linux-falconwing-2.6.28.1.0.3454-r0 do_fetch (pid 23885)
Waiting for 1 active tasks to finish:
0: linux-falconwing-2.6.28.1.0.3454-r0 do_fetch (pid 23885)
NOTE: package orbit2-2.14.17-r0: task do_configure: Succeeded
WARNING: /home/guy/chumby-oe/bitbake/lib/bb/fetch/git.py:191: DeprecationWarning: Call to deprecated function bb.mkdirhier: Please use bb.utils.mkdirhier instead.
  bb.mkdirhier(codir)

Turns out that the source file at http://www.kernel.org/pub/linux/bluetoo … .89.tar.gz has indeed changed checksums.  I compared the contents of the original and new files, and the contents are identical.  In fact the only difference between the archive files is bytes 5 through 8 in the gz header, which encode the archive's modification time.  The gzip RFC says these bytes should encode the most recent modification time of the original file being compressed.  The timestamps on each of the individual files do not appear to have changed, so that seems spurious.

I see the gumstix distribution is similarly affected.

To resolve this I've updated the checksums in the bluez recipe.

Finished the end-to-end test, the project now builds cleanly.