west: multiple local west project installations


David Leach
 

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


Jan Van Winkel <jan.van_winkel@...>
 

Hi David,

I use west for 3 different projects without any problems but I have to admit that I always created the new projects from a fresh shell, so maybe some environment variables are stuck.

Regards,
Jan

On Fri, Aug 16, 2019 at 6:11 AM David Leach <david.leach@...> wrote:

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


Wang, Steven L <steven.l.wang@...>
 

Hi David:

I'm not sure if I understand your question correctly.

Do you mean that you  created "zephyrproject_2" under "/home/dleach/work/zephyrproject" and run "west init"? If so, I don't think you should create "zephyrproject_2" like this. You should create it in another directory, rather than "/home/dleach/work/zephyrproject".

-Steven

On 8/16/2019 12:11 PM, David Leach wrote:

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


Paul Sokolovsky
 

Hello David,

On Fri, 16 Aug 2019 04:11:32 +0000
"David Leach" <david.leach@...> wrote:

Can I use west to initialize multiple working directories?

I'm experimenting with adding a module and I wanted to a setup so I
created a 'zephyrproject_2' directory and ran a 'west init' command
with some additional parameters to use the west.yaml of my url/branch
but it returns an error which leads me to think a system can only
have one installation:

FATAL ERROR: already in an installation
(/home/dleach/work/zephyrproject), aborting
My understanding is that *west* installation (i.e. the tool itself) is
indeed single/global (though you probably can work that around using
Python virtualenv's). But west can definitely manage multiple local
"workspaces". I figure the requirement for those is that they don't
overlap (which includes containment).

For example, I historically had Zephyr checkout under
~/projects-3rdparty/Embedded/Zephyr/ , and when west became
unavoidable, I converted that path to a west "workspace".

Recently, I wanted to create another workspace, and tried to do that
under the same ~/projects-3rdparty/Embedded/Zephyr/, but it failed with
a message similar to the above. So, I went to create another workspace
under ~/projects-3rdparty/Embedded/zephyr-googleiot/ , which worked.



David Leach

NXP Semiconductors
phone: +1.210.241.6761
Email: david.leach@...<mailto:david.leach@...>

[cid:image002.png@...]

** PROPRIETARY & COMPANY-CONFIDENTIAL **





--
Best Regards,
Paul

Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro
http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog


David Leach
 

no. I want to initialize a second Zephyr project area in parallel. So for example:

 

/home/dleach/work/zephyrproject

/home/dleach/work/zephyrproject2

 

David

 

From: devel@... <devel@...> On Behalf Of via Lists.Zephyrproject.Org
Sent: Friday, August 16, 2019 12:52 AM
To: devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

Hi David:

I'm not sure if I understand your question correctly.

Do you mean that you  created "zephyrproject_2" under "/home/dleach/work/zephyrproject" and run "west init"? If so, I don't think you should create "zephyrproject_2" like this. You should create it in another directory, rather than "/home/dleach/work/zephyrproject".

-Steven

On 8/16/2019 12:11 PM, David Leach wrote:

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


David Leach
 

Yeah, I'm trying to do some work to add a module when requires 1) adding the module, 2) updating west.yaml, and 3) making changes to the zephyr CMakeLists.txt tree to build the module. But I didn't want to muck with my current project area so hoped that I could just create a new project area.

Unfortunate that it is global if that is true.

David

-----Original Message-----
From: Paul Sokolovsky <paul.sokolovsky@...>
Sent: Friday, August 16, 2019 2:36 AM
To: David Leach <david.leach@...>
Cc: zephyr-devel <zephyr-devel@...>
Subject: Re: [Zephyr-devel] west: multiple local west project installations

Hello David,

On Fri, 16 Aug 2019 04:11:32 +0000
"David Leach" <david.leach@...> wrote:

Can I use west to initialize multiple working directories?

I'm experimenting with adding a module and I wanted to a setup so I
created a 'zephyrproject_2' directory and ran a 'west init' command
with some additional parameters to use the west.yaml of my url/branch
but it returns an error which leads me to think a system can only have
one installation:

FATAL ERROR: already in an installation
(/home/dleach/work/zephyrproject), aborting
My understanding is that *west* installation (i.e. the tool itself) is indeed single/global (though you probably can work that around using Python virtualenv's). But west can definitely manage multiple local "workspaces". I figure the requirement for those is that they don't overlap (which includes containment).

For example, I historically had Zephyr checkout under ~/projects-3rdparty/Embedded/Zephyr/ , and when west became unavoidable, I converted that path to a west "workspace".

Recently, I wanted to create another workspace, and tried to do that under the same ~/projects-3rdparty/Embedded/Zephyr/, but it failed with a message similar to the above. So, I went to create another workspace under ~/projects-3rdparty/Embedded/zephyr-googleiot/ , which worked.



David Leach

NXP Semiconductors
phone: +1.210.241.6761
Email: david.leach@...<mailto:david.leach@...>

[cid:image002.png@...]

** PROPRIETARY & COMPANY-CONFIDENTIAL **





--
Best Regards,
Paul

Linaro.org | Open source software for ARM SoCs Follow Linaro: https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.facebook.com%2Fpages%2FLinaro&;data=02%7C01%7Cdavid.leach%40nxp.com%7Ce9d2c87148654f168c7908d7221c5493%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637015377391350705&amp;sdata=8HqSPZCEGE8sXzLzJ3J6R3%2BUfBLCrt6EQ3PMZuCBILw%3D&amp;reserved=0
https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftwitter.com%2F%23!%2Flinaroorg&amp;data=02%7C01%7Cdavid.leach%40nxp.com%7Ce9d2c87148654f168c7908d7221c5493%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637015377391350705&amp;sdata=1hfXId%2Ffe70iNsIyCJ2xAUKNephzxux%2BiN52rSDe8mQ%3D&amp;reserved=0 - https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linaro.org%2Flinaro-blog&;data=02%7C01%7Cdavid.leach%40nxp.com%7Ce9d2c87148654f168c7908d7221c5493%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637015377391350705&amp;sdata=sFpqi%2BGwnrcW9ya8h3VZf9lXI4NnTYu0BqwOyOkWILI%3D&amp;reserved=0


Carles Cufi
 

I am not quite sure I understand David.

 

“west init” initializes an installation. It creates a top-level folder which then contains a .west/ subfolder and a bunch of other folders that correspond to the manifest repo and west projects.

Once you are inside that installation you cannot really refer to another installation, but you *can* switch the path to the manifest repository by using your ~/.westconfig or the “west config” command. Say you have a zephyrproject/ top-level installation folder and there’s a zephyr/ folder inside it, at the same level as the .west/ folder. Say also that you have a myrepo/ folder at the same folder level that contains a myrepo/west.yml with your own manifest. Then you can do:

 

west config manifest.path zephyr (&& west update)

west config manifest.path myrepo (&& west update)

 

to switch between manifest repos while remaining in a single installation.

 

Carles

 

From: devel@... <devel@...> On Behalf Of David Leach via Lists.Zephyrproject.Org
Sent: 16 August 2019 15:58
To: steven.l.wang@...; devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

no. I want to initialize a second Zephyr project area in parallel. So for example:

 

/home/dleach/work/zephyrproject

/home/dleach/work/zephyrproject2

 

David

 

From: devel@... <devel@...> On Behalf Of via Lists.Zephyrproject.Org
Sent: Friday, August 16, 2019 12:52 AM
To: devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

Hi David:

I'm not sure if I understand your question correctly.

Do you mean that you  created "zephyrproject_2" under "/home/dleach/work/zephyrproject" and run "west init"? If so, I don't think you should create "zephyrproject_2" like this. You should create it in another directory, rather than "/home/dleach/work/zephyrproject".

-Steven

On 8/16/2019 12:11 PM, David Leach wrote:

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


David Leach
 

I want to be able to have multiple installations on my system. To expand out my example:

 

  • /home/dleach/work/zephyrproject
    • modules
    • zephyr
    • net-tools
    • tools
    • .west
  • /home/dleach/work/mytestzephyrproject
    • modules
    • zephyr
    • net-tools
    • tools
    • .west

 

I understand that I can’t instantiate a separate project directory tree from within a west created project area but I think I should be able to create multiple project directory trees. But the indication is that using west commits your whole machine to a single project.

 

David

 

From: Cufi, Carles <Carles.Cufi@...>
Sent: Friday, August 16, 2019 9:08 AM
To: David Leach <david.leach@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

I am not quite sure I understand David.

 

“west init” initializes an installation. It creates a top-level folder which then contains a .west/ subfolder and a bunch of other folders that correspond to the manifest repo and west projects.

Once you are inside that installation you cannot really refer to another installation, but you *can* switch the path to the manifest repository by using your ~/.westconfig or the “west config” command. Say you have a zephyrproject/ top-level installation folder and there’s a zephyr/ folder inside it, at the same level as the .west/ folder. Say also that you have a myrepo/ folder at the same folder level that contains a myrepo/west.yml with your own manifest. Then you can do:

 

west config manifest.path zephyr (&& west update)

west config manifest.path myrepo (&& west update)

 

to switch between manifest repos while remaining in a single installation.

 

Carles

 

From: devel@... <devel@...> On Behalf Of David Leach via Lists.Zephyrproject.Org
Sent: 16 August 2019 15:58
To: steven.l.wang@...; devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

no. I want to initialize a second Zephyr project area in parallel. So for example:

 

/home/dleach/work/zephyrproject

/home/dleach/work/zephyrproject2

 

David

 

From: devel@... <devel@...> On Behalf Of via Lists.Zephyrproject.Org
Sent: Friday, August 16, 2019 12:52 AM
To: devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

Hi David:

I'm not sure if I understand your question correctly.

Do you mean that you  created "zephyrproject_2" under "/home/dleach/work/zephyrproject" and run "west init"? If so, I don't think you should create "zephyrproject_2" like this. You should create it in another directory, rather than "/home/dleach/work/zephyrproject".

-Steven

On 8/16/2019 12:11 PM, David Leach wrote:

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


Carles Cufi
 

That is actually incorrect, you can have as many installations as you want. In your case:

 

cd ~/work

west init zephyrproject

west init mytestzephyrproject

cd zephyrproject

west update

cd ../mytestzephyrproject

west update

 

and then do whatever you want in each of the installations, and choose one by either going into one:

 

vim west.yml

<edit>

west update // will only affect mytestzephyrproject

and so on.

 

I am not sure what makes you think that you cannot have multiple west/zephyr installations in your system, I have several myself without any problems at all.

Note that the zephyr.base-prefer setting will affect how ZEPHYR_BASE is determined though: https://docs.zephyrproject.org/latest/guides/west/config.html

 

Carles

 

 

From: David Leach <david.leach@...>
Sent: 16 August 2019 17:12
To: Cufi, Carles <Carles.Cufi@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

I want to be able to have multiple installations on my system. To expand out my example:

 

  • /home/dleach/work/zephyrproject
    • modules
    • zephyr
    • net-tools
    • tools
    • .west
  • /home/dleach/work/mytestzephyrproject
    • modules
    • zephyr
    • net-tools
    • tools
    • .west

 

I understand that I can’t instantiate a separate project directory tree from within a west created project area but I think I should be able to create multiple project directory trees. But the indication is that using west commits your whole machine to a single project.

 

David

 

From: Cufi, Carles <Carles.Cufi@...>
Sent: Friday, August 16, 2019 9:08 AM
To: David Leach <david.leach@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

I am not quite sure I understand David.

 

“west init” initializes an installation. It creates a top-level folder which then contains a .west/ subfolder and a bunch of other folders that correspond to the manifest repo and west projects.

Once you are inside that installation you cannot really refer to another installation, but you *can* switch the path to the manifest repository by using your ~/.westconfig or the “west config” command. Say you have a zephyrproject/ top-level installation folder and there’s a zephyr/ folder inside it, at the same level as the .west/ folder. Say also that you have a myrepo/ folder at the same folder level that contains a myrepo/west.yml with your own manifest. Then you can do:

 

west config manifest.path zephyr (&& west update)

west config manifest.path myrepo (&& west update)

 

to switch between manifest repos while remaining in a single installation.

 

Carles

 

From: devel@... <devel@...> On Behalf Of David Leach via Lists.Zephyrproject.Org
Sent: 16 August 2019 15:58
To: steven.l.wang@...; devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

no. I want to initialize a second Zephyr project area in parallel. So for example:

 

/home/dleach/work/zephyrproject

/home/dleach/work/zephyrproject2

 

David

 

From: devel@... <devel@...> On Behalf Of via Lists.Zephyrproject.Org
Sent: Friday, August 16, 2019 12:52 AM
To: devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

Hi David:

I'm not sure if I understand your question correctly.

Do you mean that you  created "zephyrproject_2" under "/home/dleach/work/zephyrproject" and run "west init"? If so, I don't think you should create "zephyrproject_2" like this. You should create it in another directory, rather than "/home/dleach/work/zephyrproject".

-Steven

On 8/16/2019 12:11 PM, David Leach wrote:

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


David Leach
 

Carles,

 

See the following:

 

dleach@dleach-test:~/work$ west init zephyrproject2

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

From: Cufi, Carles <Carles.Cufi@...>
Sent: Friday, August 16, 2019 10:23 AM
To: David Leach <david.leach@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

That is actually incorrect, you can have as many installations as you want. In your case:

 

cd ~/work

west init zephyrproject

west init mytestzephyrproject

cd zephyrproject

west update

cd ../mytestzephyrproject

west update

 

and then do whatever you want in each of the installations, and choose one by either going into one:

 

vim west.yml

<edit>

west update // will only affect mytestzephyrproject

and so on.

 

I am not sure what makes you think that you cannot have multiple west/zephyr installations in your system, I have several myself without any problems at all.

Note that the zephyr.base-prefer setting will affect how ZEPHYR_BASE is determined though: https://docs.zephyrproject.org/latest/guides/west/config.html

 

Carles

 

 

From: David Leach <david.leach@...>
Sent: 16 August 2019 17:12
To: Cufi, Carles <Carles.Cufi@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

I want to be able to have multiple installations on my system. To expand out my example:

 

  • /home/dleach/work/zephyrproject
    • modules
    • zephyr
    • net-tools
    • tools
    • .west
  • /home/dleach/work/mytestzephyrproject
    • modules
    • zephyr
    • net-tools
    • tools
    • .west

 

I understand that I can’t instantiate a separate project directory tree from within a west created project area but I think I should be able to create multiple project directory trees. But the indication is that using west commits your whole machine to a single project.

 

David

 

From: Cufi, Carles <Carles.Cufi@...>
Sent: Friday, August 16, 2019 9:08 AM
To: David Leach <david.leach@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

I am not quite sure I understand David.

 

“west init” initializes an installation. It creates a top-level folder which then contains a .west/ subfolder and a bunch of other folders that correspond to the manifest repo and west projects.

Once you are inside that installation you cannot really refer to another installation, but you *can* switch the path to the manifest repository by using your ~/.westconfig or the “west config” command. Say you have a zephyrproject/ top-level installation folder and there’s a zephyr/ folder inside it, at the same level as the .west/ folder. Say also that you have a myrepo/ folder at the same folder level that contains a myrepo/west.yml with your own manifest. Then you can do:

 

west config manifest.path zephyr (&& west update)

west config manifest.path myrepo (&& west update)

 

to switch between manifest repos while remaining in a single installation.

 

Carles

 

From: devel@... <devel@...> On Behalf Of David Leach via Lists.Zephyrproject.Org
Sent: 16 August 2019 15:58
To: steven.l.wang@...; devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

no. I want to initialize a second Zephyr project area in parallel. So for example:

 

/home/dleach/work/zephyrproject

/home/dleach/work/zephyrproject2

 

David

 

From: devel@... <devel@...> On Behalf Of via Lists.Zephyrproject.Org
Sent: Friday, August 16, 2019 12:52 AM
To: devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

Hi David:

I'm not sure if I understand your question correctly.

Do you mean that you  created "zephyrproject_2" under "/home/dleach/work/zephyrproject" and run "west init"? If so, I don't think you should create "zephyrproject_2" like this. You should create it in another directory, rather than "/home/dleach/work/zephyrproject".

-Steven

On 8/16/2019 12:11 PM, David Leach wrote:

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


David Leach
 

For historical tracking, the error is because I have ZEPHYR_BASE environment variable set. Carles and I agree that the error message is not very helpful.

 

David

 

From: devel@... <devel@...> On Behalf Of David Leach via Lists.Zephyrproject.Org
Sent: Friday, August 16, 2019 10:27 AM
To: Cufi, Carles <Carles.Cufi@...>; steven.l.wang@...; devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

Carles,

 

See the following:

 

dleach@dleach-test:~/work$ west init zephyrproject2

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

From: Cufi, Carles <Carles.Cufi@...>
Sent: Friday, August 16, 2019 10:23 AM
To: David Leach <david.leach@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

That is actually incorrect, you can have as many installations as you want. In your case:

 

cd ~/work

west init zephyrproject

west init mytestzephyrproject

cd zephyrproject

west update

cd ../mytestzephyrproject

west update

 

and then do whatever you want in each of the installations, and choose one by either going into one:

 

vim west.yml

<edit>

west update // will only affect mytestzephyrproject

and so on.

 

I am not sure what makes you think that you cannot have multiple west/zephyr installations in your system, I have several myself without any problems at all.

Note that the zephyr.base-prefer setting will affect how ZEPHYR_BASE is determined though: https://docs.zephyrproject.org/latest/guides/west/config.html

 

Carles

 

 

From: David Leach <david.leach@...>
Sent: 16 August 2019 17:12
To: Cufi, Carles <Carles.Cufi@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

I want to be able to have multiple installations on my system. To expand out my example:

 

  • /home/dleach/work/zephyrproject
    • modules
    • zephyr
    • net-tools
    • tools
    • .west
  • /home/dleach/work/mytestzephyrproject
    • modules
    • zephyr
    • net-tools
    • tools
    • .west

 

I understand that I can’t instantiate a separate project directory tree from within a west created project area but I think I should be able to create multiple project directory trees. But the indication is that using west commits your whole machine to a single project.

 

David

 

From: Cufi, Carles <Carles.Cufi@...>
Sent: Friday, August 16, 2019 9:08 AM
To: David Leach <david.leach@...>; steven.l.wang@...; devel@...
Subject: RE: [Zephyr-devel] west: multiple local west project installations

 

I am not quite sure I understand David.

 

“west init” initializes an installation. It creates a top-level folder which then contains a .west/ subfolder and a bunch of other folders that correspond to the manifest repo and west projects.

Once you are inside that installation you cannot really refer to another installation, but you *can* switch the path to the manifest repository by using your ~/.westconfig or the “west config” command. Say you have a zephyrproject/ top-level installation folder and there’s a zephyr/ folder inside it, at the same level as the .west/ folder. Say also that you have a myrepo/ folder at the same folder level that contains a myrepo/west.yml with your own manifest. Then you can do:

 

west config manifest.path zephyr (&& west update)

west config manifest.path myrepo (&& west update)

 

to switch between manifest repos while remaining in a single installation.

 

Carles

 

From: devel@... <devel@...> On Behalf Of David Leach via Lists.Zephyrproject.Org
Sent: 16 August 2019 15:58
To: steven.l.wang@...; devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

no. I want to initialize a second Zephyr project area in parallel. So for example:

 

/home/dleach/work/zephyrproject

/home/dleach/work/zephyrproject2

 

David

 

From: devel@... <devel@...> On Behalf Of via Lists.Zephyrproject.Org
Sent: Friday, August 16, 2019 12:52 AM
To: devel@...
Cc: devel@...
Subject: Re: [Zephyr-devel] west: multiple local west project installations

 

Hi David:

I'm not sure if I understand your question correctly.

Do you mean that you  created "zephyrproject_2" under "/home/dleach/work/zephyrproject" and run "west init"? If so, I don't think you should create "zephyrproject_2" like this. You should create it in another directory, rather than "/home/dleach/work/zephyrproject".

-Steven

On 8/16/2019 12:11 PM, David Leach wrote:

Can I use west to initialize multiple working directories?

 

I’m experimenting with adding a module and I wanted to a setup so I created a ‘zephyrproject_2’ directory and ran a ‘west init’ command with some additional parameters to use the west.yaml of my url/branch but it returns an error which leads me to think a system can only have one installation:

 

FATAL ERROR: already in an installation (/home/dleach/work/zephyrproject), aborting

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 

** PROPRIETARY & COMPANY-CONFIDENTIAL **

 


Bolivar, Marti
 

"David Leach via Lists.Zephyrproject.Org"
<david.leach=nxp.com@...> writes:

For historical tracking, the error is because I have ZEPHYR_BASE
environment variable set. Carles and I agree that the error message is
not very helpful.
FTR, I rarely have ZEPHYR_BASE set in my parent environment because I
only need it to run sanitycheck, which I usually do in a new terminal
window since it takes forever. All the usual west-based workflows
(build, flash, debug, etc.) work just fine without ZEPHYR_BASE set as
long as you are running them from a directory in the installation.

Since I don't keep my applications in ~, but rather in ~/zephyrproject,
this works for me and I never run into this problem.

I have a hopefully more helpful error message for people who do run into
this proposed here:

https://github.com/zephyrproject-rtos/west/pull/290

This PR adds the following to the error message:

Note:
In your environment, ZEPHYR_BASE is set to:
<whatever>
This forces west to search for an installation there.
Try unsetting ZEPHYR_BASE and re-running this command.

If you have some suggestions, please feel free to comment there.

Sorry for the trouble.

Thanks,
Marti