пн, 16 февр. 2026 г., 11:47 Terje J. Hanssen <terjejhanssen@gmail.com>:
On 2/15/26 8:21 PM, Andrew Randrianasulu wrote:
вс, 15 февр. 2026 г., 22:12 Terje J. Hanssen <terjejhanssen@gmail.com>:
On 2/15/26 6:44 PM, Andrew Randrianasulu wrote:
вс, 15 февр. 2026 г., 20:31 Terje J. Hanssen <terjejhanssen@gmail.com>:
On 2/15/26 6:20 PM, Andrew Randrianasulu wrote:
> On Sun, Feb 15, 2026 at 8:00 PM Terje J. Hanssen
> <terjejhanssen@gmail.com> wrote:
>>
>>
>> On 2/15/26 4:58 PM, Andrew Randrianasulu wrote:
>>
>> [snip]
>>
>>
>> this day's catch:
>>
>> filempeg.h:33:10: fatal error: lame/lame.h: No such file or directory
>> 33 | #include "lame/lame.h"
>> | ^~~~~~~~~~~~~
>> compilation terminated.
>> make[2]: *** [Makefile:600: x86_64/assetedit.o] Error 1
>> make[2]: *** Waiting for unfinished jobs....
>>
>>
>> something like libmp3lame-devel needed ....
>>
>> I do not think you need to send email each time it stops, try to figure out package name, or search via rpm search function or online what package holds those headers ....
>>
>>
>>
>> I agree.
>> Now I got a difficult one (make);
>>
>> 25 | #include "xfer/xfer.h"
>>
>> Tried to install libfm-devel, and could not find any other package that solved this requirement.
>> Any idea ?
>>
>>
>> Python3 failed to install ?
>>
>>
>> The question is which package(s) out of hundreds of python3* available?
>>
>> Looking at the bld_prepare.sh suse package list, there was only one single named "python"
>>
>> I have 105 python3* package names installed, plus now also -devel packages
> one with python3 binary?
>
> also check if you have "which" command
>
>
> so 'which python3' gives sensible answer
>
> which python3
> /usr/bin/python3
Yep, get the same.
Yet in make log I saw:
which: no python in (/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin)which: no python3.9 in (/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin)
Does Suse have any "alternatives" system? So you can set python3.14 (say) as python3 ?
Out of my knowledge. A google/ai say for what it is worth:
Classical "I am root here" way is just to make symlink form fancy-numbered python binary to just /usr/bin/python3
May be morning will be wiser than evening, for this problem.
Yeah, it's not so hasty for me in this olympic time and other daily tasks.
I searched a bit more and got the following infol:
Cin # cat make.log | grep python
which: no python in (/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin)
which: no python3.9 in (/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin)
which: no python3.12 in (/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin)
Verify default version
python3 --version
Python 3.13.11
check if a specific version is installed and its version number
python3 --version
Python 3.13.11
localhost:/Cin # python3.9 --version
python3.9: command not found
python3.12 --version
python3.12: command not found
python3.13 --version
Python 3.13.11
python3.14 --version
Python 3.14.2
python3.15 --version
Python 3.15.0a3
Verify all installed versions
ls /usr/bin/python3*
/usr/bin/python3 /usr/bin/python3.14 /usr/bin/python3.15-config
/usr/bin/python3.13 /usr/bin/python3.14-config /usr/bin/python3-config
/usr/bin/python3.13-config /usr/bin/python3.15
So from this output and make output above "just" /usr/bin/python
does not exist
try ln -s /usr/bin/python3 /usr/bin/python
?
----------
And the rest from Google/AI:
Yes, SUSE (both openSUSE and SUSE Linux Enterprise) uses analternatives system, but it is typically used for Python modules rather than the corepython3binary itself.While you can technically use the update-alternatives command to pointpython3to a different version, it is highly discouraged. Essential system tools like YaST, Zypper, and firewalld rely on the specific version of Python they were built with; changing the system-widepython3can break these critical components.How to manage multiple Python versions safely:
- The "SUSE Way" for Binaries: SUSE typically installs Python versions side-by-side as
python3.x. You are encouraged to call them explicitly (e.g.,python3.14) or use the correct shebang in your scripts:#!/usr/bin/env python3.14.- update-alternatives (for modules): Many Python-based tools (like
poetry) use the alternatives system so you can switch between versions:bashsudo update-alternatives --config poetry
- Recommended Tool: pyenv: For development, use pyenv (which is packaged in openSUSE) to manage Python versions for a specific user or directory without touching the system default.
- Aliases: For your own shell usage, adding
alias python3=python3.14to your~/.bashrcis a safe, non-destructive way to change the command for your interactive sessions.
Summary Table
Approach Suitability Risk update-alternativesGood for generic tools High (Can break system scripts) libalternativesGood for Tumbleweed Medium Pyenv Best for development None (Isolated to user) Venv Best for projects None In short: Yes, you can useupdate-alternativeson SUSE, but for Python, use pyenv to set a different version as default for your user to avoid breaking the OS.
Directly replacing/usr/bin/python3with a newer version (like 3.14) viaupdate-alternativesis generally discouraged as it can break system tools that rely on the default version.Here is how to manage multiple Python versions on SUSE:
1. Recommended: Use Package Manager for Side-by-Side InstallationSUSE handles multiple Python versions by installing them with specific version names (e.g.,python311,python312). You can install a newer Python version alongside the system default.bashsudo zypper install python311 # Example: installing Python 3.11
- The default Python remains
/usr/bin/python3(e.g., 3.6 or 3.10).- The new version is available as
/usr/bin/python3.11.- You can call your scripts using
python3.11 script.py.
2. The "Alternatives" Approach (Alternative toupdate-alternatives)On modern openSUSE (Tumbleweed/Leap 16+), a new system called libalternatives is used to support transactional updates.If you are using an older version, you can create a user-specific alias, which is much safer:bash# Add this to your ~/.bashrc alias python3='/usr/bin/python3.11'
3. Usingpyenv(Best for Development)To use a very new version like 3.14 without affecting system packages,pyenvis recommended.bash# Install pyenv and then: pyenv install 3.14.0 pyenv global 3.14.0
>
>> zypper se -i python*devel
>>
>> S | Name | Summary | Type
>> ---+-----------------+-------------------------------------------------------------------+--------
>> i+ | python313-devel | Include Files and Libraries Mandatory for Building Python Modules | package
>> i+ | python314-devel | Include Files and Libraries Mandatory for Building Python Modules | package
>> i+ | python315-devel | Include Files and Libraries Mandatory for Building Python Modules | package
>>
>>
>> but still get
>>
>> cat make.log | grep "#include"
>> 25 | #include "xfer/xfer.h"
>>
>>
>>
>>