- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试安装 mod_perl 2.0.10 以与新的 Apache 2.4 实例一起使用。我已经自行启动并运行了 Apache 2.4.26,但我还需要安装 mod_perl 才能使几个模块正常工作。
问题是:mod_perl 总是无法通过测试,声称:
Syntax error on line 82 of .../t/conf/httpd.conf: Cannot load .../src/modules/perl/mod_perl.so into server: .../src/modules/perl/mod_perl.so: undefined symbol: mg_free_type
我能找到的唯一信息是:Error when installing mod_perl2 。不幸的是,它并没有解决问题。
使用 CentOS 版本 6.8(最终版)x86_64 x86_64 x86_64 GNU/Linux
日志中的更多内容:
> make test
cd "src/modules/perl" && make
make[1]: Entering directory `/software/apa/mod_perl/mod_perl-2.0.10/src/modules/perl'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/software/apa/mod_perl/mod_perl-2.0.10/src/modules/perl'
...
make[1]: Leaving directory `/software/apa/mod_perl/mod_perl-2.0.10/xs'
/usr/bin/perl -Iblib/arch -Iblib/lib \
t/TEST -clean
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl /software/apa/mod_perl/mod_perl-2.0.10/t/TEST -clean
APACHE_TEST_APXS= APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= \
/usr/bin/perl -Iblib/arch -Iblib/lib \
t/TEST -bugreport -verbose=0
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl /software/apa/mod_perl/mod_perl-2.0.10/t/TEST -bugreport -verbose=0
/software/apa/apa24/bin/httpd.prefork -d /software/apa/mod_perl/mod_perl-2.0.10/t -f /software/apa/mod_perl/mod_perl-2.0.10/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
using Apache/2.4.26 (prefork MPM)
waiting 300 seconds for server to start: .httpd.prefork: Syntax error on line 82 of /software/apa/mod_perl/mod_perl-2.0.10/t/conf/httpd.conf: Cannot load /software/apa/mod_perl/mod_perl-2.0.10/src/modules/perl/mod_perl.so into server: /software/apa/mod_perl/mod_perl-2.0.10/src/modules/perl/mod_perl.so: undefined symbol: mg_free_type
[ error]
server has died with status 255 (t/logs/error_log wasn't created, start the server in the debug mode)
sh: line 1: 3359 Terminated /usr/bin/perl /software/apa/mod_perl/mod_perl-2.0.10/t/TEST -bugreport -verbose=0
make: *** [run_tests] Error 143
最佳答案
此错误是在 mod_perl 2.0.10 中添加对 perl 版本 5.22 的支持时引入的:https://github.com/apache/mod_perl/commit/82827132efd3c2e25cc413c85af61bb63375da6e#diff-0a249c57fb8151f85647e167a883be1b
然后在 2018 年 1 月 4 日 (2.0.11-dev) 的 mod_Perl 补丁中修复: https://github.com/apache/mod_perl/commit/f4d886fdf7d79d54a0647336b5623b840a053eab
要解决此问题,您必须从 this commit of mod_perl 2.0.11-dev 的源代码进行编译(或主干版本)来解决问题,如果您有 perl <=5.13.6,或者如果您可以将 Perl 升级到版本 >5.13.6,则可以使用 mod_perl 2.0.10 进行编译。
此 Perl 提交中的 Perl 版本 5.13.6 源代码中引入了 Perl 中的此更改: https://perl5.git.perl.org/perl.git/commit/d908838680ec40ea0e85f59ee66f5f56a225f9b4
src/modules/perl/modperl_env.c 中的 mod_perl 修复(最后 2.0.11-dev )使用 mg_free 的上下文用法来修复问题:
#if MP_PERL_VERSION_AT_LEAST(5, 13, 6)
mg_free_type((SV*)ENVHV, PERL_MAGIC_env);
#else
mg_free((SV*)ENVHV);
#endif
关于linux - 使用 Apache 2.4.26 和 Perl 5.10.1 安装 mod_perl 2.0.10 时出现 "undefined symbol: mg_free_type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44767291/
我有一个 mod_perl 系统接受来自不同客户端系统的 API 调用 假设在子 perl 程序中我有这样的调用,它做了一些繁重的处理 $conf{$client_id} = generate_cli
我最近开始从事一个使用 mod_perl 的项目。我正在尝试使用 Perl 调试器来调试在 mod_perl 下运行的一些 Perl 脚本。我使用以下命令启动调试器: sudo OPTIONS="-X
我先做了一些搜索,但还没有找到满意的答案(如果这是一个重复的问题,我深表歉意——或者更糟的是,一个愚蠢的问题)... 动态加载 Perl 模块,例如 this question 的答案中包含的模块(下
距离 mod_perl 已经过去很长时间了确实更新了,看起来它的开发停止在 Apache 2.2 上。我已经等待 Apache 2.4 可以使用它很久了,但是这还没有发生。 我一直在尝试寻找有关其当前
我最近发现我们的一个网站有内存泄漏,这很奇怪,因为它发生的突然。我使用 GTop 来测量每个进程的内存大小,它告诉我每个请求的实际值大约是 65 MB(在服务器上),另外还有 5 MB 共享。 我尝试
我有一个要求 我必须在内存中放置一个数据结构(Perl 哈希),以便每个 HTTP 进程(运行 Perl 脚本)都使用该哈希。 哈希结构约为 300 MB。 环境是 mod_perl 我想创建一个在
我正在尝试学习如何分析 perl 内存。 我有一个非常简单的 Perl hello-world 脚本,我想知道它在内存中的大小。 我使用 GTop 实用程序来测量内存(recommended in m
一些引用自实用的 mod_perl “通常,单个进程在退出前会处理许多请求,因此如果希望在每个请求处理结束时执行某些操作,则不能使用 END block 。” 所以,在我的 a.cgi 脚本中: my
我正在努力让关注一些 Perl Best Practices 变得更容易。通过创建 Constants导出本书中使用的几个标量的模块。特别是,$EMPTY_STRING ,我几乎可以在我编写的每个 P
我有这个旧的 Perl 脚本,它应该充当基于 HTTP 的客户端和非 HTTP Java 服务器之间的各种代理:客户端将一些数据发布到这个 Perl 脚本,然后脚本会调用 Java 服务器,获取响应并
我在 Red Hat 5.2 上将 mod_perl 2 与 Apache 2.2.3 一起使用,并且我正在尝试访问请求 header ,但是 Apache2::RequestRec headers_
在一个相当大的遗留项目中,我将几个毛茸茸的模块重构为 Moose 类。这些模块中的每一个都需要数据库访问(惰性)获取其属性。由于这些对象被大量使用,我想减少冗余请求的数量,例如对于未更改的数据。 现在
我正在使用 mod perl 1.3.0 和 apache 1.3.41 perl 版本 5.8.6,并且内存大小似乎每 3rd 或 4th 请求增长约 4k。我们正在运行的 Perl 脚本很简单:
我正在使用 mod _ 开发应用程序perl 并在我每次更改代码时重新启动服务器是一个巨大的拖累。我还想继续使用 mod _ perl 用于开发,因为它是我计划用于实时服务器的。我在文档中没有看到有关
我正在尝试将 Perl 调试器附加到 Apache 和 mod_perl。我们的 环境相当复杂(很多额外的东西(例如催化剂) 用Apache配置)和配置它的工程师不是 与公司相处的时间更长。我已按照
我正在使用 Perl 开发一个 Web 应用程序,其中包含一些 C 语言,这是一些繁重的数字运算所必需的。到目前为止,我遇到的主要问题是试图决定是否应该使用 mod-perl、mod-fastcgi
我们有一个使用 perl 和带有 mod_perl 的 Apache 的软件 Web 界面。在最近的 Ubuntu 14 安装(Apache 2.4.7,perl 版本 5.18.2)中,我们遇到了随
我想在 mod_perl 中使用线程, 作为示例,我使用以下脚本: use strict; use warnings; use threads; sub doOperation{ my
我在我们的开发服务器上运行 apache2/mod_perl2 组合。 当我进行开发时,我的更改会立即反射(reflect)在我正在处理的网页中。我假设 mod_perl 很聪明,并且在文件更改时重新
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我是一名优秀的程序员,十分优秀!