我在Perl中制作了一个自定义CUPS后端。它在10.7-10.9中完美运行,但10.10(Yosemite)显然有一个新的沙箱功能,阻止我从“/ opt”的子目录中包含一个文件。
欢迎任何建议!
这是来自杯子error_log:
Can't locate Net/IPP/IPP.pm in @INC (you may need to install the Net::IPP::IPP module) (@INC contains: /opt/msipp [redacted] .) at /usr/libexec/cups/backend/msipp line 73.
这是来自系统日志:
sandboxd[286]: ([11381]) perl5.18(11381) deny file-read-metadata /opt/msipp/Net/IPP/IPP.pm
完整的系统日志条目:
perl5.18(11381) deny file-read-metadata /opt/msipp/Net/IPP/IPP.pm
Process: perl5.18 [11381]
Path: /usr/bin/perl5.18
Load Address: 0x10dd8b000
Identifier: perl5.18
Version: ??? (???)
Code Type: x86_64 (Native)
Parent Process: cupsd [10823]
Date/Time: 2014-10-09 00:15:41.756 +0200
OS Version: Mac OS X 10.10 (14A379a)
Report Version: 8
Thread 0:
0 libsystem_kernel.dylib 0x00007fff8de28a6e stat$INODE64 + 10
1 libperl.dylib 0x000000010de5241e
2 libperl.dylib 0x000000010de519cc Perl_pp_require + 3076
3 libperl.dylib 0x000000010de171ca Perl_runops_standard + 210
4 libperl.dylib 0x000000010ddaf2cd Perl_call_sv + 938
5 libperl.dylib 0x000000010ddabe46 Perl_call_list + 355
6 libperl.dylib 0x000000010dda220f
7 libperl.dylib 0x000000010dda1ef3 Perl_newATTRSUB_flags + 3620
8 libperl.dylib 0x000000010dd9c9bf Perl_utilize + 747
9 libperl.dylib 0x000000010ddd78ae Perl_yyparse + 2514
10 libperl.dylib 0x000000010ddae0c6 perl_parse + 7886
11 perl5.18 0x000000010dd8bccb main + 203
12 libdyld.dylib 0x00007fff8873d5c9 start + 1
Binary Images:
0x10dd8b000 - 0x10dd8bfff perl5.18 (103) <dd623cf6-275a-3bc8-bde0-09566702484d> /usr/bin/perl5.18
0x10dd93000 - 0x10deb7ff7 libperl.dylib (103) <8fc40e39-a06c-3454-8ada-f82bbfd179f2> /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib
0x7fff8873a000 - 0x7fff8873dff7 libdyld.dylib (353.2.1) <19faf435-c165-3374-9def-d7bba7d61db6> /usr/lib/system/libdyld.dylib
0x7fff8de11000 - 0x7fff8de2efff libsystem_kernel.dylib (2782.1.97) <93e0e0a9-75b6-3904-bb4e-4bc7c05f4b6b> /usr/lib/system/libsystem_kernel.dylib
答案 0 :(得分:1)
尝试更新至Yosemite GM 3.0。它解决了我的问题。
答案 1 :(得分:0)
我通过将依赖项从/ opt / msipp移动到/ usr / share / cups / msipp来解决它