标签: library-path

使用Rprofile.site中的.libPaths更改R默认库路径无法正常工作

我在Windows上运行R,而不是管理员.当我安装包时,以下命令不起作用:

> install.packages("zoo")
Installing package(s) into ‘C:/Program Files/R/R-2.15.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  'lib = "C:/Program Files/R/R-2.15.2/library"' is not writable
Run Code Online (Sandbox Code Playgroud)

要安装软件包,我必须指定一个库位置:

install.packages("zoo", lib="C:/software/Rpackages")
Run Code Online (Sandbox Code Playgroud)

要加载包,我还必须指定库位置:

library("zoo", lib.loc="C:/software/Rpackages")
Run Code Online (Sandbox Code Playgroud)

所有这一切C:/software/Rpackages都没问题,但我想知道是否可以以某种方式添加到库路径,因此不必每次都输入它.

当我在网上搜索时,我发现一种方法是编辑Rprofile.site文件并添加行

.libPaths("C:/software/Rpackages")
Run Code Online (Sandbox Code Playgroud)

但是,在执行此操作并启动RStudio之后,这就是我得到的输出

> .libPaths()
[1] "C:/Program Files/R/R-2.15.2/library" "C:/Program Files/RStudio/R/library" 
Run Code Online (Sandbox Code Playgroud)

.libPaths我加入命令Rprofile.site似乎并没有有任何影响!为什么会这样?或者更重要的是,如何解决问题以便我可以在不输入库位置的情况下安装和加载包?

注意:如果我启动RStudio,.libPaths()命令似乎按预期工作

.libPaths("C:/software/Rpackages")
> .libPaths()
[1] "C:/software/Rpackages"               "C:/Program Files/R/R-2.15.2/library"
Run Code Online (Sandbox Code Playgroud)

这不奇怪吗?

r library-path rstudio r-faq

186
推荐指数
8
解决办法
40万
查看次数

Linux服务无法在/etc/ld.so.conf.d中加载库路径

我在Linux上有一个服务.

当我开始使用服务启动或启动时init.d.它无法加载已存储的配置/etc/ld.so.conf.d/.因此/etc/ld.so.conf.d/.,此服务无法启动加载库路径的某些进程.

但是当我在shell中运行此服务脚本时,它工作正常.

如何加载库路径/etc/ld.so.conf.d/

非常感谢.

linux service library-path

15
推荐指数
1
解决办法
2万
查看次数

在没有root权限的情况下更新ldconfig缓存

$ uname -a
Linux xhost10.bcgsc.ca 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

$ /sbin/ldconfig --version
ldconfig (GNU libc) 2.5
Run Code Online (Sandbox Code Playgroud)

我在本地安装了几个二进制文件和库,因为我没有root访问权限.

某些程序需要在运行时动态链接到非标准位置的共享库.

执行时,程序返回:

$ path/to/cc1
path/to/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我已经添加了库的路径$LD_LIBRARY_PATH,但是如果ldconfig没有root访问权限我就无法更新缓存...

是否有用户特定的/etc/ld.so.cache

或者更一般地说,是否可以使用用户配置文件"屏蔽"系统配置文件?

linux centos shared-libraries library-path ldd

12
推荐指数
1
解决办法
8009
查看次数

在netbeans中为.dll/.so文件提供'java.library.path'

怎么给的路径.dll.so在NetBeans文件中使用加载库

System.loadLibrary("Foo")
Run Code Online (Sandbox Code Playgroud)

在netbeans页面上看到了这个但是无法帮助我.因为它给出了不满意的链接错误.

这是我尝试的两件事:

在下面的快照中,我在libnetbeans项目中创建了一个文件夹,并将dll文件放在其中.

在此输入图像描述

在第二个快照中,我在lib文件夹中创建了一个文件modules夹,并将所有dll文件放在lib文件夹中,如链接中所述.

在此输入图像描述

但他们俩都给我unsatisfied link error例外.如何设置java.library.pathnetbeans以便我可以直接从netbeans测试应用程序,而无需去终端上写?

java netbeans library-path

11
推荐指数
1
解决办法
5万
查看次数

Mac OS X Lion和Xcode升级:缺少标题和库

在升级到Lion 升级Xcode之后,make似乎找不到头文件和库.我查看/ usr/include.那里唯一的东西是'并行 - 服务器'.所以,我将/ usr/include重命名为/usr/include.old,并创建了一个符号链接:

/Developer/SDKs/MacOSX10.6.sdk/usr/include/

这很邪恶.但是,make现在可以找到标题.仍然找不到libs(例如,lcrt1.10.6.o).

解决include和lib问题的正确方法是什么?

谢谢!

include-path library-path osx-lion

9
推荐指数
2
解决办法
2万
查看次数

Perl,为什么@INC不同?

我有一个简单的Perl脚本,打印出来@INC如下:

#!/usr/bin/perl
print $_, "\n" for @INC;
Run Code Online (Sandbox Code Playgroud)

我用两种不同的方式执行脚本./test.plperl test.pl,输出如下所示:

[neevek@~/bin]$ ./test.pl 
/Library/Perl/5.12/darwin-thread-multi-2level
/Library/Perl/5.12
/Network/Library/Perl/5.12/darwin-thread-multi-2level
/Network/Library/Perl/5.12
/Library/Perl/Updates/5.12.3
/System/Library/Perl/5.12/darwin-thread-multi-2level
/System/Library/Perl/5.12
/System/Library/Perl/Extras/5.12/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.12
.   
[neevek@~/bin]$ perl test.pl 
/opt/local/lib/perl5/site_perl/5.12.3/darwin-multi-2level
/opt/local/lib/perl5/site_perl/5.12.3
/opt/local/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level
/opt/local/lib/perl5/vendor_perl/5.12.3
/opt/local/lib/perl5/5.12.3/darwin-multi-2level
/opt/local/lib/perl5/5.12.3
/opt/local/lib/perl5/site_perl
/opt/local/lib/perl5/vendor_perl
.   
Run Code Online (Sandbox Code Playgroud)

我的问题是:用./script.pl和执行perl脚本的幕后操作是perl script.pl什么?是什么导致脚本输出不同@INC

perl library-path

9
推荐指数
2
解决办法
2607
查看次数

GNU ld找不到那里的库

我在这里玩的包很不为人所知,但问题却很普遍.基本上,我正在尝试使用C++扩展编译Python模块(称为rql).该扩展使用称为gecode的外部框架,其中包含多个库.我编译了gecode并在本地安装.现在,让输出说明一下:

red@devel:~/build/rql-0.23.3$ echo $LD_LIBRARY_PATH
/home/red/usr/lib
red@devel:~/build/rql-0.23.3$ ls $LD_LIBRARY_PATH | grep libgecodeint 
libgecodeint.so
libgecodeint.so.22
libgecodeint.so.22.0
red@devel:~/build/rql-0.23.3$ python setup.py build
running build
running build.py
package init file './test/__init__.py' not found (or not a regular file)
running build_ext
building 'rql_solve' extension
g++ -pthread -shared build/temp.linux-i686-2.5/gecode-solver.o -lgecodeint -lgecodekernel -lgecodesearch -o build/lib.linux-i686-2.5/rql_solve.so
/usr/bin/ld: cannot find -lgecodeint
collect2: ld returned 1 exit status
error: command 'g++' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

c++ linker shared-libraries ld library-path

8
推荐指数
1
解决办法
8775
查看次数

如何在Unix上获取系统库路径(Linux,FreeBSD)

我需要一种或多或少的可移植编程方式来查询动态库路径列表.对于Linux,我可以连接$LD_LIBRARY_PATH/etc/ld.so.conf(include根据需要处理指令并可能按体系结构过滤)的内容,但这在FreeBSD上不起作用.

最终,我需要一个Python函数来做到这一点.如果需要,它可以调用gcc或其他外部命令.

python unix linux freebsd library-path

7
推荐指数
1
解决办法
4235
查看次数

如何找出Python库的安装路径?

为了安装第三方Python包,我使用了setup.py脚本,该脚本使用setuptools.setup()来安装一堆包.安装完成后,我可以在/usr/local/lib/python2.7/dist-packages下的一台机器上以及/usr/lib/python2.7/site-packages下的另一台机器上找到这些软件包.

现在我想写一个Python脚本,找出第三方软件包的安装位置.我怎样才能做到这一点?

1)sys.prefix = sys.exec_prefix在两台机器上都是"/ usr".

2)python可执行文件位于两台机器/ usr/bin/python上.

3)distutils.sysconfig.get_python_lib()在一台机器上是/usr/lib/python2.7/dist-packages(缺少"local"),在另一台机器上是/usr/lib/python2.7/site-packages.

python setuptools library-path

7
推荐指数
2
解决办法
1万
查看次数

检查包含/库路径变量(如OpenCV_LIBS)在UNIX中指向何处

在将OpenCV之类的库与C / C ++一起使用时,使用诸如OpenCV_LIBS之类的变量将编译器/链接器指向相关目录。

使用示例:

include_directories( ${OpenCV_INCLUDE_DIRS} )
target_link_libraries( project_name ${OpenCV_LIBS} )
Run Code Online (Sandbox Code Playgroud)

如何检查此类变量指向的位置?我尝试在终端输入set或输入printenv,但它仅显示一些系统变量。另外,如何设置/更改此类变量?

c++ opencv cmake include-path library-path

7
推荐指数
1
解决办法
4998
查看次数