Am 12.11.2010 20:24, schrieb Helmut Jarausch:
On Fri, 12 Nov 2010 19:42:46 +0100, Stefan Sonnenberg-Carstens wrote:

Am 12.11.2010 19:32, schrieb Helmut Jarausch:
Hi,

as often before, I've cloned a working system (GenToo) onto another
machine. There, from a livecd and chroot to the cloned root partition

python -v
import site

fails with the following error
Python 2.6.6 (r266:84292, Oct 13 2010, 09:06:24) [GCC 4.4.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
dlopen("/usr/lib64/python2.6/lib-dynload/readline.so", 2); import
readline # dynamically loaded from /usr/lib64/python2.6/lib-
dynload/readline.so
import site
# /usr/lib64/python2.6/site.pyc matches /usr/lib64/python2.6/site.py
import site # precompiled from /usr/lib64/python2.6/site.pyc Traceback
(most recent call last):
    File "<stdin>", line 1, in<module>
    File "/usr/lib64/python2.6/site.py", line 526, in<module>
      main()
    File "/usr/lib64/python2.6/site.py", line 509, in main
      known_paths = addsitepackages(known_paths)
    File "/usr/lib64/python2.6/site.py", line 289, in addsitepackages
      addsitedir(sitedir, known_paths)
    File "/usr/lib64/python2.6/site.py", line 185, in addsitedir
      addpackage(sitedir, name, known_paths)
    File "/usr/lib64/python2.6/site.py", line 159, in addpackage
      if not dircase in known_paths and os.path.exists(dir):
    File "/usr/lib64/python2.6/genericpath.py", line 18, in exists
      st = os.stat(path)
TypeError: stat() argument 1 must be encoded string without NULL bytes,
not str
I'm puzzled and I'd appreciate any hints to the reason for this
failure.

Many thanks,
Helmut.
You gave the answer yourself.
Chrooting does not automatically mean your SO cache is where it should
be for the target system.
Perhaps your livecd is newer/older than the target system or simply the
python in live environment
is not (most likely) compiled as the one in the target system.

It has been working dozens of time!
Are you saying, an  ldconfig  would rectify the situation?

Unfortunately, I can only test it on monday.

Thanks,
Helmut.





It works as long as the so files are close enough in the way they were built,
the symbols they expose and the versions they have.
calling ldconfig _can_ help, but this is not for sure.
You can of course try to call

ldd /usr/bin/python (or where it lives)
and
ldd /usr/lib64/python2.6/lib-dynload/readline.so

to see if there is something abviously wrong.

<<attachment: stefan_sonnenberg.vcf>>

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to