需要一些帮助,以编写用于配置的补丁文件

Need some help, to writing a patch file for configure

提问人:Ryufuz 提问时间:10/10/2022 更新时间:10/10/2022 访问量:254

问:

我正在为 Termux aarch64 编译一个应用程序“bind-9”。我的主要系统是Ubuntu 22.04。对于此任务,它已 https://github.com/termux/termux-packages 下载,并从脚本中安装了“soft for Ubuntu”、“Android SDK”和“Docker-run”。

我使用脚本运行编译 build-package.sh .在此过程中编写了 build.sh 和补丁进行编译。补丁是动态工作的,因为每次运行脚本时,编译(配置)都会从头开始,发生错误后,我找不到编译的缓存。

结果,我有一个错误

ld: error: unable to find library -lisc
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
libtool: error: error: relink 'libdns.la' with the above command before installing it

在此之前,该程序已经安装

libtool: install: /usr/bin/install -c .libs/libisc-9.19.5.so /data/data/com.termux/files/usr/lib/libisc-9.19.5.so
libtool: install: /usr/bin/install -c .libs/libisc.lai /data/data/com.termux/files/usr/lib/libisc.la

我知道有必要简单地将地址添加到makefile中,但它不存在,它是动态生成的,并在停止后立即删除。

出路是再写一个补丁,但我根本不明白makefile的配置((((

怎么办,有什么办法?

错误落在命令上

libtool: install: (cd /root/.termux-build/bind9/src/lib/dns; /bin/bash "/root/.termux-build/bind9/src/libtool"  --silent --tag CC --mode=relink aarch64-linux-android-clang -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wno-missing-field-initializers -Wformat -Wshadow -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=format-security -Werror=parentheses -Werror=implicit -Werror=strict-prototypes -Werror=vla -fno-strict-aliasing -fno-delete-null-pointer-checks -fdiagnostics-show-option -fstack-protector-strong -Oz -pthread -Wl,--export-dynamic -release 9.19.5 -L/data/data/com.termux/files/usr/lib -Wl,-rpath=/data/data/com.termux/files/usr/lib -fopenmp -static-openmp -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,relro,-z,now -o libdns.la -rpath /data/data/com.termux/files/usr/lib libdns_la-acl.lo libdns_la-adb.lo libdns_la-badcache.lo libdns_la-byaddr.lo libdns_la-cache.lo libdns_la-callbacks.lo libdns_la-catz.lo libdns_la-clientinfo.lo libdns_la-compress.lo libdns_la-db.lo libdns_la-dbiterator.lo libdns_la-diff.lo libdns_la-dispatch.lo libdns_la-dlz.lo libdns_la-dns64.lo libdns_la-dnsrps.lo libdns_la-dnssec.lo libdns_la-ds.lo libdns_la-dst_api.lo libdns_la-dst_parse.lo libdns_la-dyndb.lo libdns_la-ecs.lo libdns_la-fixedname.lo libdns_la-forward.lo libdns_la-gssapictx.lo libdns_la-hmac_link.lo libdns_la-ipkeylist.lo libdns_la-iptable.lo libdns_la-journal.lo libdns_la-kasp.lo libdns_la-key.lo libdns_la-keydata.lo libdns_la-keymgr.lo libdns_la-keytable.lo libdns_la-log.lo libdns_la-master.lo libdns_la-masterdump.lo libdns_la-message.lo libdns_la-name.lo libdns_la-ncache.lo libdns_la-nsec.lo libdns_la-nsec3.lo libdns_la-nta.lo libdns_la-openssl_link.lo libdns_la-openssl_shim.lo libdns_la-openssldh_link.lo libdns_la-opensslecdsa_link.lo libdns_la-openssleddsa_link.lo libdns_la-opensslrsa_link.lo libdns_la-order.lo libdns_la-peer.lo libdns_la-private.lo libdns_la-rbt.lo libdns_la-rbtdb.lo libdns_la-rcode.lo libdns_la-rdata.lo libdns_la-rdatalist.lo libdns_la-rdataset.lo libdns_la-rdatasetiter.lo libdns_la-rdataslab.lo libdns_la-request.lo libdns_la-resolver.lo libdns_la-result.lo libdns_la-rootns.lo libdns_la-rpz.lo libdns_la-rrl.lo libdns_la-rriterator.lo libdns_la-sdb.lo libdns_la-sdlz.lo libdns_la-soa.lo libdns_la-ssu.lo libdns_la-ssu_external.lo libdns_la-stats.lo libdns_la-time.lo libdns_la-transport.lo libdns_la-tkey.lo libdns_la-tsec.lo libdns_la-tsig.lo libdns_la-ttl.lo libdns_la-update.lo libdns_la-validator.lo libdns_la-view.lo libdns_la-xfrin.lo libdns_la-zone.lo libdns_la-zoneverify.lo libdns_la-zonekey.lo libdns_la-zt.lo libdns_la-client.lo ../../lib/isc/libisc.la -L/data/data/com.termux/files/usr/lib -luv -L/data/data/com.termux/files/usr/lib -lssl -lcrypto )
makefile 编译 libtool termux

评论

0赞 tripleee 10/10/2022
您将需要添加到您的库路径中,或者弄清楚如何将其安装在更明智的位置。/data/data/com.termux/files/usr/lib
0赞 Ryufuz 10/10/2022
我想知道 - 形成 Makefile 内容的循环在哪里。我需要在最后写下你说的话。
0赞 Ryufuz 10/10/2022
因此,有必要在文件夹 /data/data/com.termux/files/usr/lib 中重命名 libisc.so 中 libisc-9.19.5.so 类型的库。一切都编译成功了)

答: 暂无答案