I think after ~30 years *python* should be able to handle a shared-library proper __or__ switch to a *static-build* by default.
example here is the "mono-build" with the following installation.
it's a shame...
almost every tool I touch that uses "python" in some way has some configuration error because apparently a __private__ python
installation __isn't__ properly "understood".
I think after ~30 years *python* should be able to handle a shared-library proper __or__ switch to a *static-build* by default.
example here is the "mono-build" with the following installation.
On 13.12.24 11:36, aotto1968 wrote:
it's a shame...
almost every tool I touch that uses "python" in some way has some configuration error because apparently a __private__ python
installation __isn't__ properly "understood".
I think after ~30 years *python* should be able to handle a shared-library proper __or__ switch to a *static-build* bydefault.
example here is the "mono-build" with the following installation.
1. The build is done with my user and the installation is done as root.
2. The setup proper find *my* python3 because my PATH etc is setup well.
3. root is an other environment and root does *not* have my environment.
4. root uses *my* python3 without *my* environment and is *not* able to find
ÿÿ *my* libpython3.12d.so.1.0
5. obviously the *python3* is *not* able to create the right environment from
ÿ the installation directory of the *python3* executable.
On 13 Dec 2024, at 15:54, aotto1968 via Python-list <python-list@python.or=ed libraries: libpython3.12d.so.1.0: cannot open shared object file: No such=
wrote:
=20
HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3: error while loading shar=
On 13 Dec 2024, at 15:54, aotto1968 via Python-list <python-list@python.org> wrote:
HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3: error while loading shared libraries: libpython3.12d.so.1.0: cannot open shared object file: No such file or directory
This is a debug build?
Try setting LD_LIBRARY_PATH to point at the folder that contains the .so. Test with `ldd python3` which will show which .so libs python3 needs and if they are found.
This is what I see on Fedora 41 as an example of the output.
$ ldd /usr/bin/python3
linux-vdso.so.1 (0x0000ffffb8515000)
libpython3.13.so.1.0 => /lib64/libpython3.13.so.1.0 (0x0000ffffb7ea0000)
libc.so.6 => /lib64/libc.so.6 (0x0000ffffb7cd0000)
libm.so.6 => /lib64/libm.so.6 (0x0000ffffb7c20000)
/lib/ld-linux-aarch64.so.1 (0x0000ffffb84d0000)
Barry
it's a shame...rary proper __or__ switch to a *static-build* by default.
almost every tool I touch that uses "python" in some way has some configuration error because apparently a __private__ python installation __isn't__ properly "understood".
=20
I think after ~30 years *python* should be able to handle a shared-lib=
=20wird betreten
example here is the "mono-build" with the following installation.=20
make[1]: Verzeichnis =E2=80=9EHOME/src/mono.git/acceptance-tests=E2=80=9C=
HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3: error while loading sha=red
libraries: libpython3.12d.so.1.0: cannot open shared object file: No such file or directory
make[1]: Verzeichnis =E2=80=9EHOME/src/mono.git/acceptance-tests=E2=80=9C=wird verlassen
[debug]dev1usr@linux02:~/src/mono.git> ldd HOME/ext/x86_64-suse-linux-gnu=/debug/bin/python3
linux-vdso.so.1 (0x00007ffd18e9a000)ib64/libpython3.12d.so.1.0 (0x00007f9c5d374000)
libpython3.12d.so.1.0 =3D> HOME/ext/x86_64-suse-linux-gnu/debug/l=
libpthread.so.0 =3D> /lib64/libpthread.so.0 (0x00007f9c5d350000)
libdl.so.2 =3D> /lib64/libdl.so.2 (0x00007f9c5d349000)
libutil.so.1 =3D> /lib64/libutil.so.1 (0x00007f9c5d345000)
libm.so.6 =3D> /lib64/libm.so.6 (0x00007f9c5d1f9000)
libc.so.6 =3D> /lib64/libc.so.6 (0x00007f9c5d002000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9c5dab4000)
the problem is *not* to setup an environment variable, the problem is that python is *not*
able to setup the *python* environment by it self.
So it might be because it's in a different directory ("HOME/ext/..." is
a relative path. That will not work in a different directory. Also
"HOME" is a strange choice for a directory name. Did you mean $HOME?) or because the acceptance tests set up their own environment.
I'd test the first idea first. Cd into
HOME/src/mono.git/acceptance-tests and try to invoke HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3 there.
On 2024-12-13 11:36:01 +0100, aotto1968 via Python-list wrote:
it's a shame...
almost every tool I touch that uses "python" in some way has some
configuration error because apparently a __private__ python installation
__isn't__ properly "understood".
I think after ~30 years *python* should be able to handle a shared-library proper __or__ switch to a *static-build* by default.
example here is the "mono-build" with the following installation.
make[1]: Verzeichnis „HOME/src/mono.git/acceptance-tests“ wird betreten >> HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3: error while loading shared >> libraries: libpython3.12d.so.1.0: cannot open shared object file: No such
file or directory
What is HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3 and why is HOME/src/mono.git/acceptance-tests trying to use it?
[...]
make[1]: Verzeichnis „HOME/src/mono.git/acceptance-tests“ wird verlassen >> [debug]dev1usr@linux02:~/src/mono.git> ldd HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3
linux-vdso.so.1 (0x00007ffd18e9a000)
libpython3.12d.so.1.0 => HOME/ext/x86_64-suse-linux-gnu/debug/lib64/libpython3.12d.so.1.0 (0x00007f9c5d374000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9c5d350000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9c5d349000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f9c5d345000)
libm.so.6 => /lib64/libm.so.6 (0x00007f9c5d1f9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9c5d002000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9c5dab4000)
So HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3 does find HOME/ext/x86_64-suse-linux-gnu/debug/lib64/libpython3.12d.so.1.0 if you invoke it from the shell (to confirm that, try actually invoking it
instead of running ldd on it), but not when it's called from whatever
make is doing in the acceptance-tests directory.
So it might be because it's in a different directory ("HOME/ext/..." is
a relative path. That will not work in a different directory. Also
"HOME" is a strange choice for a directory name. Did you mean $HOME?) or because the acceptance tests set up their own environment.
I'd test the first idea first. Cd into
HOME/src/mono.git/acceptance-tests and try to invoke HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3 there.
hp
HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3The build is fine but after switch to root for installation
sudo make installthe root user call *my* python3 and fail.
The CORE problem is that python3 works well in *my* environment but the installation is done as root and root does not use *my* environment.
The CORE problem is that python3 works well in *my* environment but the installation is done as root and root does not use *my* environment.
the mono build search for a working python3 and find *my*
HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3The build is fine but after switch to root for installation
sudo make installthe root user call *my* python3 and fail.
it's a shame...
almost every tool I touch that uses "python" in some way has some configuration error because apparently a __private__ python
installation __isn't__ properly "understood".
I think after ~30 years *python* should be able to handle a shared-library proper __or__ switch to a *static-build* by default.
example here is the "mono-build" with the following installation.
make[1]: Verzeichnis „HOME/src/mono.git/acceptance-tests“ wird betreten HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3: error while loading shared libraries: libpython3.12d.so.1.0: cannot open
shared object file: No such file or directory
make[2]: Für das Ziel „install-exec-am“ ist nichts zu tun.
make[2]: Für das Ziel „install-data-am“ ist nichts zu tun.
make[2]: Verzeichnis „HOME/src/mono.git/acceptance-tests“ wird verlassen make[1]: Verzeichnis „HOME/src/mono.git/acceptance-tests“ wird verlassen [debug]dev1usr@linux02:~/src/mono.git> ldd HOME/ext/x86_64-suse-linux-gnu/debug/bin/python3
ÿÿÿÿÿÿÿ linux-vdso.so.1 (0x00007ffd18e9a000)
ÿÿÿÿÿÿÿ libpython3.12d.so.1.0 => HOME/ext/x86_64-suse-linux-gnu/debug/lib64/libpython3.12d.so.1.0 (0x00007f9c5d374000)
ÿÿÿÿÿÿÿ libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9c5d350000)
ÿÿÿÿÿÿÿ libdl.so.2 => /lib64/libdl.so.2 (0x00007f9c5d349000)
ÿÿÿÿÿÿÿ libutil.so.1 => /lib64/libutil.so.1 (0x00007f9c5d345000)
ÿÿÿÿÿÿÿ libm.so.6 => /lib64/libm.so.6 (0x00007f9c5d1f9000)
ÿÿÿÿÿÿÿ libc.so.6 => /lib64/libc.so.6 (0x00007f9c5d002000)
ÿÿÿÿÿÿÿ /lib64/ld-linux-x86-64.so.2 (0x00007f9c5dab4000)
On 13.12.24 11:36, aotto1968 wrote:[...]
it's a shame...
almost every tool I touch that uses "python" in some way has some configuration error because apparently a __private__ python installation __isn't__ properly "understood".
=20ython
If I read the answers I come to the conclusion that the "supporters" at p=
doesn't ever understand the problem.
If I read the answers I come to the conclusion that the "supporters"
at python doesn't ever understand the problem.
If I read the answers I come to the conclusion that the "supporters" at python doesn't ever understand the problem.
what a shame.
cnf jmcTraceback (most recent call last):
I get angry…
next python error…
1) The OpenSUSE command "cnf" checks if a special package feature is installed.
2) I recently compiled **my** SQLite3 library specifically tailored to **my** requirement and installed it in **my** SQLite3
project directory and never changed the OpenSUSE installation.
3) "cnf" seems to use "Python" internally, but is **not** able to configure the *Python* environment to use only "OpenSUSE"'s
own "Python" and "Sqlite3" software.
4) Now the "cnf" fails with "Python" which apparently tries to use **my** SQLite3.
what a shame.
cnf jmcTraceback (most recent call last):
ÿ File "/usr/bin/cnf", line 9, in <module>
ÿÿÿ import scout
ÿ File "/usr/lib/python3.6/site-packages/scout/__init__.py", line 10, in <module>
ÿÿÿ import sqlite3
ÿ File "/usr/lib64/python3.6/sqlite3/__init__.py", line 23, in <module>
ÿÿÿ from sqlite3.dbapi2 import *
ÿ File "/usr/lib64/python3.6/sqlite3/dbapi2.py", line 27, in <module>
ÿÿÿ from _sqlite3 import *
ImportError: /usr/lib64/python3.6/lib-dynload/_sqlite3.cpython-36m-x86_64-linux-gnu.so: undefined symbol: sqlite3_trace
head /usr/bin/cnf#!/usr/bin/python3
ls -al /usr/bin/python3lrwxrwxrwx 1 root root 9 2. Dez 13:16 /usr/bin/python3 -> python3.6
ls -al /usr/bin/python3.6-rwxr-xr-x 2 root root 10560 2. Dez 13:16 /usr/bin/python3.6
ls -al NHI1_EXT/lib64/libsqlite3.so.0lrwxrwxrwx 1 dev1usr users 19 23. Dez 22:09 NHI1_EXT/lib64/libsqlite3.so.0 -> libsqlite3.so.0.8.6
ls -al NHI1_EXT/lib64/libsqlite3.so.0.8.6-rwxr-xr-x 1 dev1usr users 3851872 23. Dez 22:09 NHI1_EXT/lib64/libsqlite3.so.0.8.6
It is not only an *usage* error it is also an *security* error because:
1) "cnf" is using OS python
2) os "root" python
3) using **my** local non-root library
On Thu, 26 Dec 2024 at 09:27, aotto1968 via Python-list <python-list@python.org> wrote:
It is not only an *usage* error it is also an *security* error because:
1) "cnf" is using OS python
2) os "root" python
3) using **my** local non-root library
This is Python related, but
it's not necessarily python's fault per se.
On 12/25/24 3:55 PM, Chris Angelico via Python-list wrote:
On Thu, 26 Dec 2024 at 09:27, aotto1968 via Python-list <python-list@python.org> wrote:
It is not only an *usage* error it is also an *security* error because:
1) "cnf" is using OS python
2) os "root" python
3) using **my** local non-root library
I think he means the cnf is using the "root" OS python in /usr/bin, but /usr/bin/python3 is trying to import his local build of sqlite3, which
cause it to fail. I assume he would like cnf to not try to import his
local sqlite3, and instead use the normal system one. If this is the
case, then somehow his local, non-root sqlite3 library is being picked
up by the system version of python.
On Thu, 26 Dec 2024 at 09:27, aotto1968 via Python-list <python-list@python.org> wrote:
It is not only an *usage* error it is also an *security* error because:
1) "cnf" is using OS python
2) os "root" python
3) using **my** local non-root library
Yes. And YOU were the one who installed a new root Python. This is a
feature. You have the power to update Python on your system.
You managed to make a build of Python that attempts to link to a DLL
using a relative path. That's a fault of the build that means it won't
work as root. I don't understand the confusion here; isn't the
solution here to build a new version with an absolute path, and update
your installation?
ChrisA
You managed to make a build of Python that attempts to link to a DLL
On Thu, 26 Dec 2024 at 14:57, Michael Torrie via Python-list <python-list@python.org> wrote:
On 12/25/24 3:55 PM, Chris Angelico via Python-list wrote:
On Thu, 26 Dec 2024 at 09:27, aotto1968 via Python-list
<python-list@python.org> wrote:
It is not only an *usage* error it is also an *security* error because: >>>>
1) "cnf" is using OS python
2) os "root" python
3) using **my** local non-root library
I think he means the cnf is using the "root" OS python in /usr/bin, but
/usr/bin/python3 is trying to import his local build of sqlite3, which
cause it to fail. I assume he would like cnf to not try to import his
local sqlite3, and instead use the normal system one. If this is the
case, then somehow his local, non-root sqlite3 library is being picked
up by the system version of python.
Right. That's exactly what would happen if he'd built Python using
absolute paths to libraries, which is the normal way to do it. And so
the solution is to rebuild Python using absolute paths to libraries.
ChrisA
On 12/25/24 3:55 PM, Chris Angelico via Python-list wrote:
On Thu, 26 Dec 2024 at 09:27, aotto1968 via Python-list
<python-list@python.org> wrote:
It is not only an *usage* error it is also an *security* error because:
1) "cnf" is using OS python
2) os "root" python
3) using **my** local non-root library
I think he means the cnf is using the "root" OS python in /usr/bin, but /usr/bin/python3 is trying to import his local build of sqlite3, which
cause it to fail. I assume he would like cnf to not try to import his
local sqlite3, and instead use the normal system one. If this is the
case, then somehow his local, non-root sqlite3 library is being picked
up by the system version of python.
Aotto might want to run the "env" command and see if there are any
search paths that have to do with Python. I can see how this could be a security issue. If you can figure out what's happening you might want to
open a ticket with the OpenSUSE developers. This is Python related, but
it's not necessarily python's fault per se.
On 12/25/24 3:55 PM, Chris Angelico via Python-list wrote:
On Thu, 26 Dec 2024 at 09:27, aotto1968 via Python-list
<python-list@python.org> wrote:
It is not only an *usage* error it is also an *security* error because:
1) "cnf" is using OS python
2) os "root" python
3) using **my** local non-root library
I think he means the cnf is using the "root" OS python in /usr/bin, but /usr/bin/python3 is trying to import his local build of sqlite3, which
cause it to fail. I assume he would like cnf to not try to import his
local sqlite3, and instead use the normal system one. If this is the
case, then somehow his local, non-root sqlite3 library is being picked
up by the system version of python.
Aotto might want to run the "env" command and see if there are any
search paths that have to do with Python. I can see how this could be a security issue. If you can figure out what's happening you might want to
open a ticket with the OpenSUSE developers. This is Python related, but
it's not necessarily python's fault per se.
Right. That's exactly what would happen if he'd built Python using
absolute paths to libraries, which is the normal way to do it. And so
the solution is to rebuild Python using absolute paths to libraries.
On 12/25/24 10:46 PM, Chris Angelico wrote:
Right. That's exactly what would happen if he'd built Python using
absolute paths to libraries, which is the normal way to do it. And so
the solution is to rebuild Python using absolute paths to libraries.
You're right. Definitely appears to be a pretty major mis-configuration
of his system. Not much we can do about that.
Sysop: | Tetrazocine |
---|---|
Location: | Melbourne, VIC, Australia |
Users: | 4 |
Nodes: | 8 (0 / 8) |
Uptime: | 59:11:59 |
Calls: | 65 |
Files: | 21,500 |
Messages: | 73,556 |