mysql配置不对_MySQL配置不正确原因:相对路径使用不安全

如果有很多相对路径需要修复(就像我在opencv库中遇到的那样)。您可以使用以下代码段:

相应地更改ABSPATH和libpath。它将创建rPathChangeCmd.txt,您可以将其粘贴到终端中。如果出现任何错误,它还将创建rPathChangeErr.txt。我建议在粘贴命令之前检查错误文件(如果已创建)。import glob

import subprocess

import os.path

ABSPATH = "/usr/local/lib/" # absolute path to relative libraries

# libraries to correct

LIBPATHS = ['/usr/local/lib/python2.7/site-packages/cv2.so', '/usr/local/lib/libopencv*']

PREFIX = 'sudo install_name_tool -change '

assert(ABSPATH.startswith('/') and ABSPATH.endswith('/'),

'please provide absolute library path ending with /')

libs = []

for path in LIBPATHS:

libs += glob.glob(path)

cmd = []

err = []

for lib in libs:

if not os.path.isfile(lib):

err.append(lib+" library not found") # glob should take care

datastr = subprocess.check_output(['otool','-l','-v', lib])

data = datastr.split('\n')

for line in data:

ll = line.split()

if not ll: continue

if (ll[0] == 'name' and ll[1].endswith('.dylib') and not ll[1].startswith('/')):

libname = ll[1].split('/')[-1]

if os.path.isfile(ABSPATH+libname):

cmd.append(PREFIX+ll[1]+" "+ABSPATH+libname+' '+lib)

else:

err.append(ABSPATH+libname+" does not exist, hence can't correct: "+ll[1]+" in: "+lib)

ohandle = open("rpathChangeCmd.txt", 'w')

for lib in cmd:

ohandle.write(lib+'\n')

ohandle.close()

if err:

ehandle = open("rpathChangeErr.txt", 'w')

for e in err:

ehandle.write(e+'\n')

ehandle.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值