eid-project / meta-eid

MIT License
8 stars 4 forks source link

Proble with bitbake hello example #1

Open pietrushnic opened 5 years ago

pietrushnic commented 5 years ago

My steps:

$ git clone https://git.yoctoproject.org/git/poky.git
$ cd poky
$ git clone https://github.com/eid-project/meta-eid.git
$ cd meta-eid
$ make
(docker) $ source ./poky/meta-eid/setup.sh
(docker) $ bitbake hello

Result:

eid@28276ab79c1c:~/build$ bitbake hello
WARNING: Layer eid should set LAYERSERIES_COMPAT_eid in its conf/layer.conf file to list the core layer names it is compatible with.                                                                              
NOTE: Not using a cache. Set CACHE = <directory> to enable.
Parsing recipes: 100% |#############################################################################################################################################################################| Time: 0:00:01
Parsing of 5 .bb files complete (0 cached, 5 parsed). 5 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |##########################################################################################################################################################################| Time: 0:00:00
NOTE: Executing RunQueue Tasks
WARNING: hello-2.9-2+deb8u1-r0 do_fetch_srcpkg: Missing md5 SRC_URI checksum for /home/eid/build/tmp/downloads/hello_2.9.orig.tar.gz, consider adding to the recipe:                                              
SRC_URI[md5sum] = "67607d2616a0faaf5bc94c59dca7c3cb"
WARNING: hello-2.9-2+deb8u1-r0 do_fetch_srcpkg: Missing sha256 SRC_URI checksum for /home/eid/build/tmp/downloads/hello_2.9.orig.tar.gz, consider adding to the recipe:                                           
SRC_URI[sha256sum] = "ecbb7a2214196c57ff9340aa71458e1559abd38f6d8d169666846935df191ea7"
WARNING: hello-2.9-2+deb8u1-r0 do_fetch_srcpkg: Missing md5 SRC_URI checksum for /home/eid/build/tmp/downloads/hello_2.9-2+deb8u1.debian.tar.xz, consider adding to the recipe:                                   
SRC_URI[md5sum] = "9e1f7f7bf3ba90daf4e7dc6f179f66dc"
WARNING: hello-2.9-2+deb8u1-r0 do_fetch_srcpkg: Missing sha256 SRC_URI checksum for /home/eid/build/tmp/downloads/hello_2.9-2+deb8u1.debian.tar.xz, consider adding to the recipe:                                
SRC_URI[sha256sum] = "ba282acdaf7df8f6eb53ab6e519ca0941a27360cfc436fd4313d449fe985d91a"
ERROR: hello-2.9-2+deb8u1-r0 do_sbuild: Function failed: do_sbuild (log file is located at /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/temp/log.do_sbuild.89)                                                  
ERROR: Logfile of failure stored in: /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/temp/log.do_sbuild.89                                                                                                         
ERROR: Task (/home/eid/poky/meta-eid/recipes-debian/hello/hello_2.9-2+deb8u1.bb:do_sbuild) failed with exit code '1'                                                                                              
NOTE: Tasks Summary: Attempted 5 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/eid/poky/meta-eid/recipes-debian/hello/hello_2.9-2+deb8u1.bb:do_sbuild
Summary: There were 5 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

hello build log:

eid@28276ab79c1c:~/build$ cat /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/temp/log.do_sbuild.89
DEBUG: Executing shell function do_sbuild
NOTE: setting up local apt repository
dh clean
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/hello-2.9-2+deb8u1'
[ ! -f Makefile ] || /usr/bin/make distclean
make[1]: Leaving directory '/home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/hello-2.9-2+deb8u1'
   dh_clean
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building hello using existing ./hello_2.9.orig.tar.gz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: building hello in hello_2.9-2+deb8u1.debian.tar.xz
dpkg-source: info: building hello in hello_2.9-2+deb8u1.dsc
E: Error creating chroot session: skipping hello
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_sbuild (log file is located at /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/temp/log.do_sbuild.89)  

Have you got any ideas what can be wrong?

pietrushnic commented 5 years ago

I figure out that I may need additional step:

sudo ../poky/meta-eid/scripts/setup-sbuild.sh

but it end up with:

eid@61bb5e0864f0:~/build$ sudo ../poky/meta-eid/scripts/setup-sbuild.sh
/home/eid/build/chroot/buster-amd64-eid is not empty at /usr/bin/sbuild-createchroot line 279.
ERROR: sbuild-createchroot failed

or if that directory is cleaned manually:

I: Successfully set up buster chroot.
I: Run "sbuild-adduser" to add new sbuild users.
E: /etc/schroot/chroot.d/buster-amd64-eid-q0aEAc: line 1 [buster-amd64-eid]: A chroot or alias ‘chroot:buster-amd64-eid’ already exists with this name                                                            
I: Duplicate names are not allowed
ERROR: chroot buster-amd64-eid is not correctly created
zuka0828 commented 5 years ago

Hi, Thank you for your report.

Regarding the first error of setup-sbuild.sh,

/home/eid/build/chroot/buster-amd64-eid is not empty at /usr/bin/sbuild-createchroot line 279.

could you remove the build directory /home/eid/build and try again?

E: /etc/schroot/chroot.d/buster-amd64-eid-q0aEAc: line 1 [buster-amd64-eid]: A chroot or alias ‘chroot:buster-amd64-eid’ already exists with this name

setup-sbuild.sh tries to create a new schroot with the name buster-amd64-eid. It fails if the same name schroot, which is previously created by setup-sbuild.sh, already exists in the system. Therefore, please remove the both of the schroot directory and the corresponding schroot control data (etc/schroot/chroot.d/buster-amd64-eid-xxx) manually, before you run setup-sbuild.sh again. This action should be done by sbuild-destroychroot, but this command seems not to work correctly.

pietrushnic commented 5 years ago

@zuka0828 it looks to me that one root of problems is that container commited to Dockerhub contain artifacts from previous builds:

/home/eid/build/chroot
/etc/schroot/chroot.d/buster-amd64-eid-XTobQH

I would be glad to do that if I would have access to push the image. Please remove artifacts and push clean image.

The second thing I think that README.md is a little bit convoluted. I believe your project has great potential, but to get the attention of users clear procedure of building is needed. I will try to contribute improvements to README.md, so users can use the procedure that works out of the box just by copy and paste commands. BTW what kind of resources you planning to support this project?

Last things, if sbuild-destroychroot has problems we should report that or even try to fix that.

Other issues:

Following order of commands worked for me:

$ git clone https://git.yoctoproject.org/git/poky.git
$ cd poky
$ git clone https://github.com/eid-project/meta-eid.git
$ cd meta-eid
$ make
(docker) $ source ./poky/meta-eid/setup.sh
(docker) $ sudo rm -rf chroot/
(docker) $ sudo rm -rf /etc/schroot/chroot.d/*
(docker) $ sudo ../poky/meta-eid/scripts/setup-sbuild.sh

Unfortunately running bitbake hello cause the same problem as reported initially:

WARNING: Layer eid should set LAYERSERIES_COMPAT_eid in its conf/layer.conf file to list the core layer names it is compatible with.                                                         
NOTE: Not using a cache. Set CACHE = <directory> to enable.
Parsing recipes: 100% |########################################################################################################################################################| Time: 0:00:00
Parsing of 5 .bb files complete (0 cached, 5 parsed). 5 targets, 0 skipped, 0 masked, 0 errors.                                                                                              
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#####################################################################################################################################################| Time: 0:00:00
NOTE: Executing RunQueue Tasks
WARNING: hello-2.9-2+deb8u1-r0 do_fetch_srcpkg: Missing md5 SRC_URI checksum for /home/eid/build/tmp/downloads/hello_2.9.orig.tar.gz, consider adding to the recipe:                         
SRC_URI[md5sum] = "67607d2616a0faaf5bc94c59dca7c3cb"
WARNING: hello-2.9-2+deb8u1-r0 do_fetch_srcpkg: Missing sha256 SRC_URI checksum for /home/eid/build/tmp/downloads/hello_2.9.orig.tar.gz, consider adding to the recipe:                      
SRC_URI[sha256sum] = "ecbb7a2214196c57ff9340aa71458e1559abd38f6d8d169666846935df191ea7"
WARNING: hello-2.9-2+deb8u1-r0 do_fetch_srcpkg: Missing md5 SRC_URI checksum for /home/eid/build/tmp/downloads/hello_2.9-2+deb8u1.debian.tar.xz, consider adding to the recipe:              
SRC_URI[md5sum] = "9e1f7f7bf3ba90daf4e7dc6f179f66dc"
WARNING: hello-2.9-2+deb8u1-r0 do_fetch_srcpkg: Missing sha256 SRC_URI checksum for /home/eid/build/tmp/downloads/hello_2.9-2+deb8u1.debian.tar.xz, consider adding to the recipe:           
SRC_URI[sha256sum] = "ba282acdaf7df8f6eb53ab6e519ca0941a27360cfc436fd4313d449fe985d91a"
ERROR: hello-2.9-2+deb8u1-r0 do_sbuild: Function failed: do_sbuild (log file is located at /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/temp/log.do_sbuild.12725)                          
ERROR: Logfile of failure stored in: /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/temp/log.do_sbuild.12725                                                                                 
ERROR: Task (/home/eid/poky/meta-eid/recipes-debian/hello/hello_2.9-2+deb8u1.bb:do_sbuild) failed with exit code '1'                                                                         
NOTE: Tasks Summary: Attempted 5 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/eid/poky/meta-eid/recipes-debian/hello/hello_2.9-2+deb8u1.bb:do_sbuild
Summary: There were 5 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
eid@9b4721bd5cd7:~/build$ cat /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/temp/log.do_sbuild.12725                                                                                        
DEBUG: Executing shell function do_sbuild
NOTE: setting up local apt repository
dh clean
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/hello-2.9-2+deb8u1'                                                                                              
[ ! -f Makefile ] || /usr/bin/make distclean
make[1]: Leaving directory '/home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/hello-2.9-2+deb8u1'
   dh_clean
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building hello using existing ./hello_2.9.orig.tar.gz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: building hello in hello_2.9-2+deb8u1.debian.tar.xz
dpkg-source: info: building hello in hello_2.9-2+deb8u1.dsc
E: Error creating chroot session: skipping hello
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_sbuild (log file is located at /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/temp/log.do_sbuild.12725)              
zuka0828 commented 5 years ago

Thank you for the detailed report.

I would be glad to do that if I would have access to push the image. Please remove artifacts and push clean image.

Yes, the artifacts will be removed soon. I'm also considering making the Docker image open for everyone, please wait a moment.

BTW what kind of resources you planning to support this project?

I would like to confirm the meaning of 'resources' you ment. Community resources, development targets, etc.

Last things, if sbuild-destroychroot has problems we should report that or even try to fix that.

Yes, we should. A similar bug report is available here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903513 but it seems not to be the same situation as us actually. I would like to discuss this topic in the mailing list. meta-eid@googlegroups.com

using http://ftp2.jp.debian.org/debian can be problematic for some users

jp shoud be changed. Is http://deb.debian.org/debian better?

Unfortunately running bitbake hello cause the same problem as reported initially:

Could you show the sbuild log in /home/eid/build/tmp/work/hello-2.9-2+deb8u1-r0/hello_2.9-2+deb8u1_amd64.build ? Currently, the sbuild log is put into this file and doesn't appear in temp/log.do_sbuild, which is also one of the issues to be improved.

zuka0828 commented 5 years ago

Yes, the artifacts will be removed soon.

Removed: https://github.com/eid-project/docker-eid-base/commit/c5f641d9aa3b51875f6b55d0d3faab6c0229a4da

I'm also considering making the Docker image open for everyone, please wait a moment.

The docker image can be updated by changing https://github.com/eid-project/docker-eid-base. Please send us PR if you need.

using http://ftp2.jp.debian.org/debian can be problematic for some users

jp shoud be changed. Is http://deb.debian.org/debian better?

Changed: a9bb1df72e6a35d0a3d1734789afd938e3fc4a73

In the latest commit f1c5ee429ebbf719fe4bd6095b798f483bfe73d8, README.md becomes simple.

As the result, I got the error in do_sbuild() of hello. The error in build/tmp/work/hello-2.9-2+deb8u1-r0/hello_2.9-2+deb8u1_amd64.build:

E: 10mount: mount: /run/schroot/mount/buster-amd64-eid-b44303b2-1226-4c7b-9b95-c5d3c94d9033: bind /home/eid/build/chroot/buster-amd64-eid failed.
E: buster-amd64-eid-b44303b2-1226-4c7b-9b95-c5d3c94d9033: Chroot setup failed: stage=setup-start

Now, I'm trying to fix this issue.

pietrushnic commented 5 years ago

@zuka0828 thanks.

  1. By resources I mean number of developers who will work on this project - or maybe the plan is to provide best effort support and rely fully on contributors? My feeling from presentation on ELCE was that 3 presenters start this project to connect powers of subprojects that were involved, but it looks like isar live its own life and also has some valuable use cases that work there already.
  2. Yes, maybe https://deb.debian.org/debian would be even better, do you see any issues with https?
zuka0828 commented 5 years ago

@pietrushnic Hi, @manut has fixed the issue in do_sbuild(): https://github.com/eid-project/meta-eid/commit/3762abf447ffaf1f33d1db26fbfcfd1a7680128f (The commit would be improved for keeping security in future)

Yes, maybe https://deb.debian.org/debian would be even better, do you see any issues with https?

No problem at this moment, but there are several documents like https://whydoesaptnotusehttps.com/ which explain less importance of HTTPS in apt.

By resources I mean number of developers who will work on this project - or maybe the plan is to provide best effort support and rely fully on contributors?

Currently, there are three core members and more developers behind. 'I' am not planning to fully rely on other contributors. (Of course, I'm glad if more contributors join to our development) At least, I have a plan to make this tool avaiable for my own use cases.

My feeling from presentation on ELCE was that 3 presenters start this project to connect powers of subprojects that were involved,

Yes,

but it looks like isar live its own life and also has some valuable use cases that work there already.

We must keep maintaining the exist sub projects for the active developments in parralel. We agreed to join powers into meta-eid development, but no one agreed to immediately quit existing sub projects. It is still early stage of our collabolative development, and the current most important thing is to provide the first prototype by contributing each other.

pietrushnic commented 5 years ago

@zuka0828,

No problem at this moment, but there are several documents like https://whydoesaptnotusehttps.com/ which explain less importance of HTTPS in apt.

Thank you for that pointer - will familiarize myslef with that point of view.

Currently, there are three core members and more developers behind. 'I' am not planning to fully rely on other contributors. (Of course, I'm glad if more contributors join to our development) At least, I have a plan to make this tool avaiable for my own use cases.

Understood. I will definitely like to use project and provide feedback about use cases that my company and our partners have.