Hi Thomas und der Rest der Liste!
Am Mittwoch, 4. April 2012 schrieb Thomas Köhler:
>
> Standardproblem. Standardlösung:
> fakeroot, fakechroot.
Das fakechroot kannte ich noch gar nicht. Gleich mal zu Hause ausprobiert
und ein paar Fehlermeldungen bekommen. Ein paar Programme funktionieren und
einiges geht nicht. Hier der Stand der Experimente, falls jemand mal das
Selbe vor hat:
Setup:
Host: Debian lenny
Chroot: Debian testing
+++++++++++++++++++++
+
+ BASH
+
#~> fakeroot fakechroot chroot /tmp/chroot /bin/bash
/bin/bash: error while loading shared libraries: libtinfo.so.5: cannot open
shared object file: No such file or directory
=> kann man mit einem link in /tem/chroot/lib beheben
cd /temp/chroot/lib
ln -sf ./x86_64-linux-gnu/libtinfo.so.5 libtinfo.so.5
(Evt muss man als normaler root nocheinmal in das chroot wechseln und dort
"ldconfig" aufrufen. Bin mir da gerade unsicher.)
+++++++++++++++++++++
+
+ ls
+
#~> fakeroot fakechroot chroot /tmp/chroot ls
ls: /lib/libacl.so.1: version `ACL_1.2' not found (required by ls)
=> ??? selbst wenn man die Bibliothek aus lenny dort hin kopiert, dann
funktioniert das nicht. Das "ls" scheint mit neueren Features kompiliert zu
sein.
===>> das "ls" aus Lenny einfach in das chroot kopieren
(Welche anderen Systemprogramme noch an den ACLs scheitern kann ich
momentan nicht sagen.)
+++++++++++++++++++++
+
+ python
+
#~> fakeroot fakechroot chroot /tmp/chroot python
python: error while loading shared libraries: libssl.so.1.0.0: cannot open
shared object file: No such file or directory
=> Die Bibliothek ist in der chroot-Umgebung drin, wird aber nicht
gefunden. Kann man mit dem setzen von LD_LIBRARY_PATH beheben:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\
/tmp/chroot/lib:/tmp/chroot/usr/lib/x86_64-linux-gnu/
+++++++++++++++++++++
+
+ NumPy in python
+
#~> fakeroot fakechroot chroot /tmp/chroot python
Python 2.7.2+
[...]
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.7/numpy/__init__.py", line 132, in
<module>
import add_newdocs
File "/usr/lib/pymodules/python2.7/numpy/add_newdocs.py", line 9, in
<module>
from lib import add_newdoc
File "/usr/lib/pymodules/python2.7/numpy/lib/__init__.py", line 4, in
<module>
from type_check import *
File "/usr/lib/pymodules/python2.7/numpy/lib/type_check.py", line 8, in
<module>
import numpy.core.numeric as _nx
File "/usr/lib/pymodules/python2.7/numpy/core/__init__.py", line 5, in
<module>
import multiarray
ImportError: No module named multiarray
==> Die Bibliothek "multiarray.so" gibt es selbstverständlich unter dem
angebenen Pfad. In dem chroot ist "multiarray.so" ein Link mit einer
absoluten Pfadangabe. Und dieser absolute Pfad ist das Problem. Also in
einem relativen Link umwandeln
#~> cd /tmp/chroot/usr/lib/pyshared/python2.7/numpy/core/
#~> ln -sf ../../../../pyshared/python2.7/numpy/core/multiarray.so
[....]
Für alle anderen *.so und *.py-Links mit absoluten Pfaden innerhalb von
NumPy wiederholen.
_______________________________________________
Lug-dd maillist - [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd