CS:APP Lab 配环境踩坑实录
失业在家写写lab练手,懒得配环境,参考这个仓库直接docker pull!非常方便,就是镜像有点大。
顺利写了data lab.然而bomb里用gdb run,我的电脑是m1 mac arm64,拉的镜像是amd64:
1 | (gdb) run |
报错了,怎么会是🤯docker run
加上--security-opt seccomp=unconfined
,参考这里
再用gdb调试,还是报错。
1 | (gdb) run |
arm64的机器上跑amd64 ubuntu,qemu没法直接用gdb,可以参考qemu的GDB usage文档。我试了,没成功,container运行的时候就打开了qemu,不会,只能重新打个amd64的image。
修改Dockerfile:ARG arch_name=arm64
注意code-server的url需要更新到https://github.com/coder/code-server/releases/download/v4.8.1/code-server
这样就是arm64的环境了,然而还是报错
1 | qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory |
装个libc6-amd64-cross就好了,参考这里,Dockerfile里加上
1 | RUN apt-get install -y wget unzip |
虽然gdb还是会报错,不过终于能run起来了。搞了一天,docker build太慢了= =
1 | warning: `/lib64/ld-linux-x86-64.so.2': Shared library architecture unknown is not compatible with target architecture aarch64. |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 blog.zerocath!