Cmake and DTC Version issues installing Zephyr


Lawrence King
 

Today I wanted to ensure that my documentation on how to rebuild my code was complete and correct. I setup a new virtual machine with Ubuntu 18.04 LTS (which is the most recent LTS version available). I then install Zephyr following (mostly) the instructions in the getting started guide, followed by pulling my code from my local git and then attempting to build.

 

This is where things go bad.

 

First problem is west wants to build with cmake newer than 1.13.3, but the ‘default’ cmake in 18.04 LTS is much older, I was able to work around this by removing cmake, and installing with pip3.

 

The ‘latest’ zephyr (actually west and cmake) insists that I need a device tree compiler with version  1.4.6, unfortunately the latest is version on Ubunti 18.04 is 1.4.5 (see https://launchpad.net/ubuntu/+source/device-tree-compiler) hence I can’t build. OK, to work around this I went into zephyr/cmake/host-tools.cmake and changed the MIN_DTC_VERSION to 1.4.5. OK, I am past this…

 

But things continue to be bad. The next issue I hit is cmake can’t find the file zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake and when I look, sure enough the file isn’t there. In fact the directory isn’t there. There are directories for 0.10.0 and 0.9.5, but I installed zephyr tools 0.10.1 so I am not sure why the directory is not there, and more importantly why is cmake even looking there?.

 

Here is a ‘step-by-step’ of the process I followed after bringing up a new Ubuntu 18.04 box:

 

sudo apt-get upgrade

sudo apt-get install -y build-essential module-assistant

sudo apt-get install -y --no-install-recommends git ninja-build gperf \

  ccache dfu-util device-tree-compiler wget \

  python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \

  make gcc gcc-multilib

sudo apt remove cmake

 

sudo -H pip3 install --upgrade setuptools

sudo -H pip3 install --user cmake

wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10.1/zephyr-sdk-0.10.1-setup.run

chmod +x zephyr-sdk-0.10.1-setup.run

sudo ./zephyr-sdk-0.10.1-setup.run

export ZEPHYR_TOOLCHAIN_VARIANT=zephyr

export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk

# cmake must be version 1.13.3 or better!

cmake --version

 

sudo -H pip3 install git+https://github.com/zephyrproject-rtos/west

west update

 

At this point I checkout my code from git and try to build, but it fails just as well on the blinky program.

cd zephyr/samples/blinky

export BPOARD=nrf52840_mdk

west -v build

 

Here is the output:

lawrence@Bob:~/zephyr/samples/basic/blinky$ west -v build

ZEPHYR_BASE=/home/lawrence/zephyr (origin: configfile)

source directory: /home/lawrence/zephyr/samples/basic/blinky

build directory: /home/lawrence/zephyr/samples/basic/blinky/build (created)

BOARD: nrf52840_mdk (origin: env)

Running CMake: /usr/local/bin/cmake -B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk

Zephyr version: 1.14.99

-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.8", minimum required is "3.4")

-- Selected BOARD nrf52840_mdk

CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/host-tools.cmake:46 (include):

  include could not find load file:

 

    /home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake

Call Stack (most recent call first):

  /home/lawrence/zephyr/cmake/host-tools.cmake:3 (include)

  /home/lawrence/zephyr/cmake/app/boilerplate.cmake:386 (include)

  CMakeLists.txt:4 (include)

 

 

-- Found west: /usr/local/bin/west (found suitable version "0.6.0", minimum required is "0.5.6")

CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/generic.cmake:7 (include):

  include could not find load file:

 

    /home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/generic.cmake

Call Stack (most recent call first):

  /home/lawrence/zephyr/cmake/generic_toolchain.cmake:64 (include)

  /home/lawrence/zephyr/cmake/app/boilerplate.cmake:402 (include)

  CMakeLists.txt:4 (include)

 

 

-- Loading /home/lawrence/zephyr/boards/arm/nrf52840_mdk/nrf52840_mdk.dts as base

-- Overlaying /home/lawrence/zephyr/dts/common/common.dts

CMake Error at /home/lawrence/zephyr/cmake/dts.cmake:126 (message):

  command failed with return code: No such file or directory

Call Stack (most recent call first):

  /home/lawrence/zephyr/cmake/app/boilerplate.cmake:403 (include)

  CMakeLists.txt:4 (include)

 

 

-- Configuring incomplete, errors occurred!

ERROR: command exited with status 1: /usr/local/bin/cmake -B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk

Traceback (most recent call last):

  File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 566, in main

    args.handler(args, unknown)

  File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 325, in ext_command_handler

    command.run(args, unknown, topdir)

  File "/usr/local/lib/python3.6/dist-packages/west/commands/__init__.py", line 112, in run

    self.do_run(args, unknown)

  File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 161, in do_run

    self._run_cmake(board, origin, self.args.cmake_opts)

  File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 380, in _run_cmake

    run_cmake(final_cmake_args, dry_run=self.args.dry_run)

  File "/home/lawrence/zephyr/scripts/west_commands/zcmake.py", line 68, in run_cmake

    raise subprocess.CalledProcessError(p.returncode, p.args)

subprocess.CalledProcessError: Command '['/usr/local/bin/cmake', '-B/home/lawrence/zephyr/samples/basic/blinky/build', '-S/home/lawrence/zephyr/samples/basic/blinky', '-GNinja', '-DBOARD=nrf52840_mdk']' returned non-zero exit status 1.

lawrence@Bob:~/zephyr/samples/basic/blinky$

 

Lawrence King

Principal Developer

Connected Transport Market Unit

https://www.Irdeto.com

+1(416)627-7302

 

1  2 - linkedin  3 - instagram  4 - youtube  6 - facebook  7

            

CONFIDENTIAL: This e-mail and any attachments are confidential and intended solely for the use of the individual(s) to whom it is addressed. It can contain proprietary confidential information and be subject to legal privilege and/or subject to a non-disclosure Agreement. Unauthorized use, disclosure or copying is strictly prohibited. If you are not the/an addressee and are in possession of this e-mail, please delete the message and notify us immediately. Please consider the environment before printing this e-mail. Thank you.

 

 

 


Lawrence King
 

Oops, I missed including the ‘west init’ step below, and the path to blinky was incorrect – instructions fixed, Ubuntu 18.04 still broken

 

Update: on a Ubuntu 19.04 VM I get a lot further, the versions of cmake, and dtc tools are acceptable. It gets stuck looking for elftools. This is addressed in an older zephyr question here: https://github.com/zephyrproject-rtos/zephyr/issues/1392 I would have thought the latest ‘west init’ would have installed the elftools. Easily fixed, I added

sudo -H pip3 install pyelftools

then ‘west build’ passes, but ‘west flash’ fails due to missing pyocd, and the rules for the device. Again easily fixed.

sudo -H pip3 install pyocd

git clone https://github.com/mbedmicro/pyOCD.git

cd pyocd/udev

sudo cp *.rules /etc/udev/rules.d

sudo udevadm control –reload

sudo udevadm trigger

I’m not sure why the install of pyocd didn’t automatically install the udev rules…

 

Lawrence King

Principal Developer

+1(416)627-7302

 

From: users@... <users@...> On Behalf Of Lawrence King
Sent: Wednesday, July 24, 2019 2:39 PM
To: Zephyr-users@...
Subject: [Zephyr-users] Cmake and DTC Version issues installing Zephyr

 

Today I wanted to ensure that my documentation on how to rebuild my code was complete and correct. I setup a new virtual machine with Ubuntu 18.04 LTS (which is the most recent LTS version available). I then install Zephyr following (mostly) the instructions in the getting started guide, followed by pulling my code from my local git and then attempting to build.

 

This is where things go bad.

 

First problem is west wants to build with cmake newer than 1.13.3, but the ‘default’ cmake in 18.04 LTS is much older, I was able to work around this by removing cmake, and installing with pip3.

 

The ‘latest’ zephyr (actually west and cmake) insists that I need a device tree compiler with version  1.4.6, unfortunately the latest is version on Ubunti 18.04 is 1.4.5 (see https://launchpad.net/ubuntu/+source/device-tree-compiler) hence I can’t build. OK, to work around this I went into zephyr/cmake/host-tools.cmake and changed the MIN_DTC_VERSION to 1.4.5. OK, I am past this…

 

But things continue to be bad. The next issue I hit is cmake can’t find the file zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake and when I look, sure enough the file isn’t there. In fact the directory isn’t there. There are directories for 0.10.0 and 0.9.5, but I installed zephyr tools 0.10.1 so I am not sure why the directory is not there, and more importantly why is cmake even looking there?.

 

Here is a ‘step-by-step’ of the process I followed after bringing up a new Ubuntu 18.04 box:

 

sudo apt-get upgrade

sudo apt-get install -y build-essential module-assistant

sudo apt-get install -y --no-install-recommends git ninja-build gperf \

  ccache dfu-util device-tree-compiler wget \

  python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \

  make gcc gcc-multilib

sudo apt remove cmake

 

sudo -H pip3 install --upgrade setuptools

sudo -H pip3 install --user cmake

wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10.1/zephyr-sdk-0.10.1-setup.run

chmod +x zephyr-sdk-0.10.1-setup.run

sudo ./zephyr-sdk-0.10.1-setup.run

export ZEPHYR_TOOLCHAIN_VARIANT=zephyr

export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk

# cmake must be version 1.13.3 or better!

cmake --version

 

sudo -H pip3 install git+https://github.com/zephyrproject-rtos/west

west init

west update

 

At this point I checkout my code from git and try to build, but it fails just as well on the blinky program.

cd zephyr/samples/basic/blinky

export BPOARD=nrf52840_mdk

west -v build

 

Here is the output:

lawrence@Bob:~/zephyr/samples/basic/blinky$ west -v build

ZEPHYR_BASE=/home/lawrence/zephyr (origin: configfile)

source directory: /home/lawrence/zephyr/samples/basic/blinky

build directory: /home/lawrence/zephyr/samples/basic/blinky/build (created)

BOARD: nrf52840_mdk (origin: env)

Running CMake: /usr/local/bin/cmake -B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk

Zephyr version: 1.14.99

-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.8", minimum required is "3.4")

-- Selected BOARD nrf52840_mdk

CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/host-tools.cmake:46 (include):

  include could not find load file:

 

    /home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake

Call Stack (most recent call first):

  /home/lawrence/zephyr/cmake/host-tools.cmake:3 (include)

  /home/lawrence/zephyr/cmake/app/boilerplate.cmake:386 (include)

  CMakeLists.txt:4 (include)

 

 

-- Found west: /usr/local/bin/west (found suitable version "0.6.0", minimum required is "0.5.6")

CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/generic.cmake:7 (include):

  include could not find load file:

 

    /home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/generic.cmake

Call Stack (most recent call first):

  /home/lawrence/zephyr/cmake/generic_toolchain.cmake:64 (include)

  /home/lawrence/zephyr/cmake/app/boilerplate.cmake:402 (include)

  CMakeLists.txt:4 (include)

 

 

-- Loading /home/lawrence/zephyr/boards/arm/nrf52840_mdk/nrf52840_mdk.dts as base

-- Overlaying /home/lawrence/zephyr/dts/common/common.dts

CMake Error at /home/lawrence/zephyr/cmake/dts.cmake:126 (message):

  command failed with return code: No such file or directory

Call Stack (most recent call first):

  /home/lawrence/zephyr/cmake/app/boilerplate.cmake:403 (include)

  CMakeLists.txt:4 (include)

 

 

-- Configuring incomplete, errors occurred!

ERROR: command exited with status 1: /usr/local/bin/cmake -B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk

Traceback (most recent call last):

  File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 566, in main

    args.handler(args, unknown)

  File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 325, in ext_command_handler

    command.run(args, unknown, topdir)

  File "/usr/local/lib/python3.6/dist-packages/west/commands/__init__.py", line 112, in run

    self.do_run(args, unknown)

  File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 161, in do_run

    self._run_cmake(board, origin, self.args.cmake_opts)

  File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 380, in _run_cmake

    run_cmake(final_cmake_args, dry_run=self.args.dry_run)

  File "/home/lawrence/zephyr/scripts/west_commands/zcmake.py", line 68, in run_cmake

    raise subprocess.CalledProcessError(p.returncode, p.args)

subprocess.CalledProcessError: Command '['/usr/local/bin/cmake', '-B/home/lawrence/zephyr/samples/basic/blinky/build', '-S/home/lawrence/zephyr/samples/basic/blinky', '-GNinja', '-DBOARD=nrf52840_mdk']' returned non-zero exit status 1.

lawrence@Bob:~/zephyr/samples/basic/blinky$

 

Lawrence King

Principal Developer

Connected Transport Market Unit

https://www.Irdeto.com

+1(416)627-7302

 

1  2 - linkedin  3 - instagram  4 - youtube  6 - facebook  7

            

CONFIDENTIAL: This e-mail and any attachments are confidential and intended solely for the use of the individual(s) to whom it is addressed. It can contain proprietary confidential information and be subject to legal privilege and/or subject to a non-disclosure Agreement. Unauthorized use, disclosure or copying is strictly prohibited. If you are not the/an addressee and are in possession of this e-mail, please delete the message and notify us immediately. Please consider the environment before printing this e-mail. Thank you.

 

 

 


Bolivar, Marti
 

"Lawrence King via Lists.Zephyrproject.Org"
<lawrence.king=irdeto.com@lists.zephyrproject.org> writes:

Today I wanted to ensure that my documentation on how to rebuild my code was complete and correct. I setup a new virtual machine with Ubuntu 18.04 LTS (which is the most recent LTS version available). I then install Zephyr following (mostly) the instructions in the getting started guide, followed by pulling my code from my local git and then attempting to build.

This is where things go bad.

First problem is west wants to build with cmake newer than 1.13.3, but
the 'default' cmake in 18.04 LTS is much older, I was able to work
around this by removing cmake, and installing with pip3.
Yes, Zephyr requires a recent CMake. Since you're on Ubuntu, you might
want to check out the official cmake apt repository from KitWare, which
does support 18.04.

https://blog.kitware.com/ubuntu-cmake-repository-now-available/


The 'latest' zephyr (actually west and cmake) insists that I need a
device tree compiler with version 1.4.6, unfortunately the latest is
version on Ubunti 18.04 is 1.4.5 (see
https://launchpad.net/ubuntu/+source/device-tree-compiler) hence I
can't build. OK, to work around this I went into
zephyr/cmake/host-tools.cmake and changed the MIN_DTC_VERSION to
1.4.5. OK, I am past this...
This isn't a west or a CMake requirement, in my opinion, but is instead
a requirement based on the contents of the zephyr DTS files.

Since you're on Ubuntu, if you're building with the Zephyr SDK (which
you seem to be), you should have all the host tools you need from there.
This includes a recent enough DTC.

I would not recommend manually overriding the CMake version enforcement
checks for the dtc binary.


But things continue to be bad. The next issue I hit is cmake can't find the file zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake and when I look, sure enough the file isn't there. In fact the directory isn't there. There are directories for 0.10.0 and 0.9.5, but I installed zephyr tools 0.10.1 so I am not sure why the directory is not there, and more importantly why is cmake even looking there?.

Here is a 'step-by-step' of the process I followed after bringing up a
new Ubuntu 18.04 box:
This appears to be missing some steps. In particular, it doesn't show
how you got the zephyr tree itself. Given that it's in ~/zephyr instead
of something like ~/zephyrproject/zephyr, I suspect you didn't do a west
init + west update. Is that the case? If so, I'd recommend trying again,
but following the instructions in the getting started guide. Zephyr
without west is possible, but harder to do correctly.


sudo apt-get upgrade
sudo apt-get install -y build-essential module-assistant
sudo apt-get install -y --no-install-recommends git ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
make gcc gcc-multilib
sudo apt remove cmake

sudo -H pip3 install --upgrade setuptools
sudo -H pip3 install --user cmake
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10.1/zephyr-sdk-0.10.1-setup.run
chmod +x zephyr-sdk-0.10.1-setup.run
sudo ./zephyr-sdk-0.10.1-setup.run
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk
# cmake must be version 1.13.3 or better!
cmake --version

sudo -H pip3 install git+https://github.com/zephyrproject-rtos/west
west update
Out of curiosity, why are you building from the latest west master
instead of running "pip3 install --user west" as recommended in the
getting started documentation?


At this point I checkout my code from git and try to build, but it
fails just as well on the blinky program.
Based on the above (and the below output) it seems like you might have
done "git clone https://github.com/zephyrproject-rtos/zephyr" or
similar. This leaves out all the other modules.

I also don't see any mention here of installing the python packages
in zephyr's scripts/requirements.txt, which is also mentioned in the
getting started guide.

Please try these steps and holler if you continue to have problems:

https://docs.zephyrproject.org/latest/getting_started/index.html

Thanks,
Marti

cd zephyr/samples/blinky
export BPOARD=nrf52840_mdk
west -v build

Here is the output:
lawrence@Bob:~/zephyr/samples/basic/blinky$ west -v build
ZEPHYR_BASE=/home/lawrence/zephyr (origin: configfile)
source directory: /home/lawrence/zephyr/samples/basic/blinky
build directory: /home/lawrence/zephyr/samples/basic/blinky/build (created)
BOARD: nrf52840_mdk (origin: env)
Running CMake: /usr/local/bin/cmake -B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk
Zephyr version: 1.14.99
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.8", minimum required is "3.4")
-- Selected BOARD nrf52840_mdk
CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/host-tools.cmake:46 (include):
include could not find load file:

/home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/host-tools.cmake:3 (include)
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:386 (include)
CMakeLists.txt:4 (include)


-- Found west: /usr/local/bin/west (found suitable version "0.6.0", minimum required is "0.5.6")
CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/generic.cmake:7 (include):
include could not find load file:

/home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/generic.cmake
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/generic_toolchain.cmake:64 (include)
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:402 (include)
CMakeLists.txt:4 (include)


-- Loading /home/lawrence/zephyr/boards/arm/nrf52840_mdk/nrf52840_mdk.dts as base
-- Overlaying /home/lawrence/zephyr/dts/common/common.dts
CMake Error at /home/lawrence/zephyr/cmake/dts.cmake:126 (message):
command failed with return code: No such file or directory
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:403 (include)
CMakeLists.txt:4 (include)


-- Configuring incomplete, errors occurred!
ERROR: command exited with status 1: /usr/local/bin/cmake -B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 566, in main
args.handler(args, unknown)
File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 325, in ext_command_handler
command.run(args, unknown, topdir)
File "/usr/local/lib/python3.6/dist-packages/west/commands/__init__.py", line 112, in run
self.do_run(args, unknown)
File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 161, in do_run
self._run_cmake(board, origin, self.args.cmake_opts)
File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 380, in _run_cmake
run_cmake(final_cmake_args, dry_run=self.args.dry_run)
File "/home/lawrence/zephyr/scripts/west_commands/zcmake.py", line 68, in run_cmake
raise subprocess.CalledProcessError(p.returncode, p.args)
subprocess.CalledProcessError: Command '['/usr/local/bin/cmake', '-B/home/lawrence/zephyr/samples/basic/blinky/build', '-S/home/lawrence/zephyr/samples/basic/blinky', '-GNinja', '-DBOARD=nrf52840_mdk']' returned non-zero exit status 1.
lawrence@Bob:~/zephyr/samples/basic/blinky$

Lawrence King
Principal Developer
Connected Transport Market Unit
https://www.Irdeto.com
+1(416)627-7302

[1]<https://careers.irdeto.com/> [2 - linkedin] <https://www.linkedin.com/company/irdeto/> [3 - instagram] <https://www.instagram.com/lifeatirdeto/?hl=en> [4 - youtube] <https://www.youtube.com/channel/UCwgT0-wMbEqx3qLfrPIEnRg> [6 - facebook] <https://www.facebook.com/JoinIrdeto/> [7] <https://twitter.com/Irdeto?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor>

CONFIDENTIAL: This e-mail and any attachments are confidential and intended solely for the use of the individual(s) to whom it is addressed. It can contain proprietary confidential information and be subject to legal privilege and/or subject to a non-disclosure Agreement. Unauthorized use, disclosure or copying is strictly prohibited. If you are not the/an addressee and are in possession of this e-mail, please delete the message and notify us immediately. Please consider the environment before printing this e-mail. Thank you.





Boie, Andrew P
 

First problem is west wants to build with cmake newer than 1.13.3, but
the 'default' cmake in 18.04 LTS is much older, I was able to work
around this by removing cmake, and installing with pip3.
You can also do:

$ sudo snap install cmake

This works on 18.04 LTS.

-Andrew


Carles Cufi
 

-----Original Message-----
From: users@lists.zephyrproject.org <users@lists.zephyrproject.org> On
Behalf Of Boie, Andrew P via Lists.Zephyrproject.Org
First problem is west wants to build with cmake newer than 1.13.3,
but the 'default' cmake in 18.04 LTS is much older, I was able to
work around this by removing cmake, and installing with pip3.
You can also do:

$ sudo snap install cmake

This works on 18.04 LTS.
Thanks Andrew!

I've posted this PR:
https://github.com/zephyrproject-rtos/zephyr/pull/17771


Carles



-Andrew


Lawrence King
 

Thanks to all for the work arounds. I had actually done all of these work arounds on my Ubuntu 18.04 VM.

What I am really getting at is the 'getting started' instructions on the zephyr project site do not work for an 18.04 system, we need to update the getting started so that a new user either starts with an 19.04 system, amd/or has the workarounds to get the newer DTC and CMake versions. Otherwise even the Blinky program won't compile.

It is an important documentation step that you actually try your instructions on a 'virgin' system. All of us who have been doing development for a long time have incrementally updated our systems and we never follow the instructions on the getting started.

Lawrence King
Principal Developer
+1(416)627-7302

-----Original Message-----
From: Cufi, Carles <Carles.Cufi@nordicsemi.no>
Sent: Thursday, July 25, 2019 7:06 AM
To: andrew.p.boie@intel.com; Bolivar, Marti <Marti.Bolivar@nordicsemi.no>; Lawrence King <lawrence.king@irdeto.com>; Zephyr-users@lists.zephyrproject.org
Cc: users@lists.zephyrproject.org
Subject: RE: [Zephyr-users] Cmake and DTC Version issues installing Zephyr



-----Original Message-----
From: users@lists.zephyrproject.org <users@lists.zephyrproject.org> On
Behalf Of Boie, Andrew P via Lists.Zephyrproject.Org
First problem is west wants to build with cmake newer than 1.13.3,
but the 'default' cmake in 18.04 LTS is much older, I was able to
work around this by removing cmake, and installing with pip3.
You can also do:

$ sudo snap install cmake

This works on 18.04 LTS.
Thanks Andrew!

I've posted this PR:
https://github.com/zephyrproject-rtos/zephyr/pull/17771


Carles



-Andrew


Carles Cufi
 

Hi there,

Thanks for your feedback.

-----Original Message-----
From: Lawrence King <lawrence.king@irdeto.com>
Thanks to all for the work arounds. I had actually done all of these
work arounds on my Ubuntu 18.04 VM.
Those are not really workarounds, they are recommended options to get the required set of tools installed in Linux distributions that do not bundle the latest versions of packages.


What I am really getting at is the 'getting started' instructions on the
zephyr project site do not work for an 18.04 system, we need to update
the getting started so that a new user either starts with an 19.04
system, amd/or has the workarounds to get the newer DTC and CMake
versions. Otherwise even the Blinky program won't compile.
As mentioned before in this thread, the Getting Started guide does work with Ubuntu 18.04, as long as:

1. You follow the provided instructions to get a recent version of CMake (see https://docs.zephyrproject.org/latest/getting_started/installation_linux.html#install-requirements-and-dependencies, paragraph starting with " CMake version 3.13.1 or higher is required.").

2. You install the Zephyr SDK (which is recommended by the user guide).

Please feel free to comment on the Pull Request I sent to improve the current documentation, all feedback welcome.

https://github.com/zephyrproject-rtos/zephyr/pull/17771

Carles


It is an important documentation step that you actually try your
instructions on a 'virgin' system. All of us who have been doing
development for a long time have incrementally updated our systems and
we never follow the instructions on the getting started.

Lawrence King
Principal Developer
+1(416)627-7302

-----Original Message-----
From: Cufi, Carles <Carles.Cufi@nordicsemi.no>
Sent: Thursday, July 25, 2019 7:06 AM
To: andrew.p.boie@intel.com; Bolivar, Marti
<Marti.Bolivar@nordicsemi.no>; Lawrence King <lawrence.king@irdeto.com>;
Zephyr-users@lists.zephyrproject.org
Cc: users@lists.zephyrproject.org
Subject: RE: [Zephyr-users] Cmake and DTC Version issues installing
Zephyr



-----Original Message-----
From: users@lists.zephyrproject.org <users@lists.zephyrproject.org> On
Behalf Of Boie, Andrew P via Lists.Zephyrproject.Org
First problem is west wants to build with cmake newer than 1.13.3,
but the 'default' cmake in 18.04 LTS is much older, I was able to
work around this by removing cmake, and installing with pip3.
You can also do:

$ sudo snap install cmake

This works on 18.04 LTS.
Thanks Andrew!

I've posted this PR:
https://github.com/zephyrproject-rtos/zephyr/pull/17771


Carles



-Andrew


Lawrence King
 

Hi Marti

Thanks you for looking at my problem report.

It turns out I am not the first person to report a version problem with DTC, tsai.eric.h@gmail.com reported the same problem 10 days ago.

I had actually done a 'west init', I just missed writing that in the step-by-step. (see my own follow up email where I mentioned this.)

I do know how to work around the cmake (and DTC) version issues, the issue is the getting started guide doesn't tell me I need to do this.

According to the west team posts the bootstrapper has been deprecated, so I was going direct to the source rather than what is in the getting started guide.

The location of zephyr is where the 'latest' west put it. I didn't do a git clone, just west init.


In general the getting started guide needs update and (re)testing. Build a new VM with 18.04 LTS and follow the getting started guide, it won't work. But it will work fine with a 19.04 system.

Fortunately I see Charles is in the middle of updating the getting started guide so I am sure this will all be fixed in no time....

I'll try following the getting started guide again tomorrow.

Lawrence King
Principal Developer
+1(416)627-7302

-----Original Message-----
From: Bolivar, Marti <Marti.Bolivar@nordicsemi.no>
Sent: Wednesday, July 24, 2019 7:09 PM
To: Lawrence King <lawrence.king@irdeto.com>; Zephyr-users@lists.zephyrproject.org
Cc: users@lists.zephyrproject.org
Subject: Re: [Zephyr-users] Cmake and DTC Version issues installing Zephyr

"Lawrence King via Lists.Zephyrproject.Org"
<lawrence.king=irdeto.com@lists.zephyrproject.org> writes:

Today I wanted to ensure that my documentation on how to rebuild my code was complete and correct. I setup a new virtual machine with Ubuntu 18.04 LTS (which is the most recent LTS version available). I then install Zephyr following (mostly) the instructions in the getting started guide, followed by pulling my code from my local git and then attempting to build.

This is where things go bad.

First problem is west wants to build with cmake newer than 1.13.3, but
the 'default' cmake in 18.04 LTS is much older, I was able to work
around this by removing cmake, and installing with pip3.
Yes, Zephyr requires a recent CMake. Since you're on Ubuntu, you might want to check out the official cmake apt repository from KitWare, which does support 18.04.

https://blog.kitware.com/ubuntu-cmake-repository-now-available/


The 'latest' zephyr (actually west and cmake) insists that I need a
device tree compiler with version 1.4.6, unfortunately the latest is
version on Ubunti 18.04 is 1.4.5 (see
https://launchpad.net/ubuntu/+source/device-tree-compiler) hence I
can't build. OK, to work around this I went into
zephyr/cmake/host-tools.cmake and changed the MIN_DTC_VERSION to
1.4.5. OK, I am past this...
This isn't a west or a CMake requirement, in my opinion, but is instead a requirement based on the contents of the zephyr DTS files.

Since you're on Ubuntu, if you're building with the Zephyr SDK (which you seem to be), you should have all the host tools you need from there.
This includes a recent enough DTC.

I would not recommend manually overriding the CMake version enforcement checks for the dtc binary.


But things continue to be bad. The next issue I hit is cmake can't find the file zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake and when I look, sure enough the file isn't there. In fact the directory isn't there. There are directories for 0.10.0 and 0.9.5, but I installed zephyr tools 0.10.1 so I am not sure why the directory is not there, and more importantly why is cmake even looking there?.

Here is a 'step-by-step' of the process I followed after bringing up a
new Ubuntu 18.04 box:
This appears to be missing some steps. In particular, it doesn't show how you got the zephyr tree itself. Given that it's in ~/zephyr instead of something like ~/zephyrproject/zephyr, I suspect you didn't do a west init + west update. Is that the case? If so, I'd recommend trying again, but following the instructions in the getting started guide. Zephyr without west is possible, but harder to do correctly.


sudo apt-get upgrade
sudo apt-get install -y build-essential module-assistant sudo apt-get
install -y --no-install-recommends git ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
make gcc gcc-multilib
sudo apt remove cmake

sudo -H pip3 install --upgrade setuptools sudo -H pip3 install --user
cmake wget
https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10.1
/zephyr-sdk-0.10.1-setup.run
chmod +x zephyr-sdk-0.10.1-setup.run
sudo ./zephyr-sdk-0.10.1-setup.run
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr export
ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk
# cmake must be version 1.13.3 or better!
cmake --version

sudo -H pip3 install git+https://github.com/zephyrproject-rtos/west
west update
Out of curiosity, why are you building from the latest west master instead of running "pip3 install --user west" as recommended in the getting started documentation?


At this point I checkout my code from git and try to build, but it
fails just as well on the blinky program.
Based on the above (and the below output) it seems like you might have done "git clone https://github.com/zephyrproject-rtos/zephyr" or similar. This leaves out all the other modules.

I also don't see any mention here of installing the python packages in zephyr's scripts/requirements.txt, which is also mentioned in the getting started guide.

Please try these steps and holler if you continue to have problems:

https://docs.zephyrproject.org/latest/getting_started/index.html

Thanks,
Marti

cd zephyr/samples/blinky
export BPOARD=nrf52840_mdk
west -v build

Here is the output:
lawrence@Bob:~/zephyr/samples/basic/blinky$ west -v build
ZEPHYR_BASE=/home/lawrence/zephyr (origin: configfile) source
directory: /home/lawrence/zephyr/samples/basic/blinky
build directory: /home/lawrence/zephyr/samples/basic/blinky/build
(created)
BOARD: nrf52840_mdk (origin: env)
Running CMake: /usr/local/bin/cmake
-B/home/lawrence/zephyr/samples/basic/blinky/build
-S/home/lawrence/zephyr/samples/basic/blinky -GNinja
-DBOARD=nrf52840_mdk Zephyr version: 1.14.99
-- Found PythonInterp: /usr/bin/python3 (found suitable version
"3.6.8", minimum required is "3.4")
-- Selected BOARD nrf52840_mdk
CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/host-tools.cmake:46 (include):
include could not find load file:


/home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/host-tools.cmake:3 (include)
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:386 (include)
CMakeLists.txt:4 (include)


-- Found west: /usr/local/bin/west (found suitable version "0.6.0",
minimum required is "0.5.6") CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/generic.cmake:7 (include):
include could not find load file:

/home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/generic.cmake
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/generic_toolchain.cmake:64 (include)
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:402 (include)
CMakeLists.txt:4 (include)


-- Loading
/home/lawrence/zephyr/boards/arm/nrf52840_mdk/nrf52840_mdk.dts as base
-- Overlaying /home/lawrence/zephyr/dts/common/common.dts
CMake Error at /home/lawrence/zephyr/cmake/dts.cmake:126 (message):
command failed with return code: No such file or directory Call
Stack (most recent call first):
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:403 (include)
CMakeLists.txt:4 (include)


-- Configuring incomplete, errors occurred!
ERROR: command exited with status 1: /usr/local/bin/cmake
-B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 566, in main
args.handler(args, unknown)
File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 325, in ext_command_handler
command.run(args, unknown, topdir)
File "/usr/local/lib/python3.6/dist-packages/west/commands/__init__.py", line 112, in run
self.do_run(args, unknown)
File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 161, in do_run
self._run_cmake(board, origin, self.args.cmake_opts)
File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 380, in _run_cmake
run_cmake(final_cmake_args, dry_run=self.args.dry_run)
File "/home/lawrence/zephyr/scripts/west_commands/zcmake.py", line 68, in run_cmake
raise subprocess.CalledProcessError(p.returncode, p.args)
subprocess.CalledProcessError: Command '['/usr/local/bin/cmake', '-B/home/lawrence/zephyr/samples/basic/blinky/build', '-S/home/lawrence/zephyr/samples/basic/blinky', '-GNinja', '-DBOARD=nrf52840_mdk']' returned non-zero exit status 1.
lawrence@Bob:~/zephyr/samples/basic/blinky$

Lawrence King
Principal Developer
Connected Transport Market Unit
https://www.Irdeto.com
+1(416)627-7302

[1]<https://careers.irdeto.com/> [2 - linkedin] <https://www.linkedin.com/company/irdeto/> [3 - instagram] <https://www.instagram.com/lifeatirdeto/?hl=en> [4 - youtube] <https://www.youtube.com/channel/UCwgT0-wMbEqx3qLfrPIEnRg> [6 - facebook] <https://www.facebook.com/JoinIrdeto/> [7] <https://twitter.com/Irdeto?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor>

CONFIDENTIAL: This e-mail and any attachments are confidential and intended solely for the use of the individual(s) to whom it is addressed. It can contain proprietary confidential information and be subject to legal privilege and/or subject to a non-disclosure Agreement. Unauthorized use, disclosure or copying is strictly prohibited. If you are not the/an addressee and are in possession of this e-mail, please delete the message and notify us immediately. Please consider the environment before printing this e-mail. Thank you.





Andrei
 

Hi All,

I was having similar issue: west was failing, probably because there were
several revisions: a default one and bootstrapping one. I switched
default to the same revision as bootstrapping and it did help.

$ pip3 install --user west==0.6.0

Best regards
Andrei Emeltchenko

On Thu, Jul 25, 2019 at 02:16:57PM +0000, Lawrence King wrote:
Hi Marti

Thanks you for looking at my problem report.

It turns out I am not the first person to report a version problem with DTC, tsai.eric.h@gmail.com reported the same problem 10 days ago.

I had actually done a 'west init', I just missed writing that in the step-by-step. (see my own follow up email where I mentioned this.)

I do know how to work around the cmake (and DTC) version issues, the issue is the getting started guide doesn't tell me I need to do this.

According to the west team posts the bootstrapper has been deprecated, so I was going direct to the source rather than what is in the getting started guide.

The location of zephyr is where the 'latest' west put it. I didn't do a git clone, just west init.


In general the getting started guide needs update and (re)testing. Build a new VM with 18.04 LTS and follow the getting started guide, it won't work. But it will work fine with a 19.04 system.

Fortunately I see Charles is in the middle of updating the getting started guide so I am sure this will all be fixed in no time....

I'll try following the getting started guide again tomorrow.

Lawrence King
Principal Developer
+1(416)627-7302

-----Original Message-----
From: Bolivar, Marti <Marti.Bolivar@nordicsemi.no>
Sent: Wednesday, July 24, 2019 7:09 PM
To: Lawrence King <lawrence.king@irdeto.com>; Zephyr-users@lists.zephyrproject.org
Cc: users@lists.zephyrproject.org
Subject: Re: [Zephyr-users] Cmake and DTC Version issues installing Zephyr

"Lawrence King via Lists.Zephyrproject.Org"
<lawrence.king=irdeto.com@lists.zephyrproject.org> writes:

Today I wanted to ensure that my documentation on how to rebuild my code was complete and correct. I setup a new virtual machine with Ubuntu 18.04 LTS (which is the most recent LTS version available). I then install Zephyr following (mostly) the instructions in the getting started guide, followed by pulling my code from my local git and then attempting to build.

This is where things go bad.

First problem is west wants to build with cmake newer than 1.13.3, but
the 'default' cmake in 18.04 LTS is much older, I was able to work
around this by removing cmake, and installing with pip3.
Yes, Zephyr requires a recent CMake. Since you're on Ubuntu, you might want to check out the official cmake apt repository from KitWare, which does support 18.04.

https://blog.kitware.com/ubuntu-cmake-repository-now-available/


The 'latest' zephyr (actually west and cmake) insists that I need a
device tree compiler with version 1.4.6, unfortunately the latest is
version on Ubunti 18.04 is 1.4.5 (see
https://launchpad.net/ubuntu/+source/device-tree-compiler) hence I
can't build. OK, to work around this I went into
zephyr/cmake/host-tools.cmake and changed the MIN_DTC_VERSION to
1.4.5. OK, I am past this...
This isn't a west or a CMake requirement, in my opinion, but is instead a requirement based on the contents of the zephyr DTS files.

Since you're on Ubuntu, if you're building with the Zephyr SDK (which you seem to be), you should have all the host tools you need from there.
This includes a recent enough DTC.

I would not recommend manually overriding the CMake version enforcement checks for the dtc binary.


But things continue to be bad. The next issue I hit is cmake can't find the file zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake and when I look, sure enough the file isn't there. In fact the directory isn't there. There are directories for 0.10.0 and 0.9.5, but I installed zephyr tools 0.10.1 so I am not sure why the directory is not there, and more importantly why is cmake even looking there?.

Here is a 'step-by-step' of the process I followed after bringing up a
new Ubuntu 18.04 box:
This appears to be missing some steps. In particular, it doesn't show how you got the zephyr tree itself. Given that it's in ~/zephyr instead of something like ~/zephyrproject/zephyr, I suspect you didn't do a west init + west update. Is that the case? If so, I'd recommend trying again, but following the instructions in the getting started guide. Zephyr without west is possible, but harder to do correctly.


sudo apt-get upgrade
sudo apt-get install -y build-essential module-assistant sudo apt-get
install -y --no-install-recommends git ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
make gcc gcc-multilib
sudo apt remove cmake

sudo -H pip3 install --upgrade setuptools sudo -H pip3 install --user
cmake wget
https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10.1
/zephyr-sdk-0.10.1-setup.run
chmod +x zephyr-sdk-0.10.1-setup.run
sudo ./zephyr-sdk-0.10.1-setup.run
export ZEPHYR_TOOLCHAIN_VARIANT=zephyr export
ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk
# cmake must be version 1.13.3 or better!
cmake --version

sudo -H pip3 install git+https://github.com/zephyrproject-rtos/west
west update
Out of curiosity, why are you building from the latest west master instead of running "pip3 install --user west" as recommended in the getting started documentation?


At this point I checkout my code from git and try to build, but it
fails just as well on the blinky program.
Based on the above (and the below output) it seems like you might have done "git clone https://github.com/zephyrproject-rtos/zephyr" or similar. This leaves out all the other modules.

I also don't see any mention here of installing the python packages in zephyr's scripts/requirements.txt, which is also mentioned in the getting started guide.

Please try these steps and holler if you continue to have problems:

https://docs.zephyrproject.org/latest/getting_started/index.html

Thanks,
Marti

cd zephyr/samples/blinky
export BPOARD=nrf52840_mdk
west -v build

Here is the output:
lawrence@Bob:~/zephyr/samples/basic/blinky$ west -v build
ZEPHYR_BASE=/home/lawrence/zephyr (origin: configfile) source
directory: /home/lawrence/zephyr/samples/basic/blinky
build directory: /home/lawrence/zephyr/samples/basic/blinky/build
(created)
BOARD: nrf52840_mdk (origin: env)
Running CMake: /usr/local/bin/cmake
-B/home/lawrence/zephyr/samples/basic/blinky/build
-S/home/lawrence/zephyr/samples/basic/blinky -GNinja
-DBOARD=nrf52840_mdk Zephyr version: 1.14.99
-- Found PythonInterp: /usr/bin/python3 (found suitable version
"3.6.8", minimum required is "3.4")
-- Selected BOARD nrf52840_mdk
CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/host-tools.cmake:46 (include):
include could not find load file:


/home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/host-tools.cmake:3 (include)
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:386 (include)
CMakeLists.txt:4 (include)


-- Found west: /usr/local/bin/west (found suitable version "0.6.0",
minimum required is "0.5.6") CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/generic.cmake:7 (include):
include could not find load file:

/home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/generic.cmake
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/generic_toolchain.cmake:64 (include)
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:402 (include)
CMakeLists.txt:4 (include)


-- Loading
/home/lawrence/zephyr/boards/arm/nrf52840_mdk/nrf52840_mdk.dts as base
-- Overlaying /home/lawrence/zephyr/dts/common/common.dts
CMake Error at /home/lawrence/zephyr/cmake/dts.cmake:126 (message):
command failed with return code: No such file or directory Call
Stack (most recent call first):
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:403 (include)
CMakeLists.txt:4 (include)


-- Configuring incomplete, errors occurred!
ERROR: command exited with status 1: /usr/local/bin/cmake
-B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 566, in main
args.handler(args, unknown)
File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 325, in ext_command_handler
command.run(args, unknown, topdir)
File "/usr/local/lib/python3.6/dist-packages/west/commands/__init__.py", line 112, in run
self.do_run(args, unknown)
File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 161, in do_run
self._run_cmake(board, origin, self.args.cmake_opts)
File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 380, in _run_cmake
run_cmake(final_cmake_args, dry_run=self.args.dry_run)
File "/home/lawrence/zephyr/scripts/west_commands/zcmake.py", line 68, in run_cmake
raise subprocess.CalledProcessError(p.returncode, p.args)
subprocess.CalledProcessError: Command '['/usr/local/bin/cmake', '-B/home/lawrence/zephyr/samples/basic/blinky/build', '-S/home/lawrence/zephyr/samples/basic/blinky', '-GNinja', '-DBOARD=nrf52840_mdk']' returned non-zero exit status 1.
lawrence@Bob:~/zephyr/samples/basic/blinky$

Lawrence King
Principal Developer
Connected Transport Market Unit
https://www.Irdeto.com
+1(416)627-7302

[1]<https://careers.irdeto.com/> [2 - linkedin] <https://www.linkedin.com/company/irdeto/> [3 - instagram] <https://www.instagram.com/lifeatirdeto/?hl=en> [4 - youtube] <https://www.youtube.com/channel/UCwgT0-wMbEqx3qLfrPIEnRg> [6 - facebook] <https://www.facebook.com/JoinIrdeto/> [7] <https://twitter.com/Irdeto?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor>

CONFIDENTIAL: This e-mail and any attachments are confidential and intended solely for the use of the individual(s) to whom it is addressed. It can contain proprietary confidential information and be subject to legal privilege and/or subject to a non-disclosure Agreement. Unauthorized use, disclosure or copying is strictly prohibited. If you are not the/an addressee and are in possession of this e-mail, please delete the message and notify us immediately. Please consider the environment before printing this e-mail. Thank you.






Lawrence King
 

Dear All:

Charles has updated the instructions on the getting started guide. I have followed these instructions carefully on a 'new' Virtual Machine'. The instructions work on Ubuntu 18.04 and 19.04 as written, at the time I tested them (Around July 31st). Of course we are in an ever evolving world, Lunix, and Zephyr are always changing so just because the instructions are currently working doesn't mean they will always work, but at this time I am satisfied that they do work as written.

Thanks to Charles for the updates to the getting started guide.

Lawrence King
Principal Developer
+1(416)627-7302

-----Original Message-----
From: Andrei Emeltchenko <andrei.emeltchenko.news@gmail.com>
Sent: Tuesday, August 6, 2019 9:26 AM
To: Lawrence King <lawrence.king@irdeto.com>
Cc: Bolivar, Marti <Marti.Bolivar@nordicsemi.no>; Zephyr-users@lists.zephyrproject.org; users@lists.zephyrproject.org
Subject: Re: [Zephyr-users] Cmake and DTC Version issues installing Zephyr

Hi All,

I was having similar issue: west was failing, probably because there were several revisions: a default one and bootstrapping one. I switched default to the same revision as bootstrapping and it did help.

$ pip3 install --user west==0.6.0

Best regards
Andrei Emeltchenko

On Thu, Jul 25, 2019 at 02:16:57PM +0000, Lawrence King wrote:
Hi Marti

Thanks you for looking at my problem report.

It turns out I am not the first person to report a version problem with DTC, tsai.eric.h@gmail.com reported the same problem 10 days ago.

I had actually done a 'west init', I just missed writing that in the
step-by-step. (see my own follow up email where I mentioned this.)

I do know how to work around the cmake (and DTC) version issues, the issue is the getting started guide doesn't tell me I need to do this.

According to the west team posts the bootstrapper has been deprecated, so I was going direct to the source rather than what is in the getting started guide.

The location of zephyr is where the 'latest' west put it. I didn't do a git clone, just west init.


In general the getting started guide needs update and (re)testing. Build a new VM with 18.04 LTS and follow the getting started guide, it won't work. But it will work fine with a 19.04 system.

Fortunately I see Charles is in the middle of updating the getting started guide so I am sure this will all be fixed in no time....

I'll try following the getting started guide again tomorrow.

Lawrence King
Principal Developer
+1(416)627-7302

-----Original Message-----
From: Bolivar, Marti <Marti.Bolivar@nordicsemi.no>
Sent: Wednesday, July 24, 2019 7:09 PM
To: Lawrence King <lawrence.king@irdeto.com>;
Zephyr-users@lists.zephyrproject.org
Cc: users@lists.zephyrproject.org
Subject: Re: [Zephyr-users] Cmake and DTC Version issues installing
Zephyr

"Lawrence King via Lists.Zephyrproject.Org"
<lawrence.king=irdeto.com@lists.zephyrproject.org> writes:

Today I wanted to ensure that my documentation on how to rebuild my code was complete and correct. I setup a new virtual machine with Ubuntu 18.04 LTS (which is the most recent LTS version available). I then install Zephyr following (mostly) the instructions in the getting started guide, followed by pulling my code from my local git and then attempting to build.

This is where things go bad.

First problem is west wants to build with cmake newer than 1.13.3,
but the 'default' cmake in 18.04 LTS is much older, I was able to
work around this by removing cmake, and installing with pip3.
Yes, Zephyr requires a recent CMake. Since you're on Ubuntu, you might want to check out the official cmake apt repository from KitWare, which does support 18.04.

https://blog.kitware.com/ubuntu-cmake-repository-now-available/


The 'latest' zephyr (actually west and cmake) insists that I need a
device tree compiler with version 1.4.6, unfortunately the latest
is version on Ubunti 18.04 is 1.4.5 (see
https://launchpad.net/ubuntu/+source/device-tree-compiler) hence I
can't build. OK, to work around this I went into
zephyr/cmake/host-tools.cmake and changed the MIN_DTC_VERSION to
1.4.5. OK, I am past this...
This isn't a west or a CMake requirement, in my opinion, but is instead a requirement based on the contents of the zephyr DTS files.

Since you're on Ubuntu, if you're building with the Zephyr SDK (which you seem to be), you should have all the host tools you need from there.
This includes a recent enough DTC.

I would not recommend manually overriding the CMake version enforcement checks for the dtc binary.


But things continue to be bad. The next issue I hit is cmake can't find the file zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake and when I look, sure enough the file isn't there. In fact the directory isn't there. There are directories for 0.10.0 and 0.9.5, but I installed zephyr tools 0.10.1 so I am not sure why the directory is not there, and more importantly why is cmake even looking there?.

Here is a 'step-by-step' of the process I followed after bringing up
a new Ubuntu 18.04 box:
This appears to be missing some steps. In particular, it doesn't show how you got the zephyr tree itself. Given that it's in ~/zephyr instead of something like ~/zephyrproject/zephyr, I suspect you didn't do a west init + west update. Is that the case? If so, I'd recommend trying again, but following the instructions in the getting started guide. Zephyr without west is possible, but harder to do correctly.


sudo apt-get upgrade
sudo apt-get install -y build-essential module-assistant sudo
apt-get install -y --no-install-recommends git ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
make gcc gcc-multilib
sudo apt remove cmake

sudo -H pip3 install --upgrade setuptools sudo -H pip3 install
--user cmake wget
https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.10
.1
/zephyr-sdk-0.10.1-setup.run
chmod +x zephyr-sdk-0.10.1-setup.run sudo
./zephyr-sdk-0.10.1-setup.run export ZEPHYR_TOOLCHAIN_VARIANT=zephyr
export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk
# cmake must be version 1.13.3 or better!
cmake --version

sudo -H pip3 install git+https://github.com/zephyrproject-rtos/west
west update
Out of curiosity, why are you building from the latest west master instead of running "pip3 install --user west" as recommended in the getting started documentation?


At this point I checkout my code from git and try to build, but it
fails just as well on the blinky program.
Based on the above (and the below output) it seems like you might have done "git clone https://github.com/zephyrproject-rtos/zephyr" or similar. This leaves out all the other modules.

I also don't see any mention here of installing the python packages in zephyr's scripts/requirements.txt, which is also mentioned in the getting started guide.

Please try these steps and holler if you continue to have problems:

https://docs.zephyrproject.org/latest/getting_started/index.html

Thanks,
Marti

cd zephyr/samples/blinky
export BPOARD=nrf52840_mdk
west -v build

Here is the output:
lawrence@Bob:~/zephyr/samples/basic/blinky$ west -v build
ZEPHYR_BASE=/home/lawrence/zephyr (origin: configfile) source
directory: /home/lawrence/zephyr/samples/basic/blinky
build directory: /home/lawrence/zephyr/samples/basic/blinky/build
(created)
BOARD: nrf52840_mdk (origin: env)
Running CMake: /usr/local/bin/cmake
-B/home/lawrence/zephyr/samples/basic/blinky/build
-S/home/lawrence/zephyr/samples/basic/blinky -GNinja
-DBOARD=nrf52840_mdk Zephyr version: 1.14.99
-- Found PythonInterp: /usr/bin/python3 (found suitable version
"3.6.8", minimum required is "3.4")
-- Selected BOARD nrf52840_mdk
CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/host-tools.cmake:46 (include):
include could not find load file:


/home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/host-tools.cmake
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/host-tools.cmake:3 (include)
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:386 (include)
CMakeLists.txt:4 (include)


-- Found west: /usr/local/bin/west (found suitable version "0.6.0",
minimum required is "0.5.6") CMake Error at /home/lawrence/zephyr/cmake/toolchain/zephyr/generic.cmake:7 (include):
include could not find load file:


/home/lawrence/zephyr/cmake/toolchain/zephyr/0.10.1/generic.cmake
Call Stack (most recent call first):
/home/lawrence/zephyr/cmake/generic_toolchain.cmake:64 (include)
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:402 (include)
CMakeLists.txt:4 (include)


-- Loading
/home/lawrence/zephyr/boards/arm/nrf52840_mdk/nrf52840_mdk.dts as
base
-- Overlaying /home/lawrence/zephyr/dts/common/common.dts
CMake Error at /home/lawrence/zephyr/cmake/dts.cmake:126 (message):
command failed with return code: No such file or directory Call
Stack (most recent call first):
/home/lawrence/zephyr/cmake/app/boilerplate.cmake:403 (include)
CMakeLists.txt:4 (include)


-- Configuring incomplete, errors occurred!
ERROR: command exited with status 1: /usr/local/bin/cmake
-B/home/lawrence/zephyr/samples/basic/blinky/build -S/home/lawrence/zephyr/samples/basic/blinky -GNinja -DBOARD=nrf52840_mdk Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 566, in main
args.handler(args, unknown)
File "/usr/local/lib/python3.6/dist-packages/west/main.py", line 325, in ext_command_handler
command.run(args, unknown, topdir)
File "/usr/local/lib/python3.6/dist-packages/west/commands/__init__.py", line 112, in run
self.do_run(args, unknown)
File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 161, in do_run
self._run_cmake(board, origin, self.args.cmake_opts)
File "/home/lawrence/zephyr/scripts/west_commands/build.py", line 380, in _run_cmake
run_cmake(final_cmake_args, dry_run=self.args.dry_run)
File "/home/lawrence/zephyr/scripts/west_commands/zcmake.py", line 68, in run_cmake
raise subprocess.CalledProcessError(p.returncode, p.args)
subprocess.CalledProcessError: Command '['/usr/local/bin/cmake', '-B/home/lawrence/zephyr/samples/basic/blinky/build', '-S/home/lawrence/zephyr/samples/basic/blinky', '-GNinja', '-DBOARD=nrf52840_mdk']' returned non-zero exit status 1.
lawrence@Bob:~/zephyr/samples/basic/blinky$

Lawrence King
Principal Developer
Connected Transport Market Unit
https://www.Irdeto.com
+1(416)627-7302

[1]<https://careers.irdeto.com/> [2 - linkedin] <https://www.linkedin.com/company/irdeto/> [3 - instagram] <https://www.instagram.com/lifeatirdeto/?hl=en> [4 - youtube] <https://www.youtube.com/channel/UCwgT0-wMbEqx3qLfrPIEnRg> [6 - facebook] <https://www.facebook.com/JoinIrdeto/> [7] <https://twitter.com/Irdeto?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor>

CONFIDENTIAL: This e-mail and any attachments are confidential and intended solely for the use of the individual(s) to whom it is addressed. It can contain proprietary confidential information and be subject to legal privilege and/or subject to a non-disclosure Agreement. Unauthorized use, disclosure or copying is strictly prohibited. If you are not the/an addressee and are in possession of this e-mail, please delete the message and notify us immediately. Please consider the environment before printing this e-mail. Thank you.