Bug ID 18957
Summary python site-packages is installed into “lib64” (not “lib”) on RedHat 64-bit linux.
Component All Bugs
There is incompatibility about python site-packages on my 64-bit RedHat Enterprise Linux 6.3, so lldb can not run "script" command properly because it can not search python libraries. Problem 1: $(framework_python_dir) is evaluated as "....../lib64/python2.6/site-packages" in shell script "finish-swig-Python-LLDB.sh" and later a soft link named "_lldb.so" pointing to ../../../liblldb.so is created. Since lldb puts liblldb.so into "lib", this soft link is broken. The correct soft link might be "../../../../lib/liblldb.so". Problem 2: lldb always install python into system path /usr/lib64/python2.6/site-packages. If we do not has the authority, installment will fail. Problem 3 (possible): Assume we change finish-swig-Python-LLDB.sh to install python2.6/site-packages into $(LLVM_Install_Path)/lib64 (which is natual in finish-swig-Python-LLDB.sh), lldb still can not find python dependencies since Host::GetLLDBPath() in lldb/source/Host/common/Host.cpp detects g_lldb_python_dir at "....../lib/python". I believe current implementation does not distinguish 64-bit and 32-bit linux OSes. In a word, since python is defaulted to be installed at "/usr/lib64/......" instead of "/usr/lib/......" on my 64-bit RHEL, lldb can not run "script".