Hello Stackoverflow社区
我正在尝试从源代码中为GoAccess创建配方。我目前的食谱目前是这样的。我已经使用提供的分发包列表添加了项目的依赖项。我认为确实需要“ coreutils popt”,而且它们没有任何意义。
如果有人对cd有更好的解决方案,那么我很乐意接受。
SUMMARY = "GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal on *nix systems or through your browser."
HOMEPAGE = "https://goaccess.io"
SECTION = "console/utils"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=01c937f4a0ce3daba5ca22e80b53d24b"
DEPENDS = "coreutils popt ncurses geoip tokyocabinet gettext-native"
SRC_URI = "https://tar.goaccess.io/goaccess-${PV}.tar.gz"
SRC_URI[md5sum] = "6f4b60f87755a7d1b350badfedda0aa3"
SRC_URI[sha256sum] = "e8fbb9ff852556d72dfd9f1d0134ba075ce5b4c41289902a6f4e0d97c69377be"
S = "${WORKDIR}/goaccess-${PV}"
inherit autotools pkgconfig
do_configure() {
cd ${S}
./configure --enable-utf8 --enable-geoip=legacy --host=${HOST_SYS}
}
do_compile_prepend() {
cd ${S}
}
我收到一个错误,指出缺少ld-linux-armhf.so.3文件。该文件属于哪个依赖项?如何将其添加到构建过程中?
ERROR: goaccess-1.4-r0 do_compile: oe_runmake failed
ERROR: goaccess-1.4-r0 do_compile: Execution of '/home/path/build/tmp-glibc/work/arm1176jzfshf-vfp-oe-linux-gnueabi/goaccess/1.4-r0/temp/run.do_compile.15001' failed with exit code 1:
cat ./resources/tpls.html | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > resources/tpls.html.tmp
cat ./resources/css/bootstrap.min.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/bootstrap.min.css.tmp
cat ./resources/css/fa.min.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/fa.min.css.tmp
cat ./resources/css/app.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/app.css.tmp
cat ./resources/js/d3.v3.min.js | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/js/d3.v3.min.js.tmp
./bin2c ./resources/css/app.css.tmp src/appcss.h app_css
./bin2c resources/tpls.html.tmp src/tpls.h tpls
./bin2c ./resources/css/fa.min.css.tmp src/facss.h fa_css
./bin2c ./resources/js/d3.v3.min.js.tmp src/d3js.h d3_js
/lib/ld-linux-armhf.so.3: No such file or directory
./bin2c ./resources/css/bootstrap.min.css.tmp src/bootstrapcss.h bootstrap_css
Makefile:1326: recipe for target 'src/appcss.h' failed
make: *** [src/appcss.h] Error 255
make: *** Waiting for unfinished jobs....
/lib/ld-linux-armhf.so.3: No such file or directory
Makefile:1321: recipe for target 'src/facss.h' failed
make: *** [src/facss.h] Error 255
/lib/ld-linux-armhf.so.3: No such file or directory
Makefile:1331: recipe for target 'src/d3js.h' failed
make: *** [src/d3js.h] Error 255
/lib/ld-linux-armhf.so.3: No such file or directory
Makefile:1311: recipe for target 'src/tpls.h' failed
make: *** [src/tpls.h] Error 255
/lib/ld-linux-armhf.so.3: No such file or directory
Makefile:1316: recipe for target 'src/bootstrapcss.h' failed
make: *** [src/bootstrapcss.h] Error 255
WARNING: exit code 1 from a shell command.
ERROR: Logfile of failure stored in: /home/path/build/tmp-glibc/work/arm1176jzfshf-vfp-oe-linux-gnueabi/goaccess/1.4-r0/temp/log.do_compile.15001
Log data follows:
| DEBUG: Executing python function autotools_aclocals
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'arm-32', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Python function autotools_aclocals finished
| DEBUG: Executing shell function do_compile
| NOTE: make -j 5
| cat ./resources/tpls.html | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > resources/tpls.html.tmp
| cat ./resources/css/bootstrap.min.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/bootstrap.min.css.tmp
| cat ./resources/css/fa.min.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/fa.min.css.tmp
| cat ./resources/css/app.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/app.css.tmp
| cat ./resources/js/d3.v3.min.js | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/js/d3.v3.min.js.tmp
| ./bin2c ./resources/css/app.css.tmp src/appcss.h app_css
| ./bin2c resources/tpls.html.tmp src/tpls.h tpls
| ./bin2c ./resources/css/fa.min.css.tmp src/facss.h fa_css
| ./bin2c ./resources/js/d3.v3.min.js.tmp src/d3js.h d3_js
| /lib/ld-linux-armhf.so.3: No such file or directory
| ./bin2c ./resources/css/bootstrap.min.css.tmp src/bootstrapcss.h bootstrap_css
| Makefile:1326: recipe for target 'src/appcss.h' failed
| make: *** [src/appcss.h] Error 255
| make: *** Waiting for unfinished jobs....
| /lib/ld-linux-armhf.so.3: No such file or directory
| Makefile:1321: recipe for target 'src/facss.h' failed
| make: *** [src/facss.h] Error 255
| /lib/ld-linux-armhf.so.3: No such file or directory
| Makefile:1331: recipe for target 'src/d3js.h' failed
| make: *** [src/d3js.h] Error 255
| /lib/ld-linux-armhf.so.3: No such file or directory
| Makefile:1311: recipe for target 'src/tpls.h' failed
| make: *** [src/tpls.h] Error 255
| /lib/ld-linux-armhf.so.3: No such file or directory
| Makefile:1316: recipe for target 'src/bootstrapcss.h' failed
| make: *** [src/bootstrapcss.h] Error 255
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/path/build/tmp-glibc/work/arm1176jzfshf-vfp-oe-linux-gnueabi/goaccess/1.4-r0/temp/run.do_compile.15001' failed with exit code 1:
| cat ./resources/tpls.html | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > resources/tpls.html.tmp
| cat ./resources/css/bootstrap.min.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/bootstrap.min.css.tmp
| cat ./resources/css/fa.min.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/fa.min.css.tmp
| cat ./resources/css/app.css | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/css/app.css.tmp
| cat ./resources/js/d3.v3.min.js | sed "s/^[[:space:]]*//" | sed "/^$/d" | tr -d "\r\n" > ./resources/js/d3.v3.min.js.tmp
| ./bin2c ./resources/css/app.css.tmp src/appcss.h app_css
| ./bin2c resources/tpls.html.tmp src/tpls.h tpls
| ./bin2c ./resources/css/fa.min.css.tmp src/facss.h fa_css
| ./bin2c ./resources/js/d3.v3.min.js.tmp src/d3js.h d3_js
| /lib/ld-linux-armhf.so.3: No such file or directory
| ./bin2c ./resources/css/bootstrap.min.css.tmp src/bootstrapcss.h bootstrap_css
| Makefile:1326: recipe for target 'src/appcss.h' failed
| make: *** [src/appcss.h] Error 255
| make: *** Waiting for unfinished jobs....
| /lib/ld-linux-armhf.so.3: No such file or directory
| Makefile:1321: recipe for target 'src/facss.h' failed
| make: *** [src/facss.h] Error 255
| /lib/ld-linux-armhf.so.3: No such file or directory
| Makefile:1331: recipe for target 'src/d3js.h' failed
| make: *** [src/d3js.h] Error 255
| /lib/ld-linux-armhf.so.3: No such file or directory
| Makefile:1311: recipe for target 'src/tpls.h' failed
| make: *** [src/tpls.h] Error 255
| /lib/ld-linux-armhf.so.3: No such file or directory
| Makefile:1316: recipe for target 'src/bootstrapcss.h' failed
| make: *** [src/bootstrapcss.h] Error 255
| WARNING: exit code 1 from a shell command.
感谢您的帮助。
答案 0 :(得分:2)
好的配方继承了 autotools.bbclass ,它会使用所有这些变量和其他内容调用$ {S} / configure。
CONFIGUREOPTS = " --build=${BUILD_SYS} \
--host=${HOST_SYS} \
--target=${TARGET_SYS} \
--prefix=${prefix} \
--exec_prefix=${exec_prefix} \
--bindir=${bindir} \
--sbindir=${sbindir} \
--libexecdir=${libexecdir} \
--datadir=${datadir} \
--sysconfdir=${sysconfdir} \
--sharedstatedir=${sharedstatedir} \
--localstatedir=${localstatedir} \
--libdir=${libdir} \
--includedir=${includedir} \
--oldincludedir=${oldincludedir} \
--infodir=${infodir} \
--mandir=${mandir} \
--disable-silent-rules \
${CONFIGUREOPT_DEPTRACK} \
${@append_libtool_sysroot(d)}"
您可以通过提供自己不完整的do_configure()任务来覆盖此默认行为。不要这样!如果您需要提供其他选项,请使用 EXTRA_OECONF 变量。
EXTRA_OECONF += "--enable-utf8 --enable-geoip=legacy"
这应该是所需的完整食谱。
SUMMARY = "GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal on *nix systems or through your browser."
HOMEPAGE = "https://goaccess.io"
SECTION = "console/utils"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=01c937f4a0ce3daba5ca22e80b53d24b"
DEPENDS = "coreutils popt ncurses geoip tokyocabinet gettext-native"
SRC_URI = "https://tar.goaccess.io/goaccess-${PV}.tar.gz"
SRC_URI[md5sum] = "6f4b60f87755a7d1b350badfedda0aa3"
SRC_URI[sha256sum] = "e8fbb9ff852556d72dfd9f1d0134ba075ce5b4c41289902a6f4e0d97c69377be"
S = "${WORKDIR}/goaccess-${PV}"
inherit autotools
EXTRA_OECONF += "--enable-utf8 --enable-geoip=legacy"