[libcamera-devel] Add alternative meson install command
diff mbox series

Message ID 20210322100550.38227-1-vedantparanjape160201@gmail.com
State Superseded
Headers show
Series
  • [libcamera-devel] Add alternative meson install command
Related show

Commit Message

Vedant Paranjape March 22, 2021, 10:05 a.m. UTC
Changelog:

* Updated README.rst to describ meson install issue

While installing meson using pip3 install --user meson, due to python path issues, build.ninja can't be located by ninja.
It gives the following error on ninja -C build install:

ninja: Entering directory `build'
ninja: error: loading 'build.ninja': No such file or directory

After uninstalling meson and installing it without --user argument solved the issue.

Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
---
 README.rst | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Paul Elder March 22, 2021, 10:20 a.m. UTC | #1
Hi Vedant,

Thank you for the patch.

This is v3, so the subject should have [PATCH v3]

On Mon, Mar 22, 2021 at 03:35:50PM +0530, Vedant Paranjape wrote:
> Changelog:
> 
> * Updated README.rst to describ meson install issue

This should go below, as shown below, in imperative form.

You don't need "Changelog:" either, this entire section (until "---") is
called the changelog.

> 
> While installing meson using pip3 install --user meson, due to python path issues, build.ninja can't be located by ninja.

Line length 75 characters.

> It gives the following error on ninja -C build install:
> 
> ninja: Entering directory `build'
> ninja: error: loading 'build.ninja': No such file or directory
> 
> After uninstalling meson and installing it without --user argument solved the issue.

Update README.rst to describe the meson install issue and solutions.

> 
> Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
> ---

Right here, you can put what changed between versions, like:

Changes in v3:
- expanded the explanation of the issue
- moved the explanation out of the dependencies section

This part is more lenient and freeform, as its purpose is to help
reviewers know what changed in between versions (afaik github just
discards it?) and it won't be committed.

>  README.rst | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/README.rst b/README.rst
> index 1427c714..b86bcc1d 100644
> --- a/README.rst
> +++ b/README.rst
> @@ -37,6 +37,13 @@ To fetch the sources, build and install:
>    meson build
>    ninja -C build install
>  
> +Several users have reported issues with meson installation, crux of the issue is a potential version
> +mismatch between the version that is installed in root, and version that the normal user

s/is installed in root/that root uses/

s/and version/and the version/

> +uses. On calling meson, it can't find the build.ninja module. This can be solved by two ways: 

s/by/in/

Was the issue occurring when you "call meson" to generate the build
directory:

meson build

Or was it when you try to ninja install:

ninja -C build install

> +
> +1) Don't install meson again if it is already installed system-wide
> +2) If you still went ahead and installed, uninstall meson using pip, and install again without --user argument

For all of this, line length at 80 characters.

s/--user/the --user/

I think "If you still went ahead and installed" should be worded
differently. Maybe "If a meson that is different from the system-wide
meson is installed"? I'm not too certain about this, so it's up to you.


Paul

> +
>  Dependencies
>  ~~~~~~~~~~~~
>  
> -- 
> 2.25.1
Nicolas Dufresne March 22, 2021, 7:22 p.m. UTC | #2
Le lundi 22 mars 2021 à 15:35 +0530, Vedant Paranjape a écrit :
> Changelog:
> 
> * Updated README.rst to describ meson install issue
> 
> While installing meson using pip3 install --user meson, due to python path
> issues, build.ninja can't be located by ninja.
> It gives the following error on ninja -C build install:

This is very vague. I was told on IRC that the error you have hit is when you
used "meson install" in order to install libcamera system wide. This this
context it can fail in two ways:

1) policy kit removes some of your environment which cause the local python
module to be lost, and then system meson endup being used
2) sudo does not respect your user path, which is likely set in .bashrc, hence
the environment is lost, and you endup using your system meson

Perhaps what you want to do is to add a "Trouble Shooting" section, and have
more precise explanation on which feature may wait and what workaround may be
used. This is in my opinion a very niche use case. It's also not something I
would recommend to use as development work-flow. libcamera source code is
designed to be run in-place for development purpose, and installing should be
used to make packages or your distribution instead.

> 
> ninja: Entering directory `build'
> ninja: error: loading 'build.ninja': No such file or directory
> 
> After uninstalling meson and installing it without --user argument solved the
> issue.
> 
> Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
> ---
>  README.rst | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/README.rst b/README.rst
> index 1427c714..b86bcc1d 100644
> --- a/README.rst
> +++ b/README.rst
> @@ -37,6 +37,13 @@ To fetch the sources, build and install:
>    meson build
>    ninja -C build install
>  
> +Several users have reported issues with meson installation, crux of the issue
> is a potential version
> +mismatch between the version that is installed in root, and version that the
> normal user
> +uses. On calling meson, it can't find the build.ninja module. This can be
> solved by two ways: 
> +
> +1) Don't install meson again if it is already installed system-wide
> +2) If you still went ahead and installed, uninstall meson using pip, and
> install again without --user argument
> +
>  Dependencies
>  ~~~~~~~~~~~~
>
Sebastian Fricke March 23, 2021, 5:13 a.m. UTC | #3
Hey Verdant & Nicolas,

On 22.03.2021 15:22, Nicolas Dufresne wrote:
>Le lundi 22 mars 2021 à 15:35 +0530, Vedant Paranjape a écrit :
>> Changelog:
>>
>> * Updated README.rst to describ meson install issue
>>
>> While installing meson using pip3 install --user meson, due to python path
>> issues, build.ninja can't be located by ninja.
>> It gives the following error on ninja -C build install:
>
>This is very vague. I was told on IRC that the error you have hit is when you
>used "meson install" in order to install libcamera system wide. This this
>context it can fail in two ways:
>
>1) policy kit removes some of your environment which cause the local python
>module to be lost, and then system meson endup being used
>2) sudo does not respect your user path, which is likely set in .bashrc, hence
>the environment is lost, and you endup using your system meson
>
>Perhaps what you want to do is to add a "Trouble Shooting" section, and have

I like this idea, I believe that the installation section should be as
small as possible and centered around the general use-case (where
everything works as described). If we add to many special cases into
that section, then it will become unreadable. A "Trouble Shooting"
section would work like a little FAQ, which would probably reduce the
amount of newbie questions focused around the installation.

Greetings,
Sebastian

>more precise explanation on which feature may wait and what workaround may be
>used. This is in my opinion a very niche use case. It's also not something I
>would recommend to use as development work-flow. libcamera source code is
>designed to be run in-place for development purpose, and installing should be
>used to make packages or your distribution instead.
>
>>
>> ninja: Entering directory `build'
>> ninja: error: loading 'build.ninja': No such file or directory
>>
>> After uninstalling meson and installing it without --user argument solved the
>> issue.
>>
>> Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
>> ---
>>  README.rst | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/README.rst b/README.rst
>> index 1427c714..b86bcc1d 100644
>> --- a/README.rst
>> +++ b/README.rst
>> @@ -37,6 +37,13 @@ To fetch the sources, build and install:
>>    meson build
>>    ninja -C build install
>>  
>> +Several users have reported issues with meson installation, crux of the issue
>> is a potential version
>> +mismatch between the version that is installed in root, and version that the
>> normal user
>> +uses. On calling meson, it can't find the build.ninja module. This can be
>> solved by two ways:
>> +
>> +1) Don't install meson again if it is already installed system-wide
>> +2) If you still went ahead and installed, uninstall meson using pip, and
>> install again without --user argument
>> +
>>  Dependencies
>>  ~~~~~~~~~~~~
>>  
>
>
>_______________________________________________
>libcamera-devel mailing list
>libcamera-devel@lists.libcamera.org
>https://lists.libcamera.org/listinfo/libcamera-devel
Laurent Pinchart March 24, 2021, 2:04 a.m. UTC | #4
Hello,

On Tue, Mar 23, 2021 at 06:13:29AM +0100, Sebastian Fricke wrote:
> Hey Verdant & Nicolas,
> 
> On 22.03.2021 15:22, Nicolas Dufresne wrote:
> > Le lundi 22 mars 2021 à 15:35 +0530, Vedant Paranjape a écrit :
> >>  Changelog:
> >> 
> >>  * Updated README.rst to describ meson install issue
> >> 
> >>  While installing meson using pip3 install --user meson, due to python path
> >>  issues, build.ninja can't be located by ninja.
> >>  It gives the following error on ninja -C build install:
> > 
> > This is very vague. I was told on IRC that the error you have hit is when you
> > used "meson install" in order to install libcamera system wide. This this
> > context it can fail in two ways:
> > 
> > 1) policy kit removes some of your environment which cause the local python
> > module to be lost, and then system meson endup being used
> > 2) sudo does not respect your user path, which is likely set in .bashrc, hence
> > the environment is lost, and you endup using your system meson
> > 
> > Perhaps what you want to do is to add a "Trouble Shooting" section, and have
> 
> I like this idea, I believe that the installation section should be as
> small as possible and centered around the general use-case (where
> everything works as described). If we add to many special cases into
> that section, then it will become unreadable. A "Trouble Shooting"
> section would work like a little FAQ, which would probably reduce the
> amount of newbie questions focused around the installation.

Note that we have https://libcamera.org/faq.html, but it may not be the
best place for such detailed information.

One option could also be to create an issue on bugs.libcamera.org, add
all the relevant information there, and link to it (I'm not sure if it's
the best option though).

> > more precise explanation on which feature may wait and what workaround may be
> > used. This is in my opinion a very niche use case. It's also not something I
> > would recommend to use as development work-flow. libcamera source code is
> > designed to be run in-place for development purpose, and installing should be
> > used to make packages or your distribution instead.
> > 
> >> 
> >>  ninja: Entering directory `build'
> >>  ninja: error: loading 'build.ninja': No such file or directory
> >> 
> >>  After uninstalling meson and installing it without --user argument solved the
> >>  issue.
> >> 
> >>  Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
> >>  ---
> >>   README.rst | 7 +++++++
> >>   1 file changed, 7 insertions(+)
> >> 
> >>  diff --git a/README.rst b/README.rst
> >>  index 1427c714..b86bcc1d 100644
> >>  --- a/README.rst
> >>  +++ b/README.rst
> >>  @@ -37,6 +37,13 @@ To fetch the sources, build and install:
> >>     meson build
> >>     ninja -C build install
> >>   
> >>  +Several users have reported issues with meson installation, crux of the issue
> >>  is a potential version
> >>  +mismatch between the version that is installed in root, and version that the
> >>  normal user
> >>  +uses. On calling meson, it can't find the build.ninja module. This can be
> >>  solved by two ways:
> >>  +
> >>  +1) Don't install meson again if it is already installed system-wide
> >>  +2) If you still went ahead and installed, uninstall meson using pip, and
> >>  install again without --user argument
> >>  +
> >>   Dependencies
> >>   ~~~~~~~~~~~~
> >>

Patch
diff mbox series

diff --git a/README.rst b/README.rst
index 1427c714..b86bcc1d 100644
--- a/README.rst
+++ b/README.rst
@@ -37,6 +37,13 @@  To fetch the sources, build and install:
   meson build
   ninja -C build install
 
+Several users have reported issues with meson installation, crux of the issue is a potential version
+mismatch between the version that is installed in root, and version that the normal user
+uses. On calling meson, it can't find the build.ninja module. This can be solved by two ways: 
+
+1) Don't install meson again if it is already installed system-wide
+2) If you still went ahead and installed, uninstall meson using pip, and install again without --user argument
+
 Dependencies
 ~~~~~~~~~~~~