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

时间:2018-12-19 17:52:26

标签: python-3.x shared-libraries

当我尝试运行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

环境细节:

  • ujson 1.35版
  • drf-ujson 1.2版
  • pip版本18.1
  • python版本3.6.7
  • Fedora 27,Linux内核4.19

您以前见过此错误吗?你能给我一些建议来调试吗?

1 个答案:

答案 0 :(得分:1)

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

然后

ln -s /usr/lib64/libc.so.6 /usr/lib64/libc.musl-x86_64.so.1

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