- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在我的 Synology DiskStation DS216j 上运行一些 Ruby 脚本。我成功地通过 OPKG/Entware-ng 安装了 Ruby 2.3.1,但是当我尝试安装带有 native 扩展的 gems 时,出现错误:
$ sudo gem install io-console
Building native extensions. This could take a while...
ERROR: Error installing io-console:
ERROR: Failed to build gem native extension.
current directory: /volume1/@entware-ng/opt/lib/ruby/gems/2.3/gems/io-console-0.4.6
/opt/bin/ruby -r ./siteconf20161113-31591-ucvjgl.rb extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/opt/bin/$(RUBY_BASE_NAME)
/opt/lib/ruby/2.3/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /opt/lib/ruby/2.3/mkmf.rb:571:in `block in try_compile'
from /opt/lib/ruby/2.3/mkmf.rb:524:in `with_werror'
from /opt/lib/ruby/2.3/mkmf.rb:571:in `try_compile'
from /opt/lib/ruby/2.3/mkmf.rb:835:in `macro_defined?'
from extconf.rb:7:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/opt/lib/ruby/gems/2.3/extensions/arm-linux/2.3/io-console-0.4.6/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /opt/lib/ruby/gems/2.3/gems/io-console-0.4.6 for inspection.
Results logged to /opt/lib/ruby/gems/2.3/extensions/arm-linux/2.3/io-console-0.4.6/gem_make.out
/opt/lib/ruby/gems/2.3/extensions/arm-linux/2.3/io-console-0.4.6/mkmf.log
内容:
"arm-openwrt-linux-gnueabi-gcc -o conftest -I/opt/include/ruby-2.3/arm-linux-gnu -I/opt/include/ruby-2.3/ruby/backward -I/opt/include/ruby-2.3 -I. -I/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/include -I/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/include -I/media/ware3/Entware-ng.2016.08/staging_dir/toolchain-arm_cortex-a9_gcc-5.4.0_glibc-2.23_eabi/usr/include -I/media/ware3/Entware-ng.2016.08/staging_dir/toolchain-arm_cortex-a9_gcc-5.4.0_glibc-2.23_eabi/include -I/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib/libiconv-full/include -I/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib/libintl-full/include -D_FILE_OFFSET_BITS=64 -O2 -pipe -march=armv7-a -mtune=cortex-a9 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -I/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib/libiconv-full/include -I/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib/libintl-full/include -fPIC conftest.c -L. -L/opt/lib -L. -L/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib -L/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link=/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/media/ware3/Entware-ng.2016.08/staging_dir/toolchain-arm_cortex-a9_gcc-5.4.0_glibc-2.23_eabi/usr/lib -L/media/ware3/Entware-ng.2016.08/staging_dir/toolchain-arm_cortex-a9_gcc-5.4.0_glibc-2.23_eabi/lib -L/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib/libiconv-full/lib -Wl,-rpath-link=/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib/libiconv-full/lib -L/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib/libintl-full/lib -Wl,-rpath-link=/media/ware3/Entware-ng.2016.08/staging_dir/target-arm_cortex-a9_glibc-2.23_eabi/opt/lib/libintl-full/lib -L/media/ware3/Entware-ng.2016.08/build_dir/target-arm_cortex-a9_glibc-2.23_eabi/ruby-2.3.1 -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -lgmp -ldl -lcrypt -lm -lc"
/opt/bin/ld: cannot find -lruby
collect2: error: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */
/opt/bin/ld: cannot find -lruby
似乎是这里真正的错误。
用谷歌搜索会得到安装 Ruby 源代码/头文件 which I did 的建议:
$ wget -qO- http://pkg.entware.net/binaries/armv7/include/include.tar.gz | tar xvz -C /opt/include
[snip]
$ ls -lah /opt/include/ruby-2.3/
drwxr-xr-x 4 1000 1000 4.0K Aug 19 12:42 .
drwxr-xr-x 179 root root 20.0K Oct 10 09:32 ..
drwxr-xr-x 3 1000 1000 4.0K Aug 19 12:42 arm-linux-gnu
drwxr-xr-x 3 1000 1000 4.0K Aug 19 12:42 ruby
-rw-r--r-- 1 1000 1000 868 Jul 11 2012 ruby.h
所以我想真正的问题是:我如何告诉 /opt/bin/ld
Ruby 头文件位于 /opt/include/ruby-2.3/
?
感谢任何帮助或提示,谢谢!
最佳答案
/opt/bin/ld: cannot find -lruby
表示链接器找不到 Ruby library,而不是头文件。您需要位于 /opt/lib/libruby.so
或静态库 /opt/lib/libruby-static.a
的已编译共享对象库。
关于ruby - 尝试在 Synology DiskStation DS216j 上安装 Ruby gems,找不到 Ruby 头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40572453/
我正在用 PHP 编写一个小模块,它将向我的客户发送电子邮件(使用 PHPMailer)。 我不想将大文件附加到这些电子邮件中,而是发布一个下载文件的链接(压缩)。 这些文件存储在 DSM6.x 下的
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我正在 Synology 盒子上运行 Note Station 插件,但我不知道 Note Station 的文件存储位置。我尝试在用户的主目录中查找私有(private)文件夹,但没有成功。我想确保
我们是备份软件的编辑,从 DSM6 迁移到 DSM7 增加了安全性:现在禁止声明以 root 权限运行的包(除了那些由 Synology 自己编写的 😤)。 备份软件假设可以完全访问所有文件系统,而
Synology CloudStation 文件版本控制使用了大量空间,我该如何释放一些空间? 如何查看使用了多少空间文件版本控制? 最佳答案 首先,您可以通过这种方式查看有多少空间使用 CloudS
我想问一下,我有一个非公共(public)IP,位于NAT后面。我想从互联网访问我的家庭 Synology 服务器,但我无法使用 ssh 隧道。 是否有关于在 Synology NAS 服务器上安装
synology NAS 一:这步操作的前提是,你已经可以通过使用软件(Assistant)找到你网络中的NAS设备。接下来我们来安装DSM系统。 二:启动你的Assistant软件,点击搜索。
我有一台 Synology DS212j,并且已经设置了 apache,现在还设置了 SSO 服务器。在 SSO 服务器设置中,我添加了一个新应用程序(名称、重定向 URI)。我现在的代码是:
这让我发疯。我认为这与 Synology 有关 这是在 Synology 服务器上运行的。 ### VARIABLES ### LOGIF=/volume7/homes/admin/scripts/d
我正在尝试使 cron 作业或任务调度程序正常工作,但我不明白为什么我的脚本没有被考虑在内。 我试图简单地归档一个文件夹: tar -cvf /volume1/NetBackup/Backups/Mo
我在我的 synology (DS415+) 上使用最新的 DSM,DSM 6.1.3-15152 Update 4,我尝试安装一个新的 Symfony 应用程序,但它不起作用。 我试过: symfo
在 DSM6.1 更新后尝试加密家庭共享时,我收到一条消息,提示存在文件名超过 143 个字符的文件。这是加密 Synology 共享中文件名的最大长度。 因为家庭共享中有很多东西(大部分是我自己的)
synology NAS 存储创建存储空间 前言:之前我们已经安装DSM,并且通过浏览器登录到NAS 下面我们要做的第一件事就是创建一个空间来存放数据,这步很重要,因为它是必做的。你要存放的数据
是否可以将 meteor-app 部署到 Synology NAS 并从那里运行?如果是,怎么办? 我想我需要一个 node.js 服务器在我的 NAS 上运行,但我不知道当它启动并运行时该做什么。
在DS415 +上,我安装了Docker软件包并运行了UrBackup。 由于Volume1上的磁盘空间不足,因此我将Docker和UrBackup复制到Volume2。 然后,我删除了Volume1
当我为冰岛马进行比赛时,我想将结果从我们的 Synology NAS 自动上传到远程网络服务器。我们使用的程序会自动生成需要上传的 html 文件。 实现这一目标的最简单方法是什么?我在 NAS 和网
我有 2 个 NAS DSM Synology 5.1 系统,我想将第一个 DSM 每日网络备份到第二个。 我正在使用 DSM GUI 中的备份和恢复工具(已创建共享文件夹、授予权限等),当我转到可以
第一次在这里提问,请轻点:-) 我正在 Synology box 上编写 PHP 命令行脚本以通过 ftps 获取文件,并从这一点开始: $ftp = ftp_ssl_connect("ftp.exa
我正在按照本文尝试在我的 synology box (DS212J) 上编译和安装 truecrypt,但我没有取得任何成功。 http://systemsnotebook.blogspot.com/
我正在尝试编写一个 python 脚本来从 Synology NAS API 下载文件 使用的网址: http://IP_ADDRESS:PORT/webapi/entry.cgi?api=SYNO.
我是一名优秀的程序员,十分优秀!