import os
import sys
import subprocess
import commands
currentdir=os.getcwd()
print currentdir
#os.environ["PATH"]= "/home/xa00010/563/tcl/tcl_72563_trunk/TCL_Linux_EM_DriverBase/system/lib" + ":" + os.environ["PATH"]
#print (os.environ["PATH"])
'''
output = os.popen("find /home/xa00010/563/tcl/tcl_72563_trunk/TCL_Linux_EM_DriverBase/system/lib -name libgstbase-1.0.so.0")
print output.readlines()[0].re
quit()
'''
def searchandcopy(filename):
ss= "find /home/xa00010/563/tcl/tcl_72563_trunk/TCL_Linux_EM_DriverBase/system/lib -name %s"%(filename)
output = os.popen(ss)
b=output.readlines()
a=len(b)
if int(a) > 0:
scp="cp %s %s"%(b[0].strip('\n'),currentdir)
#print scp
os.system(scp)
getso(filename)
else:
print ss
print "---------------------------------not find %s"%(filename)
commonlib=('librt.so.1','libpthread.so.0','libm.so.6','libdl.so.2','libc.so.6','ld-linux-armhf.so.3','libgcc_s.so.1','libstdc++.so.6')
def handleone(line):
if line.find("Shared library")>-1:
pos1 = line.find('[')
filename=line[pos1+1:-2]
print (filename)
getso(filename)
def getso(filename):
for name1 in commonlib:
if name1==filename:
return
#if(filename=="libNDAL_EX.so"):
# quit()
(status, output) = commands.getstatusoutput("readelf -d %s"%(filename))
if status==0:
output=os.popen("readelf -d %s"%(filename))
for line in output.readlines():
handleone(line)
else:
searchandcopy(filename)
getso("libfpp.so")
python 遍历 程序 动态库依赖 ,减少不必要依赖,减少启动时间
最新推荐文章于 2023-03-25 20:37:22 发布