Intel® Edge Software Hub
Get answers from community peers to your questions about building Edge Software Hub solutions for edge compute node.
Announcements
Welcome to the Intel Community! If you like the answer to your question, please mark it as 'Accepted Solution' to help others.

The Edge Software Vision Package for Red Hat Enterprise Linux is now available here.

Learn more about developing on Intel® Hardware and Software here.
415 Discussions

ECI release 3.2 setup.sh first run fails

jcaprooddeka
Beginner
208 Views

I've run into 2 errors while attempting to build the ECI 3.2 release (release-eci_3.2.zip) per these instructions: https://eci.intel.com/docs/3.2/getstarted/building.html#setup-build-dependencies 

 

I was able to solve error #1 and move forward but want to report it anyway for other users and for fixing in next release. I have not solved error #2 yet and kindly request some help.

 

Error #1: setup.sh wget of meta-intel/tree/MAINTAINERS file fails because file is no longer hosted

When running setup.sh for the first time, it attempts to download the MAINTAINERS file from https://git.yoctoproject.org/meta-intel/tree

This fails as shown below. It fails because yoctoproject no longer has a MAINTAINERS file at the top level of their source tree which you can see by browsing the URL above.

 

eci@eci-Default-string:/mnt/home/ubuntu/eci/release-eci_3.2/Edge-Controls-for-Industrial/eci-release$ ./setup.sh 

It looks like you're running the setup for the first time.
Would you like to verify that all dependencies are met? [Y/n] Y

--2024-05-08 11:09:13--  http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/tree//MAINTAINERS
Resolving git.yoctoproject.org (git.yoctoproject.org)... 199.204.45.23
Connecting to git.yoctoproject.org (git.yoctoproject.org)|199.204.45.23|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/tree//MAINTAINERS [following]
--2024-05-08 11:09:13--  https://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/tree//MAINTAINERS
Connecting to git.yoctoproject.org (git.yoctoproject.org)|199.204.45.23|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://git.yoctoproject.org/meta-intel/tree/MAINTAINERS [following]
--2024-05-08 11:09:13--  https://git.yoctoproject.org/meta-intel/tree/MAINTAINERS
Reusing existing connection to git.yoctoproject.org:443.
HTTP request sent, awaiting response... 404 Not found
2024-05-08 11:09:13 ERROR 404: Not found.

############################################################################

ERROR: wget fail to fetch http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/tree//MAINTAINERS
NOTE:
You are either not connected or behind corporate proxy
Please make sure network proxies are setup at /etc/environment or
~/.bashrc :-
http_proxy=<http proxy server path>:<port>
ftp_proxy=<ftp proxy server path>:<port>
https_proxy=<https proxy server path>:<port>
socks_server=<SOCKS server path>:<port>

 

Workaround - Change the targets/scripts/setup-common shell script's TEST_FILE variable from MAINTAINERS to LICENSE. This will make the script download the LICENSE file instead which wget can find successfully.

 

Error #2: setup.sh fails to cleanly apply patches to Dockerfile

 

When running setup.sh for the first time, the script creates a docker image. The Dockerfile is patched just prior to building the image, but the patch fails to apply cleanly as shown below. The setup.sh script continues on and says "Dependency check complete" in green as if everything worked correctly, but I fear that the ECI  kernel build will fail down the line if this patch did not apply.

 

eci@eci-Default-string:/mnt/home/ubuntu/eci/release-eci_3.2/Edge-Controls-for-Industrial/eci-release$ ./setup.sh 

It looks like you're running the setup for the first time.
Would you like to verify that all dependencies are met? [Y/n] Y
...
=============================================
#!/bin/bash
exec socat stdio SOCKS:<proxy IP/DNS>:$1:$2
=============================================
Creating Docker image for ECI builds...
patching file Dockerfile
patching file Dockerfile
Hunk #1 FAILED at 83.
1 out of 2 hunks FAILED -- saving rejects to file Dockerfile.rej
[+] Building 59.6s (17/17) FINISHED
...

 

 

Labels (1)
0 Kudos
1 Solution
jcaprooddeka
Beginner
197 Views

Error #2: Workaround found

Replace targets/docker/eci-setup-build/0002-rerepro-revert-unzstd-bug-fix.patch with the following:

--- a/Dockerfile
+++ b/Dockerfile
@@ -83,7 +83,7 @@
             binfmt-support bzip2 mmdebstrap arch-test apt-utils dosfstools \
             dpkg-dev gettext-base git mtools parted python3 python3-distutils \
             quilt qemu-user-static reprepro sudo unzip git-buildpackage \
-            pristine-tar sbuild schroot zstd \
+            pristine-tar sbuild schroot zstd equivs \
             libfribidi0 whiptail cpio \
             libonig5 jq uidmap acpica-tools \
 	         umoci skopeo \
@@ -94,6 +94,10 @@
     sbuild-adduser builder && \
     sed -i 's|# kas-isar: ||g' /kas/container-entrypoint
 
+# Revert reprepro zstd 
+# https://bugs.launchpad.net/ubuntu/+source/reprepro/+bug/2008508 
+RUN apt reinstall -y -f /kas/reprepro_5.3.1-1ubuntu1_amd64.deb
+
 USER builder
 
 #

Note that setup.sh will not rebuild the Docker container even if you delete your eci-release directory and start from scratch. You need to purge first: docker system prune --all

 

Able to figure it out on my own. Hopefully this helps someone out.

View solution in original post

0 Kudos
2 Replies
jcaprooddeka
Beginner
198 Views

Error #2: Workaround found

Replace targets/docker/eci-setup-build/0002-rerepro-revert-unzstd-bug-fix.patch with the following:

--- a/Dockerfile
+++ b/Dockerfile
@@ -83,7 +83,7 @@
             binfmt-support bzip2 mmdebstrap arch-test apt-utils dosfstools \
             dpkg-dev gettext-base git mtools parted python3 python3-distutils \
             quilt qemu-user-static reprepro sudo unzip git-buildpackage \
-            pristine-tar sbuild schroot zstd \
+            pristine-tar sbuild schroot zstd equivs \
             libfribidi0 whiptail cpio \
             libonig5 jq uidmap acpica-tools \
 	         umoci skopeo \
@@ -94,6 +94,10 @@
     sbuild-adduser builder && \
     sed -i 's|# kas-isar: ||g' /kas/container-entrypoint
 
+# Revert reprepro zstd 
+# https://bugs.launchpad.net/ubuntu/+source/reprepro/+bug/2008508 
+RUN apt reinstall -y -f /kas/reprepro_5.3.1-1ubuntu1_amd64.deb
+
 USER builder
 
 #

Note that setup.sh will not rebuild the Docker container even if you delete your eci-release directory and start from scratch. You need to purge first: docker system prune --all

 

Able to figure it out on my own. Hopefully this helps someone out.

0 Kudos
Iffa_Intel
Moderator
153 Views

Hi,


Thanks for sharing your findings.


Intel will no longer monitor this thread since this issue has been resolved. If you need any additional information from Intel, please submit a new question



Cordially,

Iffa



0 Kudos
Reply