wineqq在system-wine下无法运行

42 views
Skip to first unread message

楚石

unread,
May 17, 2013, 3:53:40 AM5/17/13
to gentoo-china
微菜大侠最近在LinuxToy的crossover讨论里提到gentoo-overlay中的wineqq是可以直接用system-wine的,正好这个问题已经困扰了我几年了,特此请教。

具体情况是:只要用的是longene打包的wine,就能够正常用qq,而只要是自己系统编译的wine,不论怎么修改USE,一律提示讨厌的"段错误",并且在不同机器不同架构上提示的错误都是相同的,偏偏这个错误google怎么都搜不到!

系统环境:gentoo, ~amd64, openbox/gtk2/gtk3/qt4/

请问各位大侠,如何编译wine才能正常使用longene的wine qq呢,能说明一下注意事项,或者将 /etc/portage 及 /var/lib/portage/world 文件共享出来吗?


--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 17, 2013, 4:34:09 AM5/17/13
to gentoo...@googlegroups.com
2013/5/17 楚石 <zm3...@gmail.com>:
> 具体情况是:只要用的是longene打包的wine,就能够正常用qq,而只要是自己系统编译的wine,不论怎么修改USE,一律提示讨厌的"段错误",并且在不同机器不同架构上提示的错误都是相同的,偏偏这个错误google怎么都搜不到!

楚石你好,我是Wine的开发者,可以贴一下你说的段错误的日志吗?
目前Wine QQ有一些bug,有的容易workaround,有的还没有已知的workaround方法。

在Wine 1.5.30上,如果你运行
$ winetricks -q riched20 ie7 msxml3 flash
然后再安装qq2011或者qq international 1.6,就应该可以正常使用qq的大部分功能了;
如果你要运行qq2012,则还需要打上一个winsock的patch,我正在研究这个bug,希望近期能解决。

如果你使用longene的wine,我可能能帮忙的不多,因为longene没有公布他们修改过的wine的代码;
如果你用的是winehq上游未做修改的wine,遇到什么问题欢迎到wine
bugzilla报bug并cc我,当然报bug之前请搜索一下已知的bug,目前已知的qq相关的bug在下面:
http://bugs.winehq.org/buglist.cgi?quicksearch=qq&list_id=107203

希望可以帮到你,多多交流。


--
Regards,
Qian Hong

-
http://www.winehq.org

楚石

unread,
May 17, 2013, 6:08:23 AM5/17/13
to gentoo-china
我用的longene的 .wine ,如果用longene编译的wine,是可以正常用qq的。
如果用gentoo自己编译的wine,则出现这样的错误:

Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x0033fa45).

详细的backtrace文件见附件。


backtrace.txt

Qian Hong

unread,
May 17, 2013, 6:21:27 AM5/17/13
to gentoo-china
2013/5/17 楚石 <zm3...@gmail.com>:
> 我用的longene的 .wine ,如果用longene编译的wine,是可以正常用qq的。
> 如果用gentoo自己编译的wine,则出现这样的错误:
>
> Unhandled exception: page fault on read access to 0xffffffff in 32-bit code
> (0x0033fa45).

0, 你自己编译的wine,notepad是否可以正常启动?

1,麻烦从wine的git仓库下载代码,试一下最新的 wine 1.5.30

http://wiki.winehq.org/FAQ#compile_wine

2, QQ 是还没显示界面就立即崩溃,还是做了什么操作之后崩溃的?请详细描述一下

3, gcc 的版本是什么?

4, 你设置了什么dll override?
(参见 http://www.winehq.org/docs/wineusr-guide/config-wine-main 等资料了解
dll override)

5, 我可能需要你提供 WINEDEBUG=+relay,+tid wine QQ.exe &> relay.txt 的日志,
假如上面的做法都没有帮助。日志可能会很大,需要压缩一下。但是,在提供日志之前,请先回答 问题0到问题4.

good luck。

Qian Hong

unread,
May 17, 2013, 6:23:53 AM5/17/13
to gentoo-china
2013/5/17 Qian Hong <frac...@gmail.com>:
> 4, 你设置了什么dll override?
> (参见 http://www.winehq.org/docs/wineusr-guide/config-wine-main 等资料了解
> dll override)


抱歉,这个问题可以忽略,因为你已经说了你用的是longene的 .wine, 所以你设置的override应该是跟longene相同的。
我把这个问题改一下:

请先备份一下 .wine , 然后从全新的 wineprefix 重新安装 QQ,先不要用任何dll override,看看会不会崩溃;然后试试
winetricks -q riched20 ie7 msxml3 flash ,看看有没有变化

楚石

unread,
May 17, 2013, 6:44:07 AM5/17/13
to gentoo-china
1. 刚编译了最新版1.5.30,情况是一样的。
2. 是一启动就崩溃,根本看不到login界面。
3. gcc是最新的4.7.3
5. 令我十分惊奇的是,运行 WINEDEBUG=+relay,+tid wine QQ.exe &> relay.txt  这个命令,qq居然运行起来了,还能登录,看起来很正常!
而去掉前面的 WINEDEBUG=+relay,+tid 只运行 wine QQ.exe &> relay.txt  则还是立马崩溃。

那个relay.txt文件太大了,要传上来吗?

新的wineprefix运行qq,情况是一模一样的。







--
transtone
--------------
zm3...@gmail.com

楚石

unread,
May 17, 2013, 6:54:58 AM5/17/13
to gentoo-china
还有一点很奇怪的是,当我运行 WINEDEBUG=+relay,+tid wine QQ.exe &>  /dev/null 的时候,居然还是崩溃。
是不是什么东西运行太快了,而写relay.txt文件需要时间?
--
transtone
--------------
zm3...@gmail.com
relay.7z

Qian Hong

unread,
May 17, 2013, 6:58:39 AM5/17/13
to gentoo-china
2013/5/17 楚石 <zm3...@gmail.com>:
> 3. gcc是最新的4.7.3

gcc 4.7 有一些已知的问题,编译的wine可能不正常,请试试gcc 4.6

楚石

unread,
May 17, 2013, 7:08:38 AM5/17/13
to gentoo-china
正在编译gcc:4.6,但我觉得跟gcc版本关系不大,因为去年的时候也是这样运行不了qq,当时是gcc-4.6。

怎么解释写 relay.txt 文件就运行正常,而不写此文件就崩溃呢?哪里可以debug到原因?


2013/5/17 Qian Hong <frac...@gmail.com>



--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 17, 2013, 7:13:26 AM5/17/13
to gentoo-china
2013/5/17 楚石 <zm3...@gmail.com>:
> 详细的backtrace文件见附件。

从backtrace看,你的问题跟这位同学报的bug是一样的:
http://bugs.winehq.org/show_bug.cgi?id=33322

按照你说的,在gcc4.6下也会遇到这个问题,而 bug 33322 的reporter用的是fedora 18的wine,如果fedora
18的wine是用gcc4.6编译的,那么可以排除是gcc的问题了。有了解fedora的朋友可以说一下,fedora
18的默认gcc版本是什么吗?多谢。

你的系统是64位,bug 33322的reporter也是用64位系统,也许这个问题只能在64位系统上重现。我在32位的ubuntu 12.04.2上无法重现。

你能不能从腾讯官网下载一个qq,然后汇报一下你下载的版本和sha1sum校验和,然后我用和你完全相同的版本进行测试,再次看看我能不能重现?

楚石

unread,
May 17, 2013, 7:22:17 AM5/17/13
to gentoo-china
这么快就回复啦,thx

我用的qq是这里下载的: http://download.imqq.com/download.shtml  最新的1.6版本。






--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 17, 2013, 7:29:40 AM5/17/13
to gentoo-china
2013/5/17 楚石 <zm3...@gmail.com>:
> 这么快就回复啦,thx
>
> 我用的qq是这里下载的: http://download.imqq.com/download.shtml 最新的1.6版本。

sha1sum呢? 我这里有两个QQ,不知哪个和你一样?
6cd9042f591a7b140e3216df2851c9b7a436be34 QQIntl1.61.exe
7a9f585b4d54c3b69fb1049570d9fc59ba25477a QQIntl1.6.exe

我现在没时间做太多测试,如果你有时间,可以试试安装两个虚拟机,一个32位系统,一个64位系统,看看是不是一个能重现一个不能重现?

楚石

unread,
May 17, 2013, 8:31:08 AM5/17/13
to gentoo-china

6cd9042f591a7b140e3216df2851c9b7a436be34  QQIntl1.61.exe

64bit肯定是可以重现的,我好几台机器都这样。32位我有空装一个试试。





--
transtone
--------------
zm3...@gmail.com

楚石

unread,
May 17, 2013, 9:20:31 AM5/17/13
to gentoo-china
已经用gcc-4.6.4编译wine-1.5.30,故障情况相同,证明与gcc无关。


--
transtone
--------------
zm3...@gmail.com

楚石

unread,
May 17, 2013, 1:04:00 PM5/17/13
to gentoo-china
在x86机器上测试过了,系统安装的wine-1.5.30下,qq可以稳定运行。 看来是amd64独有的bug。
--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 17, 2013, 7:17:20 PM5/17/13
to gentoo-china
2013/5/18 楚石 <zm3...@gmail.com>:
> 在x86机器上测试过了,系统安装的wine-1.5.30下,qq可以稳定运行。 看来是amd64独有的bug。

感谢测试,你能不能到bug 33322上添加一个comment,说一下你的发现,记录下你测试过的版本详细信息?如果没有人处理这个bug,你可以每隔一段时间在bug上礼貌地催一下,比如过1到3个月。我目前手头有很多bug没时间研究,已经债多不愁了,可能至少要下周日才有时间研究这个bug,如果你去bug
33322上催一下,也许别的开发者可以帮忙看看,否则的话可能没多久这个bug就被人忘了。

楚石

unread,
May 20, 2013, 9:59:50 PM5/20/13
to gentoo-china
@fracting 能否提供一下debug的方法?另外请问我想wine ms-office-2003,需要怎样配置?原来用cxoffice是根本不用配置的。





--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 20, 2013, 10:36:33 PM5/20/13
to gentoo-china
2013/5/21 楚石 <zm3...@gmail.com>:
> @fracting 能否提供一下debug的方法?另外请问我想wine
> ms-office-2003,需要怎样配置?原来用cxoffice是根本不用配置的。

如果开启relay日志的时候就不会崩溃,我也想不出特别好的debug方法。有一种怀疑是跟调用规范有关,不过我不是很有把握。在你的系统上通过CrossOver运行QQ会崩溃不?

wine office 2003我没配置过,你读过wine的app兼容数据库对office的描述吗?遇到什么问题?如果遇到问题请给wine报个bug。

crossover运行office
2003根本不用配置,这正是我们crossover的卖点啊。。。如果想免折腾,就建议买crossover,如果大家都不买crossover,那我们开发wine的就都喝西北风去了
:)

如果你愿意当crossover的志愿测试者,我们可以提供免费正版的crossover给你使用,感谢支持。

楚石

unread,
May 21, 2013, 1:47:39 AM5/21/13
to gentoo-china
如果跟调用规范有关,有具体的解决方法吗?

去wine官方网站了解过, 有ubuntu的童鞋运行office2003成功啦,但似乎没写到底要winetricks哪些东东。

早些时候不是发布过一个crossover的当天免费版吗,我用了那个版本的cx,测试运行qq也还是同样的问题。

测试crossover的那些方面呢,可能我只会提出相关的bug,而不太会debug。





--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 21, 2013, 5:12:20 AM5/21/13
to gentoo-china
2013/5/21 楚石 <zm3...@gmail.com>:
> 去wine官方网站了解过, 有ubuntu的童鞋运行office2003成功啦,但似乎没写到底要winetricks哪些东东。

我可能没说清楚,我说的wine app center是这个:
http://appdb.winehq.org/objectManager.php?sClass=version&iId=3214
http://appdb.winehq.org/objectManager.php?sClass=version&iId=2736
http://appdb.winehq.org/objectManager.php?sClass=version&iId=9717
http://appdb.winehq.org/objectManager.php?sClass=version&iId=2735
http://appdb.winehq.org/objectManager.php?sClass=version&iId=9716
http://appdb.winehq.org/objectManager.php?sClass=version&iId=7208
http://appdb.winehq.org/objectManager.php?sClass=version&iId=2526

如果你按照上面的链接中的说明去设置了,应该不会有问题;如果遇到问题,看看是不是已知的bug,如果还没人报告,麻烦到wine的bugzilla注册个帐号报告一下。

不过,既然你已经有可以免费使用的CrossOver了,我建议还是用CrossOver方便些。

CrossOver测试志愿者的职责就是认领一个还没人认领的软件,比如QQ,以后在每次CrossOver发布beta版的时候,测试一下你认领的软件,不管发现新问题,还是发现旧问题被修复了,还是发现一切照旧,都汇报一下,这样就可以了,不需要懂编程,甚至可以不需要用到命令行。
参见这里查看更多关于CrossOver测试志愿者的指南:
http://www.codeweavers.com/compatibility/advocate_center/guide

Qian Hong

unread,
May 21, 2013, 5:19:11 AM5/21/13
to gentoo-china
2013/5/21 楚石 <zm3...@gmail.com>:
> 如果跟调用规范有关,有具体的解决方法吗?
是不是调用规范的问题我还不确定,只是猜的,更没办法回答你的解决方法的问题了。我要先能重现问题才有办法进一步研究。

如果你感兴趣,欢迎参与Wine项目开发,可以先了解一下wine的debug channel:
http://wiki.winehq.org/DebugChannels
以及一些调试的例子:
http://wiki.winehq.org/DeveloperExamples

更多相关的文档:
http://wiki.winehq.org/Developers
http://www.winehq.org/docs/winedev-guide/dbg-commands
http://www.winehq.org/docs/winedev-guide/index

Wine的开发调试比较恶心,当然对于有的人来说,应该说是超级有趣。。。
如果你能从几G的strace日志中找到有价值的信息,那么也可以试试从几G的WINEDEBUG=+relay
的日志中找到有用的调试信息。如果你口味重到喜欢阅读几G几G的日志,那么非常欢迎你来参与Wine开发 :)

楚石

unread,
May 21, 2013, 5:52:09 AM5/21/13
to gentoo-china
因为感觉和wine差不多,又觉得cx版本有点老,就把那个给删啦。
哪里可以申请一个crossover么,我可以专门测测qq :)





--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 21, 2013, 6:05:22 AM5/21/13
to gentoo-china
2013/5/21 楚石 <zm3...@gmail.com>:
> 因为感觉和wine差不多,又觉得cx版本有点老,就把那个给删啦。
> 哪里可以申请一个crossover么,我可以专门测测qq :)

1, 你是什么时候获得免费CrossOver的?如果是今年获得的,那么现在还是可以升级的。一般这类免费活动送的CrossOver
License都是可以永久使用,一年免费升级,一年技术支持服务。
你可以从这里下载最新的试用版,http://www.codeweavers.com/products/
,然后用你在免费活动中注册的帐号重新注册,就可以激活使用了。

2. 目前CrossOver的软件数据库有两个旧版本的QQ:
http://www.codeweavers.com/compatibility/search/?name=qq&search=app

你也可以提交新版本的QQ。提交之后按照
http://www.codeweavers.com/compatibility/advocate_center/guide
这里的说明去做贡献,比如提交截图,提交测试评级,等等。

我们的中文版网站还没有对外公开,提交之后可以私信联系我一下,告诉我你的帐号,我叫同事给你开通相应的的权限。

非常感谢楚石兄弟对CrossOver的支持!

楚石

unread,
May 21, 2013, 7:07:10 AM5/21/13
to gentoo-china
刚直接系统安装了15天的试用版,发现这样几个问题:
1. 其容器和 .wine 无法兼容,用winecfg看了看版本,是1.5.15。有意而为之的吧:)
2. 国内修改过的精简版office2003无法安装。 ......(偷偷的嘀咕)为了反盗版?
3. 自动帮我写了一系列的菜单,如何删除?
4. qq国际版安装上了依然无法运行,怎么安装winetricks的东东?





--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 21, 2013, 7:20:21 AM5/21/13
to gentoo-china
2013/5/21 楚石 <zm3...@gmail.com>:
> 刚直接系统安装了15天的试用版,发现这样几个问题:
> 1. 其容器和 .wine 无法兼容,用winecfg看了看版本,是1.5.15。有意而为之的吧:)
CrossOver 12是基于 wine 1.5.15 加上一些backport的patch;今年年底我们会发布CrossOver 13,基于 wine 1.6
版本升级通常意味着需要花大量的人力去做测试,为了让用户有一个稳定的环境,我们的升级会尽量谨慎。

你理解的“有意为之”是什么情况呢?也许你误解了?

> 2. 国内修改过的精简版office2003无法安装。 ......(偷偷的嘀咕)为了反盗版?
我们绝对 *不敢* 支持盗版软件。惹官司的事情,做不得。技术上肯定是可以支持的,我们也从来没有故意用技术手段去限制用户使用盗版Office,但是如果CrossOver碰巧不支持盗版Office,我们也不会去支持。

> 3. 自动帮我写了一系列的菜单,如何删除?
CrossOver->容器管理->控制面板->编辑菜单
取消勾选你不想看到菜单。

这样能解决你的问题吗?

> 4. qq国际版安装上了依然无法运行,怎么安装winetricks的东东?
先问一下:QQ国际版安装之后,启动不崩溃了吗?

不建议用户在CrossOver上使用winetricks,我们用的是另外一套CrossTie安装助手。我这周做个QQ的CrossTie助手出来,请耐心等待。

microcai

unread,
May 21, 2013, 8:12:15 AM5/21/13
to gentoo...@googlegroups.com
在 2013年5月17日下午6:54,楚石 <zm3...@gmail.com> 写道:
> 还有一点很奇怪的是,当我运行 WINEDEBUG=+relay,+tid wine QQ.exe &> /dev/null 的时候,居然还是崩溃。
> 是不是什么东西运行太快了,而写relay.txt文件需要时间?

对, 凭借我多年的经验. 一定是 QQ 的问题. 某个线程执行太快, 而在 windows 下因为 调度算法的巧合,
导致这个竞争永远不会出现. 但是在 linux 下, 因为linux内核使用的是"完全公平调度算法" , 导致 windows
下无法重新的竞争问题出现.

我猜测最可能的原因是 CreateThread 没有正确使用.

楚石

unread,
May 21, 2013, 8:15:50 PM5/21/13
to gentoo-china
@Qian Hong
上面说的“有意为之”不是说版本,是说的 cx容器与 .wine 不能混用。
正是因为不能混用,无法用longene的.wine配合cxoffice来测试qq,而必须另外安装相关库,再安装qq。
而cxoffice的兼容库也不是winetricks可以安装的,有另外的菜单方式。也许是因为安装库不全,qq还是起不来。

我也尝试用longene的wine程序,配合一个全新的 .wine 环境,用winetricks安装了你前天推荐的库:winetricks -q riched20 ie7 msxml3 flash
qq也同样运行不起来

上面说的qq都是指qq国际版。


@microcai
难道是我用了bfq的缘故?回头重新编译内核再测测。 想要腾讯来解决此问题怕是难罗。

楚石

unread,
May 21, 2013, 8:53:10 PM5/21/13
to gentoo-china
不行啊,一运行qq就出错,请看图。
--
transtone
--------------
zm3...@gmail.com
2013-05-22-085306_821x663_scrot.png

Qian Hong

unread,
May 21, 2013, 9:53:36 PM5/21/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> 不行啊,一运行qq就出错,请看图。

你好,

"Initilization failure: 0x00000004" 是已知的bug, 已经在 Wine 1.5.20 中修复:
http://bugs.winehq.org/show_bug.cgi?id=30512

CrossOver 12是基于Wine 1.5.15的,所以还会遇到这个问题,我们还没有把这个fix backport到CrossOver 12上。
CrossOver nightly build版本是基于最新的Wine的,就不会有这个问题,你可以试试:
http://www.codeweavers.com/compatibility/advocate_center/download/nightly/
如果你不能下载nightly build版本,可以私信告诉我你的帐号,我们可以给你开通下载nightly build的权限,感谢测试。

但是,就算解决了这个问题,后面还有好几个问题需要解决才能支持QQ,如果我把时间花在回答问题上,就没时间干活真正解决这些问题了,所以还请耐心等待,谢谢!

Qian Hong

unread,
May 21, 2013, 10:05:42 PM5/21/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> @Qian Hong
> 上面说的“有意为之”不是说版本,是说的 cx容器与 .wine 不能混用。
> 正是因为不能混用,无法用longene的.wine配合cxoffice来测试qq,而必须另外安装相关库,再安装qq。
> 而cxoffice的兼容库也不是winetricks可以安装的,有另外的菜单方式。也许是因为安装库不全,qq还是起不来。
>

Codeweavers是一家开源公司,我们不会刻意去做限制用户自由的事情。
我们没有刻意让cx容器和.wine不能兼容,但是cx容器的功能是.wine的功能的一个超集,如果你用.wine去代替cx容器,crossover就无法识别容器信息和其他必要的信息从而会出错。我们每天要处理大量的客服ticket,忙都忙不过来,自然没有人力去做到同时支持crossover容器和.wine,一旦支持直接导入.wine,还会给客服人员造成更多的压力,因为大部分用户连精确描述自己做过什么都有难度,如果他的使用环境混合了其他工具(比如q4wine/winetricks/playonlinux)的wineprefix,那我们的客服就完全无法诊断了,如果你做过客服你就能体会这一点的。感谢理解。

CrossOver遵循Wine的LGPL协议以及其他上游开源项目的许可协议,该开源的代码都公开的,你也可以下载代码自己编译:
http://www.codeweavers.com/products/faq/source/

CrossOver的大部分界面代码和工具代码是python和perl写的,虽然我们没有以开源协议公布这部分代码,但是你也可以自行阅读和修改。

> 我也尝试用longene的wine程序,配合一个全新的 .wine 环境,用winetricks安装了你前天推荐的库:winetricks -q
> riched20 ie7 msxml3 flash
> qq也同样运行不起来
>
> 上面说的qq都是指qq国际版。

我在上一封邮件回复中说到,即使你解决了问题a,后面还有问题b,问题c。。。我们正在努力解决,请耐心等待,感谢支持。

Qian Hong

unread,
May 21, 2013, 10:12:35 PM5/21/13
to gentoo-china
再补充一下:
我在之前的邮件中说,如果想 *免折腾* ,建议使用CrossOver,是说对于MS
Office这类CrossOver已经良好支持的大型软件来说的。对于CrossOver尚未支持的软件,如果想免折腾,最好的方法就是到我们的软件中心给你需要的软件投票:
http://www.codeweavers.com/compatibility/

如果 *想折腾* , 那又是另外一回事了,应该从学习给 Wine 报bug做起。

microcai

unread,
May 21, 2013, 11:05:50 PM5/21/13
to gentoo...@googlegroups.com
这个客服真是责任心强悍啊!! 好!!!!!!

楚石

unread,
May 21, 2013, 11:45:27 PM5/21/13
to gentoo-china
非常感谢Qian Hong耐心又给力的回复。应该不止跟个人性格有关,也肯定跟公司氛围有很大关系,由此可以看出CrossOver团队的努力和真诚,向Codeweavers公司致敬!

本来已经离开wine有一段时间了,因为工作的关系必须用到qq和wps,所以这两年多用的是vbox,vbox的缺点是资源占用不菲,而且系统托盘和Linux下的不能整合,让我错过了很多qq消息,正好此时longene qq出现了:原来wine也可以正常的运行qq,还能远程控制!

于是我想把一些必须在vbox中完成的工作转移到wine下来:
qq,问题解决了,可以用龙井
office,可以用wps linux了,界面很赞,但确实有兼容性问题,字体也还有问题没解决。wine wps是不成的,用不了。
旺旺,有Linux版,
就只迅雷,能装,能用,就是下载到99%就不动啦。

于是先弄qq和office的整合,我就想在自己系统的wine环境下,正常运行这俩东西。于是就有了上面的提问。
其实一开始我没想到会有开发人员来帮助我的,我只是想研究一下为什么 longene 他们的wine能够跑qq,而我自己编译的wine却不行。
我给longene团队发过email,询问了在他们的wineqq包里安装office2003的问题,回答是没测试过,也不建议装,因为改动的东西有点多。

于是现在我的问题是:
如何只在一个wine环境下,能同时运行qq和ms-office2003

而目前的状况是:
*    longene 的环境装不了office
*    自己编译的wine,连qq都运行不了。
*    crossover暂时弄不了qq

确实没有报bug的习惯,是得学习一下了。在这里向Qian Hong说声抱歉。

说说我自己对crossover的感受吧:
处在国内这个大环境下,本来用Linux做桌面系统的就极少,用桌面不装虚拟机而用wine的又更少了。
究其原因,还是几个老大难:qq,office,旺旺(以及其他客服聊天工具),迅雷,以pps为代表的在线视频播放软件。
我很想在公司推广Linux桌面,但学习成本比解决中毒的成本更高。
因此我想,如果crossover linux (mac版的这些工具本来就有,也无需wine)能够把qq,迅雷,pps等一些常用软件的运行解决了,会有相当一部分用虚拟机的童鞋选择用cxoffice。
然而用户少,开发难,捉虫难,使得近年来crossover linux在这些方面几乎没有作为。

对我来说,longene的出现是有跨时代意义的,他将wine从一个玩具,变成了每天必须使用的工具。在这一点上我非常佩服也非常感谢龙井团队。

胡扯了一通,说说这半天测试的结果:
1. longene所用的wine是wine-1.5.19,怪不得我用他的wine运行自己.wine安装的qq,同样出现0004的错误。
可为何龙井自己的环境没有这样的崩溃提示?可见此bug是可以在用户环境下修复的。
2. 我用longene运行安装在cxoffice下的office,一切正常。看来只是不能安装,而安装好的还是可以用的。









在 2013年5月22日上午10:12,Qian Hong <frac...@gmail.com>写道:



--
transtone
--------------
zm3...@gmail.com

Jianlei Zhang

unread,
May 21, 2013, 11:05:30 PM5/21/13
to gentoo...@googlegroups.com
实在不行就用Pidgin-lwqq吧,项目地址:https://github.com/xiehuc/pidgin-lwqq

我刚测试过,很好用。

On Sat, May 18, 2013 at 01:04:00AM +0800, 楚石 wrote:
> 在x86机器上测试过了,系统安装的wine-1.5.30下,qq可以稳定运行。看来是amd64独有的
> bug。
此致

张建雷 敬上

楚石

unread,
May 22, 2013, 2:20:03 AM5/22/13
to gentoo-china
>>实在不行就用Pidgin-lwqq吧,项目地址:https://github.com/xiehuc/pidgin-lwqq
>>我刚测试过,很好用。

谢谢。能找到的都试过,俩原因:
1. 这个是基于webqq协议的,经常掉线消息不及时不说,也无法远程协助什么的。传文件呢,qq空间呢?
2. 这玩意非逼着我装gstreamer,好家伙,38个大包呢。

Qian Hong

unread,
May 22, 2013, 2:52:02 AM5/22/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> 1. longene所用的wine是wine-1.5.19,怪不得我用他的wine运行自己.wine安装的qq,同样出现0004的错误。
> 可为何龙井自己的环境没有这样的崩溃提示?可见此bug是可以在用户环境下修复的。

你好,
我在前文中提到了这是一个known
bug,对于已知的bug,一半以上可以在wine的bugzilla上找到workaround的方法,如果连wine的bugzilla上都没有workaround的方法,那么很可能没有简单的workaround方法;反过来,如果你知道一个bug怎么workaround,请到wine的bugzilla上报告,可以加快开发者诊断问题,也可以帮助其他因为相同问题google到同一个bug的朋友。

上述bug链接的comment 5就提到怎么workaround:
http://bugs.winehq.org/show_bug.cgi?id=30512#c5
Workaround: 'winetricks -q vcrun2005' and set 'atl80.dll' to '(native,builtin)'
before running the installer.

如果你在wine的bugzilla找到你关心的bug,可以看看bug记录中的
“Component”,如果component是user32/kernel32/gdi32/ntdll/winex11,那么一般不存在简单的workaround方法,只有修改源代码才有办法解决问题;如果component是一些更加上层的dll,那么替换对应的dll可能就会有帮助,例如这个bug的component是atl,所以需要替换atl80.dll.
如果component是unknown,那么可能目前还没有哪个开发者有时间研究这个bug,或者虽然研究过但是没有进展。

Qian Hong

unread,
May 22, 2013, 3:06:00 AM5/22/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> 然而用户少,开发难,捉虫难,使得近年来crossover linux在这些方面几乎没有作为。

CrossOver有60万付费用户,支持MS Office,Photoshop,各种各样的游戏:
http://www.codeweavers.com/products/cxgames/
说crossover linux没有作为,实在很不厚道,wine上游的代码一半以上是crossover团队贡献的,夫复何求?

CrossOver在国外有很不错的口碑,但是,为CrossOver付费的中文用户极少,用户反馈也少,同时,这么多年来向Wine报bug的中文用户也极少,更不用说贡献代码,这才是中文用户感觉Wine/CrossOver不好用的原因。

我是Codeweavers第一个懂中文的开发者,目前也只有我一个人懂中文,中文软件相关的开发测试客服翻译打杂全都是我一个人在做,入职以来几乎每个周末都在不停地debug,忙得焦头烂额也忙得不亦乐乎,感谢用户的支持,也希望用户多多理解。

longene团队的工作很有意义,我也很尊重他们的劳动,可惜他们有自己的方向,没有太多精力和Wine上游沟通,我曾经联系过longene团队,希望他们给Wine上游报bug,但是没有说服他们,这就造成了一些重复劳动,很可惜。

楚石

unread,
May 22, 2013, 3:25:57 AM5/22/13
to gentoo-china
>> 如果component是一些更加上层的dll,那么替换对应的dll可能就会有帮助,例如这个bug的component是atl,所以需要替换atl80.dll.
确实如此,我刚找到longene的环境,把alt80的相关库复制到cxoffice,qq就正常了。
刚想过来报喜,发现你已经回复了。看来在一对E文中找准关键点的能力还很不够啊。

附上alt80的相关文件包:





--
transtone
--------------
zm3...@gmail.com
alt80.tar.xz

楚石

unread,
May 22, 2013, 3:31:13 AM5/22/13
to gentoo-china
>>上述bug链接的comment 5就提到怎么workaround:
>>http://bugs.winehq.org/show_bug.cgi?id=30512#c5
>>Workaround: 'winetricks -q vcrun2005' and set 'atl80.dll' to '(native,builtin)'
眼神不好,居然没看到这里。
--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 22, 2013, 4:35:05 AM5/22/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> 运行qq立马报错的问题,在crossover下没有,貌似跟wine-1.5.20以后的版本有关系。

感谢测试,报错有很多种,只有日志和backtrace才能精确描述问题。

如果你说的报错是指这个bug http://bugs.winehq.org/show_bug.cgi?id=33322 , 那么,我已经成功重现这个bug了。
(特征:backtrace的最后几行是:
1 0x308f28e6 in gf (+0xf28e5) (0x0033f5f4)
2 0x69e04444 in hummerengine (+0x4443) (0x0033f634)


我在32位和64位的fedora上,用fedora testing repo的wine
1.5.29都可以重现这个bug,而我自己编译的却不能重现,目前还没定位问题。fedora提供的包是i686架构,我自己编译的是i386,其他区别我还不清楚。要诊断这个问题,一种可能的思路是
bisect on compile flags,不知你在gentoo上用什么参数编译才会崩溃?我的编译参数很简单:

CC="gcc" CFLAGS="-g -O0" ./configure --disable-tests
make -j4 depend
make -j4

如果可以编译出一个会崩溃的版本,我就可以开始调试了。

楚石

unread,
May 22, 2013, 5:34:26 AM5/22/13
to gentoo-china
CFLAGS="-O2 -pipe -march=core2 -mtune=core2 "
CHOST="x86_64-pc-linux-gnu"
MAKEOPTS="-j2"

我的编译参数,没有什么特别的啊。


--



--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 22, 2013, 5:48:55 AM5/22/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> CFLAGS="-O2 -pipe -march=core2 -mtune=core2 "
> CHOST="x86_64-pc-linux-gnu"
> MAKEOPTS="-j2"
>
> 我的编译参数,没有什么特别的啊。

麻烦你发一下编译目录下的config.log,谢谢。

楚石

unread,
May 22, 2013, 5:51:11 AM5/22/13
to gentoo-china
这是已知的bug,已经修复。
https://groups.google.com/forum/#!topic/gzlug/6boQFg8VO_Y
http://bugs.winehq.org/show_bug.cgi?id=27468

从上面两个东东看来,点击password框崩溃的bug,在cxoffice-12.2.1是修复无望了,除非自己重新编译源码了。
--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 22, 2013, 5:54:36 AM5/22/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> 这是已知的bug,已经修复。
> https://groups.google.com/forum/#!topic/gzlug/6boQFg8VO_Y
> http://bugs.winehq.org/show_bug.cgi?id=27468
>
> 从上面两个东东看来,点击password框崩溃的bug,在cxoffice-12.2.1是修复无望了,除非自己重新编译源码了。

我们可以把这个patch向crossover 12 backport一下,请耐心等待。

楚石

unread,
May 22, 2013, 6:00:15 AM5/22/13
to gentoo-china
>>麻烦你发一下编译目录下的config.log,谢谢。
gentoo 是自动编译的,编译完成就自动删除了,除非编译不成功的,才会留档。

为此我特意将 cflags 的 -O2 改成 -O0再重新编译一次wine。还在编译过程中,此次的config.lgo附上(修改过cflags)。


2013/5/22 Qian Hong <frac...@gmail.com>



--
transtone
--------------
zm3...@gmail.com
wine-1.5.30.configlog.tar.xz

楚石

unread,
May 22, 2013, 6:59:37 AM5/22/13
to gentoo-china
上面贴的那个还是 -O2的cflag。所以编译出来的wine还是有这个问题。

刚重新用 -O0编译了一遍,再运行wine QQ.exe终于运行起来了。看来编译参数挺讨厌的,已经数次和QQ过不去了。
--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 22, 2013, 7:01:29 AM5/22/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> 上面贴的那个还是 -O2的cflag。所以编译出来的wine还是有这个问题。
>
> 刚重新用 -O0编译了一遍,再运行wine QQ.exe终于运行起来了。看来编译参数挺讨厌的,已经数次和QQ过不去了。

麻烦你再提供一下config.log给我看看?

楚石

unread,
May 22, 2013, 7:21:50 AM5/22/13
to gentoo-china
自己对比了一下,貌似差不多。





--
transtone
--------------
zm3...@gmail.com
wine-1.5.30_cflags_O0.tar.xz

Qian Hong

unread,
May 22, 2013, 7:35:35 AM5/22/13
to gentoo-china
2013/5/22 楚石 <zm3...@gmail.com>:
> 自己对比了一下,貌似差不多。

请问你是不是上传错日志了?这次的日志仍然是 -O2 的。

楚石

unread,
May 22, 2013, 8:15:52 PM5/22/13
to gentoo-china
config.log文件决计不错,从编译目录复制出来的。我制定了 -O0,gentoo肯定是按照这个参数给编译的,但为何config的时候用的 -O2,因为没仔细研究过编译过程,给不出合理的解释来:)
现在的情况是,我修改了自动编译参数后,得到的wine-1.5.30,是能够正常运行QQ国际版和QQ2012的。




2013/5/22 Qian Hong <frac...@gmail.com>



--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 22, 2013, 8:37:12 PM5/22/13
to gentoo-china
2013/5/23 楚石 <zm3...@gmail.com>:
> config.log文件决计不错,从编译目录复制出来的。我制定了 -O0,gentoo肯定是按照这个参数给编译的,但为何config的时候用的
> -O2,因为没仔细研究过编译过程,给不出合理的解释来:)
你有办法保留编译过程产生的文件吗?看一下 wine的源代码根目录下的 Makefile 文件, CFALGS 是 -O0 还是 -O2? 从
你提供的 config.log 推测,Makefile里应该也是 -O2,这样编译的结果应该也是 -O2,你制定的 -O0 可能没起作用。
你也可以把编译过程的日志保存一下,grep 一下 gcc, 看看是 -O2 编译的还是 -O0 编译的?

> 现在的情况是,我修改了自动编译参数后,得到的wine-1.5.30,是能够正常运行QQ国际版和QQ2012的。

你现在还有办法编译出会崩溃的版本吗?
如果你 *确保* 可以编译出 *会崩溃* 的版本,麻烦你做下面的实验:

使用会崩溃的版本:
1,用winedbg启动QQ
$ WINEDEBUG=+tid,+seh,+win winedbg QQ.exe

2, 在调试器中输入 c (continue),直到 QQ 崩溃
winedbg> c

3, 将全程的日志和backtrace保存为 old.txt

然后,

1',打上我附件中的patch: 0001-make-createwindow-hotpatchable.txt, 重新编译安装,*保证编译参数和上次完全一样*
2', 用winedbg启动QQ
3', 在调试器中输入 c (continue),看看QQ是否会崩溃
4', 将全程的日志和backtrace(如果有的话),保存为new.txt

使用script命令可能可以让你保存调试信息更方便一些,直接从终端复制也行,确保日志完整就好了。

感谢测试!
0001-make-createwindow-hotpatchable.txt

Qian Hong

unread,
May 22, 2013, 8:38:48 PM5/22/13
to gentoo-china
2013/5/23 Qian Hong <frac...@gmail.com>:
> 2', 用winedbg启动QQ
补充一下,这一步和上次相同,也是 WINEDEBUG=+tid,+seh,+win winedbg QQ.exe

楚石

unread,
May 23, 2013, 1:31:20 AM5/23/13
to gentoo-china
哈,哈,哈
patch有效!



2013/5/23 Qian Hong <frac...@gmail.com>



--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 23, 2013, 2:31:48 AM5/23/13
to gentoo-china
On Thu, May 23, 2013 at 1:31 PM, 楚石 <zm3...@gmail.com> wrote:
> 哈,哈,哈
> patch有效!

你好,可以麻烦你按照我上两封邮件说明的方法提供一下 *两份*
日志给我吗?我需要对比两份日志才能下最终结论,上面的patch只是猜的,在提交补丁之前必须先确诊,不能提交猜的补丁。

感谢测试!

楚石

unread,
May 23, 2013, 3:47:51 AM5/23/13
to gentoo-china
弄了一气,bug是可以重现,就是不知道winedbg的日志怎么保存,可以自动记录的吗?还是需要我复制屏幕显示?那也太多了吧。





--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 23, 2013, 4:09:48 AM5/23/13
to gentoo-china
2013/5/23 楚石 <zm3...@gmail.com>:
> 弄了一气,bug是可以重现,就是不知道winedbg的日志怎么保存,可以自动记录的吗?还是需要我复制屏幕显示?那也太多了吧。

用 script 命令:

先运行script,然后开始重现bug,然后exit,在当前目录会有一个文件叫typescript,这个文件保存了终端的所有显示。
也可以运行 script old.txt 和 script new.txt 直接指定保存的名字。
更多请参阅mac script

辛苦你了,多谢。

Tolbkni Kao

unread,
May 23, 2013, 4:11:53 AM5/23/13
to gentoo...@googlegroups.com
在 2013年5月23日下午4:09,Qian Hong <frac...@gmail.com>写道:
2013/5/23 楚石 <zm3...@gmail.com>:
> 弄了一气,bug是可以重现,就是不知道winedbg的日志怎么保存,可以自动记录的吗?还是需要我复制屏幕显示?那也太多了吧。

用 script 命令:

先运行script,然后开始重现bug,然后exit,在当前目录会有一个文件叫typescript,这个文件保存了终端的所有显示。
也可以运行 script old.txt 和 script new.txt 直接指定保存的名字。
更多请参阅mac script

棒极了,第一次听说这个命令!
 

辛苦你了,多谢。


--
Regards,
Qian Hong

-
http://www.winehq.org

楚石

unread,
May 23, 2013, 5:32:11 AM5/23/13
to gentoo-china
fail的那个内容比较少,ok的那个一直在刷屏啊。
--
transtone
--------------
zm3...@gmail.com
typescript.tar.xz

Qian Hong

unread,
May 23, 2013, 6:01:01 AM5/23/13
to gentoo-china
2013/5/23 楚石 <zm3...@gmail.com>:
> fail的那个内容比较少,ok的那个一直在刷屏啊。

你好,感谢测试,但是两份日志都不对或者不完整啊,请你仔细检查一下?
两份日志都应该有 trace:win:SomeFunction 这种输出,但是你提供的winedbg_qq_fail.txt
没有这部分输出,是你把前面的日志漏掉了没有保存,还是你把 +win 这个调试频道漏掉了?

我需要的第二份日志是打上patch然后用“本来会崩溃”的编译参数重新编译再运行,这份日志应该有
fixme:win:CreateWindowExA haha 这类输出,如果没有看到 “haha”,可能是patch根本没有打上去。

再次感谢你帮忙测试,辛苦你了,麻烦提供一份完整的日志,最好fail和good两份日志都在script环境里保存,这样我们后期分析的时候可以确保当初使用的命令行没有错,并且保证不会遗漏日志。

另外,每次重新编译重新测试的时候,请运行一下 ps aux | grep -i -e wine -e exe ,
检查是不是有残留的wine进程,如果有残留未退出的进程,需要先kill掉,否则可能会有一些共享库保留在内存中没有重新加载从而影响测试结论。

楚石

unread,
May 23, 2013, 6:05:30 AM5/23/13
to gentoo-china
记起来了,运行ok的那个wine,是之前用 -O0编译的那个,而不是打patch的那个(这个被覆盖掉了)。

重新测一遍吧,明天发上来。





--
transtone
--------------
zm3...@gmail.com

楚石

unread,
May 23, 2013, 8:10:30 PM5/23/13
to gentoo-china
测试结果见附件。
从这个dbg信息里,怎么看出bug的位置来呢?
--
transtone
--------------
zm3...@gmail.com
typescript.tar.xz

Qian Hong

unread,
May 24, 2013, 2:49:59 AM5/24/13
to gentoo-china
2013/5/24 楚石 <zm3...@gmail.com>:
> 测试结果见附件。
> 从这个dbg信息里,怎么看出bug的位置来呢?

感谢测试,这份debug log并不能直接确定问题,只是间接帮助诊断,只有反汇编才能确定问题。
摘录部分调试过程:
Wine-dbg>b CreateWindowExW
Many symbols with name 'CreateWindowExW', choose the one you want
(<cr> to abort):
[1]: 0x7e9fe291 CreateWindowExW
[/home/fracting/wine-git/dlls/user32/win.c:1727] in user32
[2]: 0x7e9fe28c CreateWindowExW in user32
=> 2
Breakpoint 2 at 0x7e9fe28c CreateWindowExW in user32
Wine-dbg>c
Stopped on breakpoint 2 at 0x7e9fe28c CreateWindowExW in user32
Wine-dbg>disas 0x7e9fe28c
0x7e9fe28c CreateWindowExW in user32: jmp 0x00562954

QQ对Windows的CreateWindowExW函数进行了hot patch:
注意在0x7e9fe28c这里,有一个jmp语句,跳转的目地地址其实是QQ初始话过程中动态分配的一块内存,QQ向这块内存填充了一些汇编指令。如果你另外用winedbg打开一个notepad添加相同的断点进行调试,就会发现CreateWindowExW的汇编代码没有jmp
0x00562954这一条指定,对比之后可以确定是QQ在初始化过程中,调用CreateWindowExW之前,先动态修改了CreateWindowExW的汇编代码。Windows+VC下,用/hotpatch
参数编译出来的dll,函数入口附近会额外保留一部分空间留作hot
patch用,Wine的DECLSPEC_HOTPATCH相当于VC的/hotpatch,原来的wine代码中,CreateWindowExW函数是不支持hot
patch的,QQ非要hotpatch,就出意外了。前面发的patch应该是对的。

感兴趣的朋友可以阅读更多背景:
http://www.codeproject.com/Articles/27339/API-hooking-for-hotpatchable-operating-systems
http://bugs.winehq.org/buglist.cgi?field0-0-5=content&type0-0-4=substring&type0-0-5=matches&value0-0-5=%22DECLSPEC_HOTPATCH%22&list_id=108070&field0-0-0=product&type0-0-1=substring&field0-0-1=component&resolution=FIXED&field0-0-4=status_whiteboard&value0-0-2=DECLSPEC_HOTPATCH&query_format=advanced&type0-0-3=substring&field0-0-3=short_desc&value0-0-3=DECLSPEC_HOTPATCH&bug_status=CLOSED&value0-0-4=DECLSPEC_HOTPATCH&field0-0-2=alias&value0-0-1=DECLSPEC_HOTPATCH&type0-0-0=substring&value0-0-0=DECLSPEC_HOTPATCH&type0-0-2=substring

楚石

unread,
May 24, 2013, 4:06:45 AM5/24/13
to gentoo-china
这个对我来说有点专业了。

再问一个相关问题,在longene编译的wine下,运行 pgadmin3 这个postgresql数据库管理软件是很正常的,但用我自己编译的wine去运行它,则出错了,怎么debug呢?





--
transtone
--------------
zm3...@gmail.com

Qian Hong

unread,
May 24, 2013, 4:20:09 AM5/24/13
to gentoo-china
2013/5/24 楚石 <zm3...@gmail.com>:
> 再问一个相关问题,在longene编译的wine下,运行 pgadmin3
> 这个postgresql数据库管理软件是很正常的,但用我自己编译的wine去运行它,则出错了,怎么debug呢?

1,请注意邮件列表礼仪,一个线索讨论一个问题,如果要继续讨论,请新开主题。
2,如果你想折腾,请从wine的官方git repo下载代码,不使用任何第三方patch和override,从clean
wineprefix开始安装和测试,到wine的app database
center和bugzilla搜索已知问题,在确保没有duplicate之后,给wine报bug。
3,欢迎参与wine项目开发,请订阅wine-devel/wine-cvs/wine-bugs/wine-patches 四个邮件列表,加入
#winehackers irc频道,阅读wine的开发文档。
4,参与wine开发的门槛比较高,可以从给wine报bug开始,我写过一篇分享心得的文章,叫做
《做一名开源社区的扫地僧》,网上可以搜到,欢迎指点。文章又长又臭,慎入。

如果不想折腾,请购买crossover并到codeweavers软件兼容中心为你需要的程序投票,这是支持Wine项目发展的一个好方法。我写过另一篇文章分享我的观点,叫做《报bug还是付费?这是个问题》,欢迎指点。
我只对CrossOver用户负责,没有能力也没有义务解答wine用户的所有问题,wine上游社区才是求助的最佳场合,那里有很多比我有经验的开发者,能够解决很多我的水平无法解决的问题。

Leiking

unread,
May 28, 2013, 8:20:17 AM5/28/13
to gentoo...@googlegroups.com
官方qq能在wine下用?我一直没用好使过。。这回试试。


Leiking

unread,
May 28, 2013, 8:26:33 AM5/28/13
to gentoo...@googlegroups.com
如何申请为志愿者?,我可以测试qq和pdfexchange。 我用wine几乎只用这几个软件,真是很折腾。。

Qian Hong

unread,
May 28, 2013, 8:37:59 AM5/28/13
to gentoo-china
2013/5/28 Leiking <jinlei...@gmail.com>:
> 如何申请为志愿者?,我可以测试qq和pdfexchange。 我用wine几乎只用这几个软件,真是很折腾。。

Leiking你好,感谢你对Wine和CrossOver 的支持,我在wine的bugzilla上多次看到你帮忙报bug了 :)
你可以参考这里的文档,制作/维护你感兴趣的软件的crosstie一键安装助手,有问题可以找我:
http://www.codeweavers.com/support/wiki/beginningc4ps

然后私信告诉我你的Codeweavers帐号,我帮你开通相应的权限。如果还没有帐号,请注册一个免费帐号。

多多交流!
Reply all
Reply to author
Forward
0 new messages