导入扩展名为“.so”的 C 共享库后如何修复 "file too short" 错误?

How to fix "file too short" error once importing a C shared library with extenstion ".so"?

我正在尝试运行基于MASK-CNN深度网络编写的深度学习python代码。还有一个 C 共享库“_crop_and_resize.so”,我正在尝试导入它,但收到错误消息“文件太短。注意,“.so”文件是之前别人创建的,我正在尝试导入it.Could你请让我知道如何解决它?

g++ (海湾合作委员会)= 9.3.0

python= 3.6.10

Ubuntu 20.04.4 LTS 64 位


    >>> import _crop_and_resize as _backend

    ***Traceback(most recent call last):
    ImportErro:/home/myusername/Deepfacde01/roialign/roi_align  
    /_ext/crop_and_resize/_crop_and_resize.so: file too short
    >>>

根据@AMIRABBAS 的评论,stat _crop_and_resize.so 在 Ubuntu 20.04.4 LTS 64 位终端上的输出是:

File: _crop_and_resize.so
Size: 0 Blocks: 40 IO Block: regular empty file
Device: Inode: Links: 1
Access: (0640/-rw-r-----) Uid: (000000/ my username) Gid:   
(000000/ my username)
Access: 2022-05-11 10:12:48.000000000 -0700
Modify: 2022-05-11 10:51:27.000000000 -0700
Change: 2022-05-11 10:51:27.000000000 -0700

不知什么原因,下载版本库时,并没有直接克隆文件。不用说,你不能 link 到 zero-length 文件。

作为参考,直接从 GitHub 下载相同的文件,输出应该是:

~/downloads> stat _crop_and_resize.so
File: _crop_and_resize.so
Size: 101304        Blocks: 200        IO Block: 4096   regular file
Device: 19h/25d   Inode: 5602044     Links: 1
Access: (0644/-rw-r--r--)  Uid: (1000/me)   Gid: (1000/me)
Access: 2022-05-11 14:24:56.233800387 -0400
Modify: 2022-05-11 14:22:48.968012681 -0400
Change: 2022-05-11 14:24:53.433609539 -0400
Birth: 2022-05-11 14:22:48.940010253 -0400

我从其存储库中成功下载了文件“_crop_and_resize.so”,然后又 运行 下载了它,当前错误消失了,我收到了新错误!