gpt4 book ai didi

php - 为 PHP 构建 Saxon/C 时出错

转载 作者:行者123 更新时间:2023-11-30 16:52:23 26 4
gpt4 key购买 nike

当我尝试在 Ubuntu 16.04 下为 PHP 构建 Saxon/C 时,运行 make 命令后我收到了一堆信息。

这是第一个错误:

/bin/bash /usr/lib/Saxonica/Saxon-HEC/Saxon.C.API/libtool --mode=compile g++  -I
. -I/usr/lib/Saxonica/Saxon-HEC/Saxon.C.API -DPHP_ATOM_INC -I/usr/lib/Saxonica/S
axon-HEC/Saxon.C.API/include -I/usr/lib/Saxonica/Saxon-HEC/Saxon.C.API/main -I/u
sr/lib/Saxonica/Saxon-HEC/Saxon.C.API -I/usr/include/php/20151012 -I/usr/include
/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/
Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -
DHAVE_CONFIG_H -g -O2 -c /usr/lib/Saxonica/Saxon-HEC/Saxon.C.API/php_saxon.cp
p -o php_saxon.lo
libtool: compile: g++ -I. -I/usr/lib/Saxonica/Saxon-HEC/Saxon.C.API -DPHP_ATOM_
INC -I/usr/lib/Saxonica/Saxon-HEC/Saxon.C.API/include -I/usr/lib/Saxonica/Saxon-
HEC/Saxon.C.API/main -I/usr/lib/Saxonica/Saxon-HEC/Saxon.C.API -I/usr/include/ph
p/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/
usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php
/20151012/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/lib/Saxonica/Saxon-HEC/Sax
on.C.API/php_saxon.cpp -fPIC -DPIC -o .libs/php_saxon.o
/usr/lib/Saxonica/Saxon-HEC/Saxon.C.API/php_saxon.cpp:454:29: error: macro "RETURN_STRING" passed 2 arguments, but takes just 1

php_saxon.cpp:3297:40: error: ‘xdmAtomicValue_create_handler’ was not declared in this scope
xdmAtomicValue_ce->create_object = xdmAtomicValue_create_handler;

上述错误消息是众多错误消息中的最后一个。

当编译器找不到 jni.h 文件时,第一个 make 被停止。我将头文件复制到文件夹中(这可能是错误的?)

错误消息:

Saxon.C.API/SaxonProcessor.h:10:17: fatal error: jni.h: No such file or directory

当编译器找不到 jni_md.h 时,第二次尝试停止 - 我再次将该文件复制到该文件夹​​。

php_saxon.cpp:5:
./jni.h:45:20: fatal error: jni_md.h: No such file or directory

欢迎提供有关如何构建此内容的任何指示。我敢打赌这是我缺乏知识,而不是出色的软件。

我正在按照此页面上的说明进行操作: http://www.saxonica.com/saxon-c/doc/html/index.html我也尝试过使用 phpize5.6 和 phpize7.0

最佳答案

正如约翰所提到的。添加 jni 的位置应该可以解决您的问题。故障排除指南应该可以帮助您。请参阅:http://www.saxonica.com/saxon-c/index.xml#troubleshooting您在这里有几个选择:

1) 编辑 Makefile 以包含 jdkdir,即: -I$jdkdir/include -I$jdkdir/include/linux

2)只需安装我发现的gcj-jdk即可解决此问题

3)将文件 jni.h 和 jni_md.h 文件复制到 Saxon/C 代码的目录中,我也发现可以工作。

关于php - 为 PHP 构建 Saxon/C 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41251451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com