touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #39100
[Bug 1398033] Re: python breaks gdb
The same approach could be used to make a program that explictly loads eg. python3.4 execuable with correct $PYTHONPATH based on
for example $PYTHON_VERSION environment variable setting .
Another approach might be to convert all scripts that require python3+ to explicitly start with
'#!/usr/bin/python3.4
'
, but you'd have to update them each time you upgrade python .
Yet another approach, which might be best in the long term, would be to update the kernel to handle more sophisticated
'#!' lines like:
'#!python>=3
'
meaning : find the file under any directory in $PATH that ends with a decimal label string consisting of numbers and '.' or '_' chars only
that compares >= to the label '3' , and then run it as the interpreter.
Or you could make a program based on the python.c program in the link above which interprets special arguments , and all scripts could
start with something like :
'#!/usr/bin/python_launcher >= 3
'
These issues and many other syntax ambiguities and many other attributes make Python IMHO a moving target to develop for and not suitable for
use in reliable production quality systems .
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/1398033
Title:
python breaks gdb
Status in apport package in Ubuntu:
Confirmed
Bug description:
The gdb program fails with settings such as PYTHONPATH in the
environment.
I have no interest in using python or in using gdb to debug python
programs .
I want to use GDB to debug a normal GCC built executable, yet these internal
gdb python dependencies prevent me from doing so .
GDB should be shipped without python support ; python support should be an
optional add-on sub-package for python programmers.
I have to compile GDB without python support to overcome this problem.
For instance, with a setting of PYTHONPATH=/usr/lib/python2.7:/usr/local/lib/python2.7/site-packages ,
because I have some python packages installed in /usr/local/lib/python2.7/site-packages, GDB refuses to initialize:
$ export LANG=C
$ export LC_ALL=POSIX
$ gdb --args $MY_C_PROGRAMS_COMMAND_LINE
Fatal Python error: Py_Initialize: Unable to get the locale encoding
File "/usr/lib/python2.7/encodings/__init__.py", line 123
raise CodecRegistryError,\
^
SyntaxError: invalid syntax
Aborted
The same python sickness infects ubuntu-bug :
$ ubuntu-bug
Fatal Python error: Py_Initialize: Unable to get the locale encoding
File "/usr/lib/python2.7/encodings/__init__.py", line 123
raise CodecRegistryError,\
^
SyntaxError: invalid syntax
Aborted
However, python and python programs run fine with my $PYTHONPATH
setting - only gdb and ubuntu-bug do not .
If I could, I'd remove python entirely from my system, but I have to
use a system set up by work which includes python .
But I expect to be able to use GDB without python being installed ,
and regardless of any environment variable setting .
This problem obliges me to recompile gdb without python support and install it over the system gdb , which I have to do
after each apt-get 'dist-upgrade' , or carefully remove gdb from the dist-upgrade every time.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1398033/+subscriptions
References