添加` - with-readline“

发布于 2025-02-09 01:49:11 字数 2779 浏览 1 评论 0原文

我用Alpine Linux最新版本编译了PHP 8.1.7,并使用以下命令进行了。

./configure LDFLAGS=-static --disable-all --enable-cli --enable-mbstring --enable-static=yes
sed -ie 's/-export-dynamic//g' "Makefile" && \
    sed -ie 's/-o $(SAPI_CLI_PATH)/-all-static -o $(SAPI_CLI_PATH)/g' "Makefile"
make LDFLAGS="-ldl" -j12
make install

然后添加读取线。

apk add readline readline-dev readline-static ncurses-static ncurses-dev
./configure LDFLAGS=-static --disable-all --enable-cli --enable-mbstring --enable-static=yes --with-readline

错误消息在这里。

checking for libedit readline replacement... no
checking for readline support... yes
checking for tgetent in -lncurses... no
checking for tgetent in -ltermcap... no
checking for readline in -lreadline... no
configure: error: readline library not found

config.log部分是

configure:84994: checking for tgetent in -lncurses
configure:85017: cc -o conftest -g -O2 -fvisibility=hidden  -static conftest.c -lncurses  -lrt -lm  >&5
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lncurses
collect2: error: ld returned 1 exit status
configure:85027: result: no
configure:85059: checking for tgetent in -ltermcap
configure:85082: cc -o conftest -g -O2 -fvisibility=hidden  -static conftest.c -ltermcap  -lrt -lm  >&5
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -ltermcap
collect2: error: ld returned 1 exit status
configure:85092: result: no
configure:85235: checking for readline in -lreadline
configure:85258: cc -o conftest -g -O2 -fvisibility=hidden  -Wl,-rpath,/usr/local/lib -L/usr/local/lib -static conftest.c -lreadline  -lrt -lm  >&5
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/local/lib/libreadline.a(display.o): in function `_rl_move_cursor_r
elative':
/root/static-php-cli/docker/source/readline-8.1/display.c:2805: undefined reference to `tputs'
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/local/lib/libreadline.a(display.o): in function `_rl_move_vert':
/root/static-php-cli/docker/source/readline-8.1/display.c:2857: undefined reference to `tputs'
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/local/lib/libreadline.a(terminal.o):/root/static-php-cli/docker/source/readline-8
.1/terminal.c:764: more undefined references to `tputs' follow
collect2: error: ld returned 1 exit status
configure:85268: result: no
configure:85381: error: readline library not found

I compiled php 8.1.7 statically in Alpine Linux latest version, and I made it with following command.

./configure LDFLAGS=-static --disable-all --enable-cli --enable-mbstring --enable-static=yes
sed -ie 's/-export-dynamic//g' "Makefile" && \
    sed -ie 's/-o $(SAPI_CLI_PATH)/-all-static -o $(SAPI_CLI_PATH)/g' "Makefile"
make LDFLAGS="-ldl" -j12
make install

Then add readline.

apk add readline readline-dev readline-static ncurses-static ncurses-dev
./configure LDFLAGS=-static --disable-all --enable-cli --enable-mbstring --enable-static=yes --with-readline

Error messages here.

checking for libedit readline replacement... no
checking for readline support... yes
checking for tgetent in -lncurses... no
checking for tgetent in -ltermcap... no
checking for readline in -lreadline... no
configure: error: readline library not found

And config.log part is

configure:84994: checking for tgetent in -lncurses
configure:85017: cc -o conftest -g -O2 -fvisibility=hidden  -static conftest.c -lncurses  -lrt -lm  >&5
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lncurses
collect2: error: ld returned 1 exit status
configure:85027: result: no
configure:85059: checking for tgetent in -ltermcap
configure:85082: cc -o conftest -g -O2 -fvisibility=hidden  -static conftest.c -ltermcap  -lrt -lm  >&5
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -ltermcap
collect2: error: ld returned 1 exit status
configure:85092: result: no
configure:85235: checking for readline in -lreadline
configure:85258: cc -o conftest -g -O2 -fvisibility=hidden  -Wl,-rpath,/usr/local/lib -L/usr/local/lib -static conftest.c -lreadline  -lrt -lm  >&5
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/local/lib/libreadline.a(display.o): in function `_rl_move_cursor_r
elative':
/root/static-php-cli/docker/source/readline-8.1/display.c:2805: undefined reference to `tputs'
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/local/lib/libreadline.a(display.o): in function `_rl_move_vert':
/root/static-php-cli/docker/source/readline-8.1/display.c:2857: undefined reference to `tputs'
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/local/lib/libreadline.a(terminal.o):/root/static-php-cli/docker/source/readline-8
.1/terminal.c:764: more undefined references to `tputs' follow
collect2: error: ld returned 1 exit status
configure:85268: result: no
configure:85381: error: readline library not found

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流年里的时光 2025-02-16 01:49:11

我做到了。解决方案非常简单。

只需移动/usr/lib/libreadline.so*/usr/lib/libncurses*.so* 到另一个目录。汇编后,将它们移回/usr/lib/

I made it. And the solution is very simple.

Just move /usr/lib/libreadline.so*, /usr/lib/libncurses*.so* to another directory. After compilation move them back to /usr/lib/.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文