dyld:警告,未知环境变量:DYLD_LIBRARY_PATH_64位

时间:2010-09-02 05:37:26

标签: macos environment-variables dyld property-list

我使用Mac OS X Developer Tools的捆绑属性列表编辑器将环境变量DYLD_LIBRARY_PATH_64位设置为文件〜/ .MacOSX / environment.plist中的值路径/到/ dylib。我保存了这个文件并退出了。

重新登录后,控制台显示多条消息“dyld:warning,unknown environment variable:DYLD_LIBRARY_PATH_64-bit”。我使用Property List Editor从environment.plist中删除了该条目,保存了该文件并注销了。

我重新登录,警告信息仍然存在。 dyld手册页显示的常量列表与我的任性环境变量类似,因为它们都以“DYLD_”开头。源文件dyld.cpp在一长串DYLD常量后显示一个else,其代码用于打印相同的警告消息。也许我飞得太近了环境变量命名的太阳。我以为我们有空了!

我试过update_dyld_shared_cache无济于事。也许我错过了一些重要的旗帜?

我向/etc/launchd.conf添加了“setenv DYLD_LIBRARY_PATH_64-bit path / to / dylib”,试图在我的路径中添加一个(显然是格式错误的)环境变量,希望如果它出现,我可以删除它 - 没有成功。

从命令行,导出不显示DYLD_LIBRARY_PATH_64位。这是一些示例输出:

$ unset $DYLD_LIBRARY_PATH_64-bit 
-bash: unset: -b: invalid option

$ echo $DYLD_LIBRARY_PATH_64-bit
-bit

$ unset DYLD_LIBRARY_PATH_64-bit
-bash: unset: `DYLD_LIBRARY_PATH_64-bit': not a valid identifier

故事的寓意是永远不要使用属性列表编辑器,至少使用动态库路径。好吧不 - 故事的寓意永远不会使用环境变量名称末尾的破折号,因为它们看起来像标志

话虽如此,你是否会有任何建议来摆脱这个伪装的环境变量,以及清理我的重复dyld警告控制台?

谢谢!

3 个答案:

答案 0 :(得分:1)

这是解决由属性列表编辑器无意中设置的不可见环境变量的一种方法:重新格式化机器。打扫。用火清洁它。

为我们所有人,特别是我自己,一个清醒的教训。使用“属性列表编辑器”时,请不要在环境变量中使用短划线,以免在机器的所有日子里出现dyld:警告消息。主板上有祸了,因为她的CPU生产效率低下,相反,她减少了将消息打印到文件2(标准错误)。

不认真:属性列表编辑器将允许您指定Bash永远不会让您逃脱的虚假环境变量。在“用户必须知道他在做什么”的意义上,Mac OS X变得像UNIX一样。

答案 1 :(得分:0)

对于我在DYLD libarary路径变量的类似问题上有什么用,它不会在mac上消失:

使用unset命令以及for good措施,在我unset之后我再次exported ...

即。

之类的东西
$ unset DYLD_LIBRARY_FALLBACK_PATH    
$ export DYLD_LIBRARY_FALLBACK_PATH

答案 2 :(得分:0)

实际上,如果你在apples list中设置任何以DYLD_开头的env var 你得到一个唠叨的消息。

我希望有一个标志可以关闭它