[求助]关于环境变量设置的问题

软件和网站开发以及相关技术探讨
回复
头像
roamer
帖子: 43
注册时间: 2007-04-18 3:09
来自: UESTC

[求助]关于环境变量设置的问题

#1

帖子 roamer » 2009-01-05 15:37

大家好
我有一个程序,这个程序在运行时要用到几个库,但是这几个库都不在标准目录下。于是我在当前用户的.bashrc下设置了LD_LIBRARY_PATH变量,在/root/.bashrc下也做了同样的设置 ,由于这个程序在运行时要使用 root权限,所以在一般用户下运行要用sudo,假设我的程序名为app,依赖库a.so
在一般用户下运行:sudo ./app ;这样程序运行不了,显示找不到a.so这个库
但是在root下运行:./app 一切正常

我明明在当前用户下设置了库的搜索路径的,为什么还不行呢,这肯定是因为sudo,我怀疑sudo使用的环境变量不是当前用户的也不是root的,是不是这样的呢?
我该怎么设置使得我可以在一般用户下运行这个程序呢?哪位高手指点一下,不胜感激
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: [求助]关于环境变量设置的问题

#2

帖子 lerosua » 2009-01-18 21:55

检查一下当前的环境变量是否设置好了,

代码: 全选

env |grep LD_LIBRARY_PATH
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: [求助]关于环境变量设置的问题

#3

帖子 BigSnake.NET » 2009-01-18 21:57

roamer 写了:大家好
我有一个程序,这个程序在运行时要用到几个库,但是这几个库都不在标准目录下。于是我在当前用户的.bashrc下设置了LD_LIBRARY_PATH变量,在/root/.bashrc下也做了同样的设置 ,由于这个程序在运行时要使用 root权限,所以在一般用户下运行要用sudo,假设我的程序名为app,依赖库a.so
在一般用户下运行:sudo ./app ;这样程序运行不了,显示找不到a.so这个库
但是在root下运行:./app 一切正常

我明明在当前用户下设置了库的搜索路径的,为什么还不行呢,这肯定是因为sudo,我怀疑sudo使用的环境变量不是当前用户的也不是root的,是不是这样的呢?
我该怎么设置使得我可以在一般用户下运行这个程序呢?哪位高手指点一下,不胜感激
对的, sudo 会 reset 一些环境变量
正确的方法是做一个 script
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
回复