我有一个64位的CentOS 6系统,它运行一个定制版本的Perl 5.12.5,它是为32位构建的.(唉,这是因为我们对32位和64位系统使用相同的RPM.)
当我在服务器上构建XS模块(例如JSON :: XS)时,它会失败,因为它正在构建64位库.我得到一个错误
Can't load '.cpanm/work/1370279501.28897/JSON-XS-2.33/blib/arch
/auto/JSON/XS/XS.so' for module JSON::XS: .cpanm/work/137027950
1.28897/JSON-XS-2.33/blib/arch/auto/JSON/XS/XS.so: wrong ELF class: ELFCLASS64
at /opt/perl/lib/5.12.5/i686-linux/DynaLoader.pm line 200.
Run Code Online (Sandbox Code Playgroud)
我已经尝试将CFLAGS变量设置为"-m32-bit"但它不起作用.
如何正确编译XS模块需要做什么?理想情况下,我喜欢与cpanminus一起使用的东西,但如果需要可以使用cpan或cpanplus.
我对Attribute :: Handlers有一个奇怪的问题,看起来像某种bug:
package MyPackage;
use Attribute::Handlers;
sub UNIVERSAL::foo :ATTR(CODE) {
...
}
Run Code Online (Sandbox Code Playgroud)
当在MyPackage中使用时,或者从使用MyPackage的脚本的主包中使用时,只要编译器遇到表单的函数,就会调用foo处理程序
sub bar:foo {
...
}
Run Code Online (Sandbox Code Playgroud)
但是,我在另一个使用MyPackage的.pm文件中有另一个包.编译器接受":foo"属性,但不调用处理程序.
我尝试在MyPackage中编写一个导入函数,将foo处理程序导出到调用者的命名空间,但这似乎没有帮助.
任何人都可以理解这个吗?在过去的几天里,我一直在努力解决这个问题.
我正在尝试让 Perl 的 Finance::Quote 模块在 MacOS 升级到 11.4 后正常工作。依赖项之一是 B::Keywords。B::Keywords 安装测试失败并出现以下错误:
> sudo cpan B::Keywords
[...]
Can't open /System/Library/Perl/5.30/darwin-thread-multi-2level/CORE/keywords.h: No such file or directory at t/11keywords.t line 25
Run Code Online (Sandbox Code Playgroud)
仔细研究后,我发现 keywords.h 存在于我的系统中的以下位置:
/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Perl/5.30/darwin-thread-multi-2level/CORE/keywords.h
有没有办法告诉 cpan(或 cpanm,或其他一些安装工具)在哪里查找这些标头?或者,任何其他方法来使其发挥作用将受到欢迎。
如果我已经有一个活动的 DBI 数据库句柄,有没有办法使用该数据库句柄实例化 DBIx::Class 模式,而不是创建一个新连接,例如
my $schema = MyApp::Schema->connect($dbh);
Run Code Online (Sandbox Code Playgroud)
(这是因为某些遗留代码使用了一些较新的基于 DBIC 的代码。不,我无法连接到架构并将架构的数据库句柄传递给遗留代码,并且不,我无法重写遗留代码以使用 DBIC .)
我们在一些 AWS 存储桶前面有一个 Cloudfront 分配,由我团队的另一名成员设置。
我有一些用于 lambda@edge 的 node.js 代码来重写请求。
我的问题是如何使用 aws 命令行工具将这些存储桶部署到 Cloudfront?
我认为,这需要
我还没有找到任何连贯的文档或如何完成所有这些的示例,更不用说使用 aws 工具了。
事实上,当我通过网站登录时,我看不到 Cloudfront 或 S3 存储桶,但我可以通过命令行列出 s3 存储桶内容。(我不确定如何通过命令行访问 Cloudfront)。
perl ×4
amazon-s3 ×1
attributes ×1
aws-lambda ×1
cpan ×1
dbix-class ×1
macos ×1
makemaker ×1
xs ×1