LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: winland

哪位老大把iceplayer打个suse的安装包吧

[复制链接]
 楼主| 发表于 2011-5-24 10:57:11 | 显示全部楼层
Post by stecue;2140216
链接错误解决了,但是在最后一步,suse的源代码检查程序总是找到一堆的“no-return-in-nonvoid-function”(这个好办)和“64bit-portability-issue”(这个不知道怎么办)。有空我再去想想怎么打补丁吧。


http://forumsdev.novell.com/nove ... tability-issue.html

指针引用问题吧。

改代码。

64位代码要求类型更严格。

函数调用参数类型和头文件定义的类型要完全一样才好,尤其是指针问题。
上文将第二个常量
while(!(getline(l,MAX_STRING_LEN,f)))
改成
while(!(getline(l, &len, f)))
变量的取址形式。

还有个
http://forums.opensuse.org/engli ... tability-issue.html
最后
.... different releases have different locations and my standard
burb for it doesn't seem to be working...
头文件存储位置不对。

第三个:
https://bugzilla.redhat.com/show_bug.cgi?id=537357
When building 389-ds-base-1.2.4.tar.bz2 on SUSE Linux rpmlint gives the
following warning:

E: 389-ds-base 64bit-portability-issue ldap/servers/plugins/acl/acl_ext.c:698

ldap/servers/plugins/acl/acl_ext.c:698: warning: passing argument 3 of
'PListAssignValue' makes pointer from integer without a cast

将32bit整型转为64bit指针出错。可能用reinterpret_cast强制转换或者直接修改函数定义的类型。

网上下到一个pdf,专门讲32/64 Bit Portability Issues
出现这个错误估计是程序员代码里没注意到64位系统里的差异。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-29 19:05:56 | 显示全部楼层
I: A function uses a 'return;' statement, but has actually a value
   to return, like an integer ('return 42;') or similar.
W: iceplayer voidreturn desktop_lrc.c:264
W: iceplayer voidreturn single.c:758, 1551
E: iceplayer 64bit-portability-issue common.c:69
E: iceplayer 64bit-portability-issue configure.c:308, 310, 312, 314, 316, 318, 320, 324, 1508, 1513, 1515, 1517, 1530, 1555, 1562, 1570, 1572, 1574, 1576, 1579, 1581, 1583, 1598, 1617, 1619, 1621, 1623, 1625, 1627, 1629, 1633, 1637, 1640, 1642, 1644, 1646, 1648, 1650, 1652, 1661, 1663
E: iceplayer 64bit-portability-issue core.c:40
E: iceplayer 64bit-portability-issue lrc.c:1214
E: iceplayer 64bit-portability-issue main.c:57, 60, 65, 67
E: iceplayer 64bit-portability-issue single.c:827, 869, 2339, 2527, 2686
E: iceplayer 64bit-portability-issue ui.c:1243
E: iceplayer 64bit-portability-issue widget_lrc.c:584, 588, 592, 596, 600, 604, 612

I: Program returns random data in a function
E: iceplayer no-return-in-nonvoid-function core.c:453
E: iceplayer no-return-in-nonvoid-function keybinding.c:241
E: iceplayer no-return-in-nonvoid-function list.c:311
E: iceplayer no-return-in-nonvoid-function lrc.c:826
E: iceplayer no-return-in-nonvoid-function single.c:1802, 1748

I: Program returns random data in a function
E: iceplayer no-return-in-nonvoid-function core.c:453
E: iceplayer no-return-in-nonvoid-function keybinding.c:241
E: iceplayer no-return-in-nonvoid-function list.c:311
E: iceplayer no-return-in-nonvoid-function lrc.c:826
E: iceplayer no-return-in-nonvoid-function single.c:1802, 1748
[  165.184853] SysRq : Power Off
[  166.722904] Power down.


是这些行的代码要改吗?
回复 支持 反对

使用道具 举报

发表于 2011-5-29 22:54:39 | 显示全部楼层
我咋在本地make 出来的运行出错呢?
Program received signal SIGSEGV, Segmentation fault.
0x0806df44 in gtk_container_remove_new (container=0x8262c00, widget=0x82dc200) at common.c:58
58            if (GTK_IS_WIDGET(container)&&GTK_IS_WIDGET(widget)&&widget->parent == GTK_WIDGET (container))
(gdb) q
A debugging session is active.

        Inferior 1 [process 25618] will be killed.


人品不好哇
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-30 02:01:21 | 显示全部楼层
http://code.google.com/p/iceplayer/issues/detail?id=32
试试更新系统,用最新的编译器和GTK库,我的11.4系统保持最新,编译没你那情况。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-30 09:33:20 | 显示全部楼层
我把返回值错误和64为兼容出错的代码给改了,我这本地运行还正常,你下个修改代码去试试:
http://www.vdisk.cn/down/index/7956888A4771
回复 支持 反对

使用道具 举报

发表于 2011-5-30 12:09:22 | 显示全部楼层
Post by winland;2141082
I: A function uses a 'return;' statement, but has actually a value
   to return, like an integer ('return 42;') or similar.
W: iceplayer voidreturn desktop_lrc.c:264
W: iceplayer voidreturn single.c:758, 1551
E: iceplayer 64bit-portability-issue common.c:69
E: iceplayer 64bit-portability-issue configure.c:308, 310, 312, 314, 316, 318, 320, 324, 1508, 1513, 1515, 1517, 1530, 1555, 1562, 1570, 1572, 1574, 1576, 1579, 1581, 1583, 1598, 1617, 1619, 1621, 1623, 1625, 1627, 1629, 1633, 1637, 1640, 1642, 1644, 1646, 1648, 1650, 1652, 1661, 1663
E: iceplayer 64bit-portability-issue core.c:40
E: iceplayer 64bit-portability-issue lrc.c:1214
E: iceplayer 64bit-portability-issue main.c:57, 60, 65, 67
E: iceplayer 64bit-portability-issue single.c:827, 869, 2339, 2527, 2686
E: iceplayer 64bit-portability-issue ui.c:1243
E: iceplayer 64bit-portability-issue widget_lrc.c:584, 588, 592, 596, 600, 604, 612

I: Program returns random data in a function
E: iceplayer no-return-in-nonvoid-function core.c:453
E: iceplayer no-return-in-nonvoid-function keybinding.c:241
E: iceplayer no-return-in-nonvoid-function list.c:311
E: iceplayer no-return-in-nonvoid-function lrc.c:826
E: iceplayer no-return-in-nonvoid-function single.c:1802, 1748

I: Program returns random data in a function
E: iceplayer no-return-in-nonvoid-function core.c:453
E: iceplayer no-return-in-nonvoid-function keybinding.c:241
E: iceplayer no-return-in-nonvoid-function list.c:311
E: iceplayer no-return-in-nonvoid-function lrc.c:826
E: iceplayer no-return-in-nonvoid-function single.c:1802, 1748
[  165.184853] SysRq : Power Off
[  166.722904] Power down.


是这些行的代码要改吗?
你是直接到我的OBS家项目看的还是从本地编译看到的?我一般用rpmbuild编译,在本地看不到这些OBS附加的信息。
回复 支持 反对

使用道具 举报

发表于 2011-5-30 14:06:08 | 显示全部楼层
Done!我把single.c又修改了一下,终于没错误了。winland老兄改的还真不少,实在是十全大补啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-30 18:51:05 | 显示全部楼层
不错,OBS看到了,全部成功了。
回复 支持 反对

使用道具 举报

发表于 2011-5-30 21:57:07 | 显示全部楼层
都是牛人,代码神马的我是不会改的。
回复 支持 反对

使用道具 举报

发表于 2011-5-31 01:26:52 | 显示全部楼层
Post by winland;2141185
不错,OBS看到了,全部成功了。
Many thanks to winland!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表