首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >auCDtect:致命错误: glibc检测到无效的stdio句柄

auCDtect:致命错误: glibc检测到无效的stdio句柄
EN

Unix & Linux用户
提问于 2021-09-09 07:40:15
回答 2查看 193关注 0票数 0

我试图使用auCDtect来检查我的音频文件的真实性。通过添加libstdc++-libc6.2-2.so.3,我可以在语法NAS (DS918+)上成功地运行linux二进制文件。我想在我的macbook笔记本电脑上做得更快。我在Debian GNU Linux 9( Parallels Desktop)中重复了相同的步骤,这导致了这个错误:

代码语言:javascript
运行
复制
Fatal error: glibc detected an invalid stdio handle
fish: 'aucdtect' terminated by signal SIGABRT (Abort)

全球开发银行:

代码语言:javascript
运行
复制
(gdb) run
Starting program: /usr/local/bin/aucdtect
Fatal error: glibc detected an invalid stdio handle

Program received signal SIGABRT, Aborted.
0xf7fd7c89 in __kernel_vsyscall ()
(gdb) bt
#0  0xf7fd7c89 in __kernel_vsyscall ()
#1  0xf7d8fdf0 in raise () from /lib32/libc.so.6
#2  0xf7d912b7 in abort () from /lib32/libc.so.6
#3  0xf7dcb3af in ?? () from /lib32/libc.so.6
#4  0xf7dcb3ec in __libc_fatal () from /lib32/libc.so.6
#5  0xf7dcbd73 in ?? () from /lib32/libc.so.6
#6  0xf7da641b in vfprintf () from /lib32/libc.so.6
#7  0xf7dad7c8 in fprintf () from /lib32/libc.so.6
#8  0x080492d4 in ?? ()
#9  0xf7d7c286 in __libc_start_main () from /lib32/libc.so.6
#10 0x080489b1 in ?? ()
(gdb)
#0  0xf7fd7c89 in __kernel_vsyscall ()
#1  0xf7d8fdf0 in raise () from /lib32/libc.so.6
#2  0xf7d912b7 in abort () from /lib32/libc.so.6
#3  0xf7dcb3af in ?? () from /lib32/libc.so.6
#4  0xf7dcb3ec in __libc_fatal () from /lib32/libc.so.6
#5  0xf7dcbd73 in ?? () from /lib32/libc.so.6
#6  0xf7da641b in vfprintf () from /lib32/libc.so.6
#7  0xf7dad7c8 in fprintf () from /lib32/libc.so.6
#8  0x080492d4 in ?? ()
#9  0xf7d7c286 in __libc_start_main () from /lib32/libc.so.6
#10 0x080489b1 in ?? ()

我想这可能是因为这个程序太老了(2004年),并且与新的库不兼容。如何才能找出是哪个库导致了问题(可能是libc?),以及应该得到哪个旧版本?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2021-09-09 11:27:42

我在酒下使用auCDtect已经很久了,因为我还记得自己:

代码语言:javascript
运行
复制
wine ~/bin/auCDtect.exe -v -mS0 '*.wav'

您还可以考虑https://github.com/alexkay/spek,它以可视化的形式显示波形。您可以立即看到音频文件是否被一个糟糕的编码器处理过,尽管好的编码器,例如Apple AAC,即使以256 this /秒的速度,也几乎不可能以这种方式检测到,但是auCDtect也将它们显示为CDDA。

要查看它使用哪些共享库,可以通过ldd /path/to/binary运行它。它不会让您了解它需要哪些版本的库。

票数 1
EN

Unix & Linux用户

发布于 2021-09-10 00:38:56

我使用ldd /usr/local/bin/aucdtect查找aucdtect使用的库(主要是libc和libm),从NAS复制它们,将它们放在与aucdtect相同的目录中,并将LD_LIBRARY_PATH设置为/usr/local/bin。使用这种方法,我能够在虚拟机中运行aucdtect。然而,在wine上使用macOS比在虚拟机中使用它快近3倍(示例size=1),所以我最终使用了wine

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/668275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档