@H_502_1@我一直在尝试在Alpine Docker镜像上安装gdbserver包(https://hub.docker.com/_/alpine/)
@H_502_1@apk添加gdbserver
@H_502_1@给了我这个:
@H_502_1@错误:不可满足的限制:
gdbserver(缺少):
要求:世界[gdbserver] @H_502_1@同时, @H_502_1@apk添加gdb @H_502_1@工作得很好.
那么,在Alpine上安装gdbserver包的正确方法是什么? @H_502_1@附: @H_502_1@apk更新已在其他所有内容之前执行.
gdbserver(缺少):
要求:世界[gdbserver] @H_502_1@同时, @H_502_1@apk添加gdb @H_502_1@工作得很好.
那么,在Alpine上安装gdbserver包的正确方法是什么? @H_502_1@附: @H_502_1@apk更新已在其他所有内容之前执行.
最佳答案
目前似乎gdbserver不是alpine存储库中可用的包,并且gdb包不包含gdbserver.
@H_502_1@但是您可以从包含gdbserver的源安装gdb.
@H_502_1@首先,您需要为编译安装所需的包:
@H_502_1@
原文链接:https://www.f2er.com/docker/435833.htmlapk add --no-cache make
apk add --no-cache linux-headers
apk add --no-cache texinfo
apk add --no-cache gcc
apk add --no-cache g++
@H_502_1@然后你可以安装它,下载源代码并编译它:
@H_502_1@
wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz
tar -xvf gdb-7.11.tar.xz
cd gdb-7.11
./configure --prefix=/usr
make
make -C gdb install
@H_502_1@之后,您应该能够从shell运行gdbserver.
@H_502_1@我一直在Docker中使用这个过程,使用以下dockerfile,它还包括一个ssh服务器安装:
@H_502_1@
FROM alpine
RUN apk update
# we need make and linux-headers to compile gdb
RUN apk add --no-cache make
RUN apk add --no-cache linux-headers
RUN apk add --no-cache texinfo
RUN apk add --no-cache gcc
RUN apk add --no-cache g++
RUN apk add --no-cache gfortran
# install gdb
# RUN apk add --no-cache gdb
RUN mkdir gdb-build ;\
cd gdb-build;\
wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz;\
tar -xvf gdb-7.11.tar.xz;\
cd gdb-7.11;\
./configure --prefix=/usr;\
make;\
make -C gdb install;\
cd ..;\
rm -rf gdb-build/;
# install ssh server support and keys
RUN apk add --no-cache openssh
RUN ssh-keygen -A