libc.musl-x86_64.so.1:无法打开共享对象文件

H.H*_*rry 7 shared-libraries python-3.x

我在尝试运行 Django 数据库迁移时发现此错误:

File "/home/xxx/virtualenv/xxx/lib64/python3.6/site-packages/drf_ujson/renderers.py", line 4, in <module>
    import ujson
ImportError: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

环境详情:

  • ujson版本1.35
  • drf-ujson 版本 1.2
  • 点子版本 18.1
  • 蟒蛇版本3.6.7
  • Fedora 27,Linux 内核 4.19

您以前见过这个错误吗?您能给我一些调试建议吗?

小智 10

与 amazonlinux 图像有同样的问题

首先你需要安装 musl lib。它在 yum 中不存在,所以你必须从源代码编译它

curl https://musl.libc.org/releases/musl-1.2.2.tar.gz -o musl-1.2.2.tar.gz
tar -xvf musl-1.2.2.tar.gz
cd musl-1.2.2
./configure
make 
make install
Run Code Online (Sandbox Code Playgroud)

进而

ln -s /usr/lib64/libc.so.6 /usr/lib64/libc.musl-x86_64.so.1
Run Code Online (Sandbox Code Playgroud)

如果 /usr/lib64 中没有文件 libc.so.6 尝试使用 查找它 find / -name 'libc.so*'。Dest 文件应与 libc.so 位于同一目录。例如,如果文件具有路径 /usr/lib/libc.so.6 您的命令将是ln -s /usr/lib/libc.so.6 /usr/lib/libc.musl-x86_64.so.1