我试图使用auCDtect来检查我的音频文件的真实性。通过添加libstdc++-libc6.2-2.so.3,我可以在语法NAS (DS918+)上成功地运行linux二进制文件。我想在我的macbook笔记本电脑上做得更快。我在Debian GNU Linux 9( Parallels Desktop)中重复了相同的步骤,这导致了这个错误:
Fatal error: glibc detected an invalid stdio handle
fish: 'aucdtect' terminated by signal SIGABRT (Abort)
全球开发银行:
(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?),以及应该得到哪个旧版本?
发布于 2021-09-09 11:27:42
我在酒下使用auCDtect已经很久了,因为我还记得自己:
wine ~/bin/auCDtect.exe -v -mS0 '*.wav'
您还可以考虑https://github.com/alexkay/spek,它以可视化的形式显示波形。您可以立即看到音频文件是否被一个糟糕的编码器处理过,尽管好的编码器,例如Apple AAC,即使以256 this /秒的速度,也几乎不可能以这种方式检测到,但是auCDtect也将它们显示为CDDA。
要查看它使用哪些共享库,可以通过ldd /path/to/binary
运行它。它不会让您了解它需要哪些版本的库。
发布于 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
。
https://unix.stackexchange.com/questions/668275
复制相似问题