Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

段错误 #2

Closed
MidoriYakumo opened this issue Dec 15, 2014 · 30 comments
Closed

段错误 #2

MidoriYakumo opened this issue Dec 15, 2014 · 30 comments
Assignees

Comments

@MidoriYakumo
Copy link

strace末50行
munmap(0x7f5ba55d4000, 43872) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=182, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0755, st_size=180796, ...}) = 0
lstat("/usr/lib64/qt5", {st_mode=S_IFDIR|0755, st_size=106, ...}) = 0
lstat("/usr/lib64/qt5/plugins", {st_mode=S_IFDIR|0755, st_size=1504, ...}) = 0
lstat("/usr/lib64/qt5/plugins/generic", {st_mode=S_IFDIR|0755, st_size=192, ...}) = 0
lstat("/usr/lib64/qt5/plugins/generic/libqevdevtabletplugin.so", {st_mode=S_IFREG|0755, st_size=35648, ...}) = 0
open("/usr/lib64/qt5/plugins/generic/libqevdevtabletplugin.so", O_RDONLY|O_CLOEXEC) = 11
fcntl(11, F_SETFD, FD_CLOEXEC) = 0
fstat(11, {st_mode=S_IFREG|0755, st_size=35648, ...}) = 0
fstat(11, {st_mode=S_IFREG|0755, st_size=35648, ...}) = 0
mmap(NULL, 35648, PROT_READ, MAP_SHARED, 11, 0) = 0x7f5ba55d6000
close(11) = 0
munmap(0x7f5ba55d6000, 35648) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=182, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0755, st_size=180796, ...}) = 0
lstat("/usr/lib64/qt5", {st_mode=S_IFDIR|0755, st_size=106, ...}) = 0
lstat("/usr/lib64/qt5/plugins", {st_mode=S_IFDIR|0755, st_size=1504, ...}) = 0
lstat("/usr/lib64/qt5/plugins/generic", {st_mode=S_IFDIR|0755, st_size=192, ...}) = 0
lstat("/usr/lib64/qt5/plugins/generic/libqevdevtouchplugin.so", {st_mode=S_IFREG|0755, st_size=52288, ...}) = 0
open("/usr/lib64/qt5/plugins/generic/libqevdevtouchplugin.so", O_RDONLY|O_CLOEXEC) = 11
fcntl(11, F_SETFD, FD_CLOEXEC) = 0
fstat(11, {st_mode=S_IFREG|0755, st_size=52288, ...}) = 0
fstat(11, {st_mode=S_IFREG|0755, st_size=52288, ...}) = 0
mmap(NULL, 52288, PROT_READ, MAP_SHARED, 11, 0) = 0x7f5ba55d2000
close(11) = 0
munmap(0x7f5ba55d2000, 52288) = 0
stat("/home/build/Mu/src/build/generic/.", 0x7fffcaaf06d0) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/kde4/plugins/generic/.", 0x7fffcaaf06d0) = -1 ENOENT (No such file or directory)
socket(PF_LOCAL, SOCK_STREAM, 0) = 11
getsockopt(11, SOL_SOCKET, SO_SNDBUF, [212992], [4]) = 0
uname({sys="Linux", node="Macrobull-x230", ...}) = 0
connect(11, {sa_family=AF_LOCAL, sun_path=@"/tmp/.ICE-unix/1779"}, 22) = 0
fcntl(11, F_SETFD, FD_CLOEXEC) = 0
write(11, "\0\1\0\0\0\0\0\0", 8) = 8
read(11, "\0\1\0\254\0\0\0\0", 8) = 8
access("/home/macrobull/.ICEauthority", R_OK) = -1 ENOENT (No such file or directory)
write(11, "\0\2\1\0\4\0\0\0\0\0\0\0\0\0\0\0\3\0MIT\0\0\0\3\0001.0\0\0\0"..., 40) = 40
read(11, "\0\6\0\254\2\0\0\0", 8) = 8
read(11, "\3\0MIT\177\0\0\3\0001.0\0\0\0", 16) = 16
access("/home/macrobull/.ICEauthority", R_OK) = -1 ENOENT (No such file or directory)
write(11, "\0\7\1\0\5\0\0\0\1\0\0\0\0\0\0\0\4\0XSMP\0\0\3\0MIT\0\0\0"..., 48) = 48
read(11, "\0\10\0\1\2\0\0\0", 8) = 8
read(11, "\3\0KDE\177\0\0\3\0001.0\0\0\0", 16) = 16
write(11, "\1\1\1\0\1\0\0\0\0\0\0\0\0\0\0\0", 16) = 16
read(11, "\1\2\0\1\6\0\0\0", 8) = 8
read(11, ")\0\0\0001015b12015011000014186205950"..., 48) = 48
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x11} ---
+++ killed by SIGSEGV +++

@MidoriYakumo
Copy link
Author

发行版是OpenSUSE13.2

@Harinlen
Copy link
Member

方便的话能说一下您编译所使用的Qt版本么?
Mu需要使用Qt 5.4进行编译。需要bass、FFMpeg(libav)作为依赖。
谢谢您的反馈!

@Harinlen Harinlen added the bug label Dec 15, 2014
@Harinlen Harinlen self-assigned this Dec 15, 2014
@MidoriYakumo
Copy link
Author

刚刚更新了Qt SDK编译成功
看来是发行版的库没到位

@Harinlen
Copy link
Member

因为需要解决Retina屏幕下Mac OS X Yosemite的显示问题我们将其更新到了Qt 5.4。也是迫不得已的选择。您那里现在可以正常运行了吧?

@MidoriYakumo
Copy link
Author

sss4
有一个这样的感叹号以及其不能播放的问题.

@Harinlen
Copy link
Member

学校断网了很抱歉这么晚才回复您。
这个问题这是由于没有bass的Linux插件所导致的,在mu的可执行文件的同目录下将bass的FLAC等文件的拓展插件放入到Plugins目录即可。
您可以到bass的官方网站下载bass的插件。或者您也可以从这里:http://pan.baidu.com/s/1kTFrPWF 下载我们准备好的插件包。
将这里面的所有.so文件放到mu同目录下的Plugins目录里,如果没有请您新建一个Plugins目录(Linux下请注意此目录区分大小写)。
mu会将当前状态所有尝试播放却不能播放的音乐前添加感叹号图标。
谢谢您的反馈!

@MidoriYakumo
Copy link
Author

没有bass启动会报错的... 我这儿版本是2.4

@Harinlen
Copy link
Member

是的,因为bass是Mu的一个依赖,还依赖于FFMpeg(libav)。所以必须有才可以。

@Harinlen
Copy link
Member

这个我只是在Readme.md中的Dependence和官网的开发者中写了。但是并没有在工程文件中体现出来。

@MidoriYakumo
Copy link
Author

所以说是有bass的bug..

@Harinlen
Copy link
Member

额,不好意思。我没太理解您的意思。
bass是用来播放音乐的库。如果没有的话肯定是要直接挂掉的。

@Harinlen
Copy link
Member

既然是依赖是一定要有的才可以运行,如果没有依赖运行肯定是不正常的。这个不是bug啊。

@MidoriYakumo
Copy link
Author

我有bass, 版本是2.4
没有bass你的mu无法启动

@Harinlen
Copy link
Member

因为mu依赖于bass。所以没有bass当然是无法启动的。

@MidoriYakumo
Copy link
Author

那就对啦, 这是mu的bug了

@Harinlen
Copy link
Member

……这个不是bug……依赖不是bug……

@MidoriYakumo
Copy link
Author

没有依赖的问题

@Harinlen
Copy link
Member

您所指的没有依赖的问题是指?

@MidoriYakumo
Copy link
Author

界面都出来了某些音乐都能播放了

@Harinlen
Copy link
Member

某些音乐可以播放是因为bass库本身支持一定的格式。例如MP3、WAV和他独有支持的格式。而其它的格式是通过插件的形式支持的。没有这些插件bass是肯定不能播放的。
界面能够出来说明已经可以正常运行了。这个是因为您已经将bass安装了。这样依赖的问题就解决了。

@Harinlen
Copy link
Member

您方便把那个链接里的内容发送过来吗?因为众所周知的原因我这里访问不了,而且我现在用的校园网有一些限制,还请您谅解。

@MidoriYakumo
Copy link
Author

那要怎么安装呢
qt如果使用phonon后端的话这些文件是能够播放的

@Harinlen
Copy link
Member

我们使用的是Qt 5.4,在Qt 5.0以后的版本中已经不携带phonon了。而是使用QtMultimedia作为播放后端。
但是Qt Multimedia使用起来效果极差。这一点已经有人向Qt官方进行过反馈了。
我们也考虑过使用Phonon,而且由于Phonon在Windows下编译很繁琐,而且需要解决的依赖也很多,进行交叉编译我们觉得也太复杂。所以我们选择了bass这个库。
安装bass的方法很简单:您从un4seen的官网 http://www.un4seen.com/ 左侧的BASS中可以下到bass的libbass.so文件。将其放到/usr/lib/即可。

@MidoriYakumo
Copy link
Author

所以... libbass.so libbass_aac.so libbass_ac3.so libbass_alac.so libbass_fx.so libbass_mpc.so libbass_spx.so libbassenc.so libbassflac.so libbassmidi.so libbassmix.so libbasswv.so 该放哪呢, 如果需要的话

@Harinlen
Copy link
Member

首先您需要把libbass.so放到/usr/lib目录下,这个是需要管理员权限的。
之后您再将剩下的so文件全部放到编译出来的mu同目录下的Plugins目录里面,如果没有Plugins目录您需要自己建立一个。这样就可以了。
您给出的文件我这里进行了尝试,是可以播放的。您只需要安装好bass库。并将之前给您连接里面的适用于Linux的bass插件都就应该是可以播放的。
您可能是想问能解析出那个文件的信息但是却不能播放的问题吧?
因为解析音频文件是我自己用代码写的,而不是通过外部的库获取到的。所以文件的信息是肯定可以获取的。但是播放却是靠外部的库实现的。

@Harinlen
Copy link
Member

我们没有做Linux二进制发行版就是因为我们还不会使用脚本自动完成这些任务。所以目前Linux下编译并且运行mu还是很复杂的事情。我们将尽快解决这个问题。

@Harinlen
Copy link
Member

您那里现在应该都可以正常播放了吧?

@MidoriYakumo
Copy link
Author

把libbass*.so放到./Plugins下了
LD_LIBRARY_PATH=./Plugins ./mu 能够播放
./mu不能播放
稍微测试了一下, 从

/home/build/Mu/src/build/Plugins/libbass.so
/home/build/Mu/src/build/Plugins/libbass_aac.so  Success
*.aac
*.m4a;*.m4b;*.mp4
/home/build/Mu/src/build/Plugins/libbass_ac3.so  Success
*.ac3
/home/build/Mu/src/build/Plugins/libbass_alac.so  Success
*.m4a
/home/build/Mu/src/build/Plugins/libbass_fx.so
/home/build/Mu/src/build/Plugins/libbass_mpc.so  Success
*.mpc;*.mp+;*.mpp
/home/build/Mu/src/build/Plugins/libbass_spx.so  Success
*.spx
/home/build/Mu/src/build/Plugins/libbassenc.so
/home/build/Mu/src/build/Plugins/libbassflac.so  Success
*.flac;*.fla
*.oga;*.ogg
/home/build/Mu/src/build/Plugins/libbassmidi.so  Success
*.midi;*.mid;*.rmi;*.kar
/home/build/Mu/src/build/Plugins/libbassmix.so
/home/build/Mu/src/build/Plugins/libbasswv.so  Success
*.wv

来看BASS_PluginLoad没有问题, 置于播放部分就不清楚了....

@Harinlen
Copy link
Member

这个就不是很清楚了,可能和您的系统设置有关系吧?
Linux下还没有经过大量的测试。代码稳定性现在是不如Windows和Mac的。(现在Linux只能装在虚拟机里,我的UEFI不知道为何有点问题。)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants