[mythtv] cmake build
Peter Bennett
pb.mythtv at gmail.com
Thu Jan 23 17:47:54 UTC 2025
On 1/23/25 12:30, Roland Ernst wrote:
>
> On Thu, Jan 23, 2025 at 6:05 PM Peter Bennett <pb.mythtv at gmail.com> wrote:
>
>
> On 1/23/25 11:39, David Hampton wrote:
>>> Command Line::
>>>
>>> cmake --preset qt5 \
>>> -DMYTH_BUILD_PLUGINS=OFF \
>>> -DCMAKE_INSTALL_PREFIX=/home/peter/proj/build/noble-
>>> amd64/mythtv/cmake/usr \
>>>> & tee ../cmake1.log
>>> cmake --build build-qt5 |& tee ../cmake2.log
>>>
>>> Result:
>>>
>>> error: externally-managed-environment
>>>
>>> × This environment is externally managed
>>> ╰─> To install Python packages system-wide, try apt install
>>> python3-xyz, where xyz is the package you are trying to
>>> install.
>>>
>>> If you wish to install a non-Debian-packaged Python package,
>>> create a virtual environment using python3 -m venv path/to/venv.
>>> Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
>>> sure you have python3-full installed.
>>>
>>> If you wish to install a non-Debian packaged Python application,
>>> it may be easiest to use pipx install xyz, which will manage a
>>> virtual environment for you. Make sure you have pipx installed.
>>>
>>> See /usr/share/doc/python3.12/README.venv for more information.
>>>
>>> note: If you believe this is a mistake, please contact your Python
>>> installation or OS distribution provider. You can override this, at
>>> the
>>> risk of breaking your Python installation or OS, by passing
>>> --break-system-packages.
>>> hint: See PEP 668 for the detailed specification.
>>> [3/3] Completed 'MythTV'
>> I don't see this warning when compiling on my debian 12 or ubuntu 24.04
>> test systems. The former is using the setup.py method, and the later
>> is using the pip method. Which python setup method is your system
>> using? Grep your logfile for the string 'Using python':
>>
>> grep -B 1 'Using python' <logfile>
> peter at framework:~/proj/github.com/MythTV$ grep -B 1 'Using python'
> cmake2.log
> -- Python pip install not available (missing module(s): wheel)
> -- Using python setup.py install method
>
>>> To fix this I installed a local python environment, and I had to
>>> install
>>> setuptools:
>>>
>>> sudo apt install python3-venv
>>> # Create virtual environment directory
>>> python3 -m venv python
>>> # Activate the environment by sourcing the activate script in the
>>> environment directory
>>> source ~/python/bin/activate
>>> # Install packages in to the environment directory
>>> pip3 install setuptools
>>>
>>> After this it built and installed successfully, and I tested it.
>> Something is wrong. You shouldn't have to build in a venv.
>>
> Maybe i need module "wheel"
>
> Peter
>
>
> Peter,
> on Ubuntu you need the package "python3-pip" ('apt install python3-pip')
> That installs the module "wheel" as dependency.
> On other OS-Distributions, one may need to install "wheel" separately.
> This is handled by mythtv/ansible in a correct way.
> Do not try to install pip, wheel in any other way!
>
> Roland
Something seems to be messed up. I checked with dpkg --list. I do have
python3-pip and python3-wheel installed already. If i run "pip install"
I get the long message
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
..... another several lines suggesting I setup a venv
So why is the cmake build giving that message? It seems cmake is trying
to run "pip install" but that is not allowed.
If I use the venv I do not have wheel installed, that is why if I use
venv it uses setup.py and then tells me that is deprecated.
Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20250123/edc7fed5/attachment.htm>
More information about the mythtv-dev
mailing list