crops / poky-container

A container image that is able to run bitbake/poky. It has helpers to create users and groups within the container. This is so that the output generated in the container will be readable by the user on the host.
GNU General Public License v2.0
206 stars 94 forks source link

Poky build on macOS fails to patch mpfe #16

Open rwbr opened 7 years ago

rwbr commented 7 years ago

macOS 10.12..6 Docker for Mac version 17.06.0-ce, build 02c1d87 Poky path krogoth

Following your instructions the build stops at the mpfr package

ERROR: mpfr-native-3.1.3-r0 do_patch: [Errno 20] Not a directory
ERROR: mpfr-native-3.1.3-r0 do_patch: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /workdir/build/tmp/work/x86_64-linux/mpfr-native/3.1.3-r0/temp/log.do_patch.113
ERROR: Task 930 (virtual:native:/workdir/meta/recipes-support/mpfr/mpfr_3.1.3.bb, do_patch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 87 tasks of which 85 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
rwbr commented 7 years ago
cat /workdir/build/tmp/work/x86_64-linux/mpfr-native/3.1.3-r0/temp/log.do_patch.177
DEBUG: Executing python function do_patch
DEBUG: Executing python function patch_do_patch
DEBUG: Searching for long-long-thumb.patch in paths:
    /workdir/meta/recipes-support/mpfr/mpfr-3.1.3/poky
    /workdir/meta/recipes-support/mpfr/mpfr/poky
    /workdir/meta/recipes-support/mpfr/files/poky
    /workdir/meta/recipes-support/mpfr/mpfr-3.1.3/
    /workdir/meta/recipes-support/mpfr/mpfr/
    /workdir/meta/recipes-support/mpfr/files/
    /workdir/meta/recipes-support/mpfr/mpfr-3.1.3/x86-64
    /workdir/meta/recipes-support/mpfr/mpfr/x86-64
    /workdir/meta/recipes-support/mpfr/files/x86-64
    /workdir/meta/recipes-support/mpfr/mpfr-3.1.3/
    /workdir/meta/recipes-support/mpfr/mpfr/
    /workdir/meta/recipes-support/mpfr/files/
NOTE: Applying patch 'long-long-thumb.patch' (../meta/recipes-support/mpfr/mpfr-3.1.3/long-long-thumb.patch)
ERROR: [Errno 20] Not a directory
DEBUG: Python function patch_do_patch finished
DEBUG: Python function do_patch finished
ERROR: Function failed: patch_do_patch
btaczala commented 5 years ago

I don't know if I'm necrobumping this, but the solution might be helpful. OS X uses a case insensitive fs (HFS+, APFS by default are case insensitive), which causes this issue. This lead for oe devs to introduce a patch to detect case stupid file systems (link: http://lists.openembedded.org/pipermail/openembedded-commits/2017-July/208737.html) General suggestions is: create additional filesystem, case sensitive and mount that to docker container

madhavajay commented 4 years ago

Easiest solution is just to use the volume, since the volume will be created in the linux VM.

For example:

$ docker volume create yocto
$ docker run --rm -it -v yocto:/workdir -v `pwd`/workdir:/home/yoctouser/workdir crops/poky

The idea being that the yocto volume gets mounted to /workdir inside the container, here you can download code and run / build it. Then the current working directory on your host will have a folder called workdir mounted through to the home user folder and you can copy files back and forth if you need to get your binaries out or other files in.

moto-timo commented 2 years ago

https://github.com/crops/docker-win-mac-docs/wiki/Mac-Instructions#create-and-run-a-samba-container