0

我最近升级到 Octave 3.6.4,突然在收到消息时遇到问题(octave:23508): GLib-CRITICAL **: PCRE library is compiled without UTF8 support 。一个简单的测试pcretest -C给了我

PCRE version 8.21 2011-12-12
Compiled with
No UTF-8 support
No Unicode properties support
No just-in-time compiler support
Newline sequence is LF
\R matches all Unicode newlines
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack

经过研究,我下载了源代码并重新编译(使用这些说明:)在此处输入链接描述。现在,我的系统上有两个版本的 libpcre。以前的 8.21 英寸/usr/local/bin/pcretest和新的 8.33 英寸/usr/bin/pcretest。后者是我想要的,因为它给了

ahowe42@Neuromancer:~/Downloads$ /usr/bin/pcretest -C
PCRE version 8.33 2013-05-28
Compiled with
8-bit support
UTF-8 support
16-bit support
UTF-16 support
32-bit support
UTF-32 support
Unicode properties support
No just-in-time compiler support
Newline sequence is LF
\R matches all Unicode newlines
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack

但是,在没有路径的情况下运行 pcretest 仍然使用旧的,就像 Octave 一样。如何删除 8.21 版和/或强制系统使用 8.33?

4

2 回答 2

0

好的,解决了这个问题。更新 libpcre 并将系统重新映射为使用 8.33 后,我只需要重新编译 Octave。

于 2013-11-08T13:27:07.083 回答
0

在 Mac OS X 上从较旧的 XAMPP 版本迁移到最新版本时,我遇到了同样的问题。现在似乎使用 MariaDB 代替了 Mysql DB。

当我在终端上输入 pcretest -C 时,我得到了

PCRE 版本 8.37 2015-04-28 编译 8 位支持 UTF-8 支持 16 位支持 UTF-16 支持 32 位支持 UTF-32 支持 ...

所以我看不到这条消息的原因。但是当我查看 XAMPP/xamppfiles/bin 目录时,我发现这里也存在以 pcre 开头的二进制文件。XAMM/xamppfiles/lib 目录中还有以 pcre 开头的文件。

所以我(我承认很脏)的解决方案是将所有 pcre* 文件从 /opt/local/bin/ 和 /opt/local/lib/ 复制到 /Applications/XAMPP/xamppfiles/bin 和 lib。

重新启动mysql后,错误不再出现。

于 2015-11-17T20:51:26.520 回答