由于上面和网上的其他文件,我想出了如何解决这个问题。
1.问题是Xilinx环境的上述环境迫使firefox(包括其XPCOM模块)使用Xilinx的libstdc ++版本。所以,不是主机系统的libstdc ++。所以。
任何依赖某个版本的libstdc ++的程序,比如firefox(也就是svn,例如)都行不通。
设置环境后,ise,vivado和朋友然后继续使用并依赖firefox,这会导致上述问题。
2.由于ise不服从备用浏览器选择偏好,而vivado没有我能找到的那个,这一事实更加复杂。
3.我通过编辑/ usr / bin / firefox解决了这个问题,这是一个shell脚本,它只是稍后加载二进制可执行文件,并作为脚本的第一行插入:
export LD_LIBRARY_PATH =
结果:firefox忽略LD_LIBRARY_PATH的所有先前设置,并且适用于所有Xilinx应用程序。
4. Xilinx脚本编写者请注意,对于您自己的应用程序,依赖于LD_LIBRARY_PATH的全局设置是不可取的。
应在您的应用程序中进行此类设置。
它绕过了Linux对.so文件的仔细版本管理,并使任何为Xilinx设置的shell无法用于其他一些应用程序。
这种做法是在寻找麻烦,显然必须由客户重新设定。
我怀疑这样的设置甚至可以用于所谓的“支持版本”;
它们在这方面是相同的:系统有一个编号为.so的版本树,安装在正确的位置,确保所有二进制文件都可以加载他们需要的库。
在原帖中查看解决方案
以上来自于谷歌翻译
以下为原文
I figured out how to solve this, thanks to the above and other documents on the net.1. The problem is that the above environment by Xilinx environment forces firefox, including its XPCOM module, to use Xilinx's version of libstdc++.so, not the host system's libstdc++.so. Any program that relies on a certain version of libstdc++, like firefox (an also svn, by example) will not work. After setting the environment, ise, vivado and friends then proceed to use and rely on firefox, which leads to the trouble described above.2. This gets compounded by the fact that ise does not obey to an alternate browser selection preference, and vivado does not have one I could find.3. I solved the problem by editing /usr/bin/firefox, which mercifully is a shell script that loads the binary executable only later, and inserting, as the first line of the script:export LD_LIBRARY_PATH= Result: firefox ignores all previous settings of LD_LIBRARY_PATH, and works in all Xilinx applications.4. Xilinx script writers please note, it is BAD PRACTICE to rely on a global setting of LD_LIBRARY_PATH for your own applications; such settings should be made IN your applications. It circumvents Linux' careful version management of .so files, and makes any shell which has been set up for Xilinx unusable for some other applications.This practice is asking for trouble, which obviously has to be set right by customers all over again. I doubt that such setting can even work on the so-called 'supported versions'; they are just the same in this respect: the system has a version tree of numbered .so's, installed in the correct places, that ensure that all binaries can load the librares they need.View solution in original post
由于上面和网上的其他文件,我想出了如何解决这个问题。
1.问题是Xilinx环境的上述环境迫使firefox(包括其XPCOM模块)使用Xilinx的libstdc ++版本。所以,不是主机系统的libstdc ++。所以。
任何依赖某个版本的libstdc ++的程序,比如firefox(也就是svn,例如)都行不通。
设置环境后,ise,vivado和朋友然后继续使用并依赖firefox,这会导致上述问题。
2.由于ise不服从备用浏览器选择偏好,而vivado没有我能找到的那个,这一事实更加复杂。
3.我通过编辑/ usr / bin / firefox解决了这个问题,这是一个shell脚本,它只是稍后加载二进制可执行文件,并作为脚本的第一行插入:
export LD_LIBRARY_PATH =
结果:firefox忽略LD_LIBRARY_PATH的所有先前设置,并且适用于所有Xilinx应用程序。
4. Xilinx脚本编写者请注意,对于您自己的应用程序,依赖于LD_LIBRARY_PATH的全局设置是不可取的。
应在您的应用程序中进行此类设置。
它绕过了Linux对.so文件的仔细版本管理,并使任何为Xilinx设置的shell无法用于其他一些应用程序。
这种做法是在寻找麻烦,显然必须由客户重新设定。
我怀疑这样的设置甚至可以用于所谓的“支持版本”;
它们在这方面是相同的:系统有一个编号为.so的版本树,安装在正确的位置,确保所有二进制文件都可以加载他们需要的库。
在原帖中查看解决方案
以上来自于谷歌翻译
以下为原文
I figured out how to solve this, thanks to the above and other documents on the net.1. The problem is that the above environment by Xilinx environment forces firefox, including its XPCOM module, to use Xilinx's version of libstdc++.so, not the host system's libstdc++.so. Any program that relies on a certain version of libstdc++, like firefox (an also svn, by example) will not work. After setting the environment, ise, vivado and friends then proceed to use and rely on firefox, which leads to the trouble described above.2. This gets compounded by the fact that ise does not obey to an alternate browser selection preference, and vivado does not have one I could find.3. I solved the problem by editing /usr/bin/firefox, which mercifully is a shell script that loads the binary executable only later, and inserting, as the first line of the script:export LD_LIBRARY_PATH= Result: firefox ignores all previous settings of LD_LIBRARY_PATH, and works in all Xilinx applications.4. Xilinx script writers please note, it is BAD PRACTICE to rely on a global setting of LD_LIBRARY_PATH for your own applications; such settings should be made IN your applications. It circumvents Linux' careful version management of .so files, and makes any shell which has been set up for Xilinx unusable for some other applications.This practice is asking for trouble, which obviously has to be set right by customers all over again. I doubt that such setting can even work on the so-called 'supported versions'; they are just the same in this respect: the system has a version tree of numbered .so's, installed in the correct places, that ensure that all binaries can load the librares they need.View solution in original post
举报