我正在Ubuntu20.04的机器上使用RStudio版本1.3.1093。我的R版本是4.0.3。
当我从RStudio内部调用这一行代码时,有一种意想不到的行为:
system("soffice --headless --convert-to xlsx --outdir files/ files/EGP.xlsb")它在以下消息中失败:
/usr/lib/libreoffice/program/javaldx: error while loading shared libraries: libreglo.so: cannot open shared object file: No such file or directory
Warning: failed to read path from javaldx
/usr/lib/libreoffice/program/soffice.bin: error while loading shared libraries: libreglo.so: cannot open shared object file: No such file or directory
Warning message:
In system("soffice --headless --convert-to xlsx --outdir files/ files/EGP.xlsb") :
error in running command如果从RStudio的终端(soffice --headless --convert-to xlsx --outdir files/ files/EGP.xlsb)调用“裸”命令,则错误完全相同:
user@machine:~/Right/Path/To/File$ soffice --headless --convert-to xlsx --outdir files/ files/EGP.xlsb
/usr/lib/libreoffice/program/javaldx: error while loading shared libraries: libreglo.so: cannot open shared object file: No such file or directory
Warning: failed to read path from javaldx
/usr/lib/libreoffice/program/soffice.bin: error while loading shared libraries: libreglo.so: cannot open shared object file: No such file or directory但是,如果我从一个终端执行相同的调用,它只是在没有错误的情况下工作,并产生预期的输出:
user@machine:~/Right/Path/To/File$ soffice --headless --convert-to xlsx --outdir files/ files/EGP.xlsb
convert /home/user/Right/Path/To/File/files/EGP.xlsb -> /home/user/Right/Path/To/File/files/EGP.xlsx using filter : Calc Office Open XML
Overwriting: /home/user/Right/Path/To/File/files/EGP.xlsx我遵循了this ask Ubuntu question中的建议,强调需要更新$LD_LIBRARY_PATH,但问题并没有解决。
RStudio是否错过了查找libreoffice库的路径,这对系统来说是明确的(因为终端没有找到它们的问题)?我怎么才能修好它?谢谢!
发布于 2021-01-30 12:10:45
下面是Roah的评论:shared library issue with the system function in R
在R脚本中添加Sys.setenv位对我有用:
Sys.setenv(LD_LIBRARY_PATH = "/usr/lib/libreoffice/program/")
system('soffice --convert-to odt table.html')https://stackoverflow.com/questions/64759305
复制相似问题