Hello, I have been doing builds using a Docker setup on a VMware ESXi 6.5 virtual machine running Ubuntu 18.04 for the past year. I have been asked to move to building on a VM in Azure. I created a VM in Azure using the Ubuntu 18.04 image from Canonical. When I try to do the same build in Azure, I get the following error messages:
=== Start ERROR messages === ERROR: docker-base-image-1.0-r0 do_image_wic: Function failed: do_image_wic (log file is located at /home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/temp/log.do_image_wic.44033) ERROR: Logfile of failure stored in: /home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/temp/log.do_image_wic.44033 | OSError: [Errno 22] Invalid argument | wic.filemap.Error: cannot get block size for '/home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/deploy-foo-image-complete/foo-intel-corei7-64-0.0.13/tmp.wic.5lmon88k/boot.img': [Errno 22] Invalid argument | ERROR: Function failed: do_image_wic (log file is located at /home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/temp/log.do_image_wic.44033) ERROR: Task (/home/blah/meta-stryker/common/recipes-common/images/foo.bb:do_image_wic) failed with exit code '1' Summary: There was 1 ERROR message shown, returning a non-zero exit code. ERROR: Ext4 filesystem name (/home/blah/build-0.0.13/tmp-glibc/deploy/images/intel-corei7-64/foo-intel-corei7-64-0.0.13.rootfs.ext4) does not exist. === End ERROR messages === The log.do_image_wic.44033 has the following stack trace. === Start log.do_image_wic.44033 stack trace === DEBUG: Python function extend_recipe_sysroot finished DEBUG: Executing shell function do_image_wic INFO: Creating image(s)... WARNING: overhead-factor was specified, but size was not, so bitbake variables will be used for the size. In this case both IMAGE_OVERHEAD_FACTOR and --overhead-factor will be applied Traceback (most recent call last): File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 97, in __init__ self.block_size = get_block_size(self._f_image) File "/home/bruce/oe-core/scripts/lib/wic/filemap.py", line 40, in get_block_size binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0)) OSError: [Errno 22] Invalid argument During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/blah/oe-core/scripts/wic", line 534, in <module> sys.exit(main(sys.argv[1:])) File "/home/blah/oe-core/scripts/wic", line 529, in main return hlp.invoke_subcommand(args, parser, hlp.wic_help_usage, subcommands) File "/home/blah/oe-core/scripts/lib/wic/help.py", line 98, in invoke_subcommand subcmd[0](args, usage) File "/home/blah/oe-core/scripts/wic", line 234, in wic_create_subcommand native_sysroot, options) File "/home/blah/oe-core/scripts/lib/wic/engine.py", line 202, in wic_create plugin.do_create() File "/home/blah/oe-core/scripts/lib/wic/plugins/imager/direct.py", line 101, in do_create self.assemble() File "/home/blah/oe-core/scripts/lib/wic/plugins/imager/direct.py", line 218, in assemble self._image.assemble() File "/home/blah/oe-core/scripts/lib/wic/plugins/imager/direct.py", line 605, in assemble sparse_copy(source, self.path, seek=part.start * self.sector_size) File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 552, in sparse_copy fmap = api(src_fname) File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 534, in filemap return FilemapFiemap(image, log) File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 352, in __init__ _FilemapBase.__init__(self, image, log) File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 100, in __init__ % (self._image_path, err)) wic.filemap.Error: cannot get block size for '/home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/deploy-foo-image-complete/foo-intel-corei7-64-0.0.13/tmp.wic.5lmon88k/boot.img': [Errno 22] Invalid argument WARNING: exit code 1 from a shell command. ERROR: Function failed: do_image_wic (log file is located at /home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/temp/log.do_image_wic.44033) === End log.do_image_wic.44033 stack trace === For some reason, it looks like it appears on the Azure VM the build is looking for boot.img in a temporary directory, .../tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/deploy-foo-complete/foo-intel-corei7-64-0.0.13/tmp.wic.5lmon88k. The tmp.wic.5lmon88k does not exist. However, in the .../foo-intel-corei7-64-0.0.13 there is a boot.img file. So, I'm very confused as to why my build works on my VMware ESXi 6.5 VM but not on the Azure VM. I'm using docker-ce 18.09.1 on my VMware ESXi 6.5 VM. I am using docker-ce 19.03.3 on my Azure VM. The Dockerfile and all of the files I'm copying into the Docker image are the same. I've done side by side builds. So, I'm very confident I'm downloading the same OpenEmbedded GIT repos. I'm guessing I'm missing something somewhere, but I do not know where. If anyone can help me understand this, and give me guidance on how to fix this, it would be greatly appreciated. Thank you Lewis Muhlenkamp Follow this link to read our Privacy Statement<https://www.stryker.com/content/stryker/gb/en/legal/global-policy-statement.html/>
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core