<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chen Yufei's blog &#187; glibc</title>
	<atom:link href="http://chenyufei.info/blog/tag/glibc/feed/" rel="self" type="application/rss+xml" />
	<link>http://chenyufei.info/blog</link>
	<description>Keep your head about you while all those are losing theirs</description>
	<lastBuildDate>Wed, 21 Jul 2010 05:30:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>screen &amp; LD_LIBRARY_PATH</title>
		<link>http://chenyufei.info/blog/2009-11-13/screen-ld_library_path/</link>
		<comments>http://chenyufei.info/blog/2009-11-13/screen-ld_library_path/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 16:45:24 +0000</pubDate>
		<dc:creator>chenyufei</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[glibc]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://chenyufei.info/blog/?p=191</guid>
		<description><![CDATA[这篇 post 居然是在今年 1 月份的时候放到 draft 里，到现在才 publish…… 因为用 intel 的编译器，所以设置了 LD_LIBRARY_PATH 这个环境变量，但是每次启动 screen 后这个环境本来都会被 unset。google 到的结果。 screen 可执行文件是 setuid 的（为了 share session，debian 的 screen 安装时默认没有 setuid），glibc 对这样的可执行文件会把那些“危险”的环境变量去掉，所以出现了上面的情况 解决办法两个 1. 把 setuid 位去掉，当然这样 screen 的 share session 就不能工作了，还好一般用不到 2. 把 LD_LIBRARY_PATH 的设置放到 .zshrc/.bashrc 之类的文件里去，这样每次启动 shell 的时候自然会把这个环境变量读入的 if [ -z $LD_LIBRARY_PATH ]; then export $LD_LIBRARY_PATH=XXX else [...]]]></description>
			<content:encoded><![CDATA[<p>这篇 post 居然是在今年 1 月份的时候放到 draft 里，到现在才 publish……</p>
<p>因为用 intel 的编译器，所以设置了 LD_LIBRARY_PATH 这个环境变量，但是每次启动 screen 后这个环境本来都会被 unset。<a href="http://www.mail-archive.com/screen-devel@gnu.org/msg00019.html">google 到的结果</a>。</p>
<p>screen 可执行文件是 setuid 的（为了 share session，debian 的 screen 安装时默认没有 setuid），glibc 对这样的可执行文件会把那些“危险”的环境变量去掉，所以出现了上面的情况</p>
<p>解决办法两个</p>
<p>1. 把 setuid 位去掉，当然这样 screen 的 share session 就不能工作了，还好一般用不到<br />
2. 把 LD_LIBRARY_PATH 的设置放到 .zshrc/.bashrc 之类的文件里去，这样每次启动 shell 的时候自然会把这个环境变量读入的</p>
<pre>
if [ -z $LD_LIBRARY_PATH ]; then
    export $LD_LIBRARY_PATH=XXX
else
    export $LD_LIBRARY_PATH=$LD_LIBRARY_PATH:XXX
fi
</pre>
<p>LD_LIBRARY_PATH 这个环境变量设置起来还真的挺麻烦的，系统的库目录和自己的库目录下有同名不同版本的库的时候，不是自己的程序有问题就是系统的程序有问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://chenyufei.info/blog/2009-11-13/screen-ld_library_path/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
