首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Yocto构建中添加php-curl

在Yocto构建中添加php-curl
EN

Stack Overflow用户
提问于 2017-12-13 20:55:41
回答 1查看 1.3K关注 0票数 1

我一直在使用Yocto和wpewebkit构建一个自定义映像,以便在docker中使用。我需要使用php运行本地web服务器,这是没有问题的。我需要在我的项目中使用curl,我已经安装了apache2、php、modphp和curl。我所需要的只是php-curl,但是我找不到如何安装它。有人知道我是怎么做的吗?我已经尽了全力搜索多个短语,但我只找到了如何使用apt或yum安装php-curl,或者我可以在构建文件中访问到meta-*目录的链接。

如果有帮助的话,这个自定义映像是基于GitHub上的以下项目提供的图像的:https://github.com/resin-io-playground/resin-wpe/tree/master/base-image。我已经和开发人员谈过了,他们对PHP的了解是有限的。

编辑1:到目前为止的进展,必须更新curl.bb文件以正确地包含libcurl,然后使用@pmod的建议将curl合并到php构建中。在收到以下错误之前,一切似乎都正常:

代码语言:javascript
复制
| ../php-7.1.9/configure: line 386: test: please: integer expression expected
| configure: error: reinstall
| ../php-7.1.9/configure: line 275: return: please: numeric argument required
| ../php-7.1.9/configure: line 285: exit: please: numeric argument required
| NOTE: The following config.log files may provide further information.
| NOTE: /base-image/build/tmp-glibc/work/x86_64-linux/php-native/7.1.9-r0/build/config.log
| ERROR: configure failed
| WARNING: /base-image/build/tmp-glibc/work/x86_64-linux/php-native/7.1.9-r0/temp/run.do_configure.29590:1 exit 1 from 'exit 1'
| ERROR: Function failed: do_configure (log file is located at /base-image/build/tmp-glibc/work/x86_64-linux/php-native/7.1.9-r0/temp/log.do_configure.29590)
ERROR: Task (virtual:native:/base-image/build/../meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb:do_configure) failed with exit code '1'

编辑2:我继续前进,添加了我所缺少的一切。上面也出现了相同的错误,在php构建过程中,函数do_configure失败了。下面是我确保在curl.bb文件中包含的内容(必须添加这个)、php.inc文件中的内容以及位于暂存目录中的curl文件。

curl.bb:

代码语言:javascript
复制
PACKAGES =+ "lib${BPN} lib${BPN}-native lib${BPN}-dev lib${BPN}-dev-native"

FILES_lib${BPN} = "${libdir}/lib*.so.*"

FILES_lib${BPN}-dev = "${includedir} \
                       ${libdir}/lib*.so \
                       ${libdir}/lib*.a \
                       ${libdir}/lib*.la \
                       ${libdir}/pkgconfig \
                       ${datadir}/aclocal \
                       ${bindir}/*-config"

php.inc:

代码语言:javascript
复制
EXTRA_OECONF_append = " --with-curl=${libdir}/.."
DEPENDS_${PN} += "libcurl-dev libcurl-dev-native"

PHP暂存目录:

代码语言:javascript
复制
/installeddeps/curl-native
/installeddeps/curl-native.b77f37db31cf2391919a12c5c9774bff
/installeddeps/curl-native.complete
/usr/share/aclocal/libcurl.m4
/usr/bin/curl-config
/usr/bin/crossscripts/curl-config
/usr/bin/curl
/usr/lib/pkgconfig/libcurl.pc
/usr/lib/libcurl.so
/usr/lib/libcurl.a
/usr/lib/libcurl.so.4.4.0
/usr/lib/libcurl.so.4
/usr/include/curl
/usr/include/curl/curl.h
/usr/include/curl/curlrules.h
/usr/include/curl/curlbuild.h
/usr/include/curl/curlver.h
/usr/include/curl/easy.h
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-15 23:49:26

根据--with-curl=dir,PHP/cURL特性是在php配置阶段使用php手册选项启用的。

我检查了主菜谱,包括文件php.inc,但是找不到这样的配置选项。因此,尝试在工作层创建php_%.bbappend文件(或将其直接添加到php.inc底部以进行测试):

代码语言:javascript
复制
EXTRA_OECONF_append_class-target = " --with-curl=${STAGING_LIBDIR}/.."
DEPENDS_append_class-target = " curl"

注意,curl包在中依赖于,因为在构建阶段需要它。

我不认为你需要用包和文件来更新卷曲食谱,pkg_config应该小心

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47801967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档