免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5385 | 回复: 10
打印 上一主题 下一主题

编译DirectFB-1.0.0出错,T-bag请进 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-14 15:42 |只看该作者 |倒序浏览
下午编译了好几个库,跌跌撞撞就过来了。
到了编译DirectFB,问题来了。
configure通过了,
make的时候出现 system.c:65 error PAGE_SIZE undeclared .
不知道是什么原因?
难道缺少头文件?

论坛徽章:
0
2 [报告]
发表于 2009-01-14 15:47 |只看该作者
不知道T-bag老兄又会抖出啥包。。。。。。。
或许就是那个bird

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
3 [报告]
发表于 2009-01-14 15:58 |只看该作者
DirectFB包也简单

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
4 [报告]
发表于 2009-01-14 16:05 |只看该作者

先参考这个

点击这里
现在有点忙,等会给你做个现成的包

[ 本帖最后由 T-bagwell 于 2009-1-15 18:14 编辑 ]

评分

参与人数 1可用积分 +30 收起 理由
bitmilong + 30 鼓励下...

查看全部评分

论坛徽章:
0
5 [报告]
发表于 2009-01-15 11:44 |只看该作者
呵呵,我折腾了几下,这个算通过编译了。

不过在编译pango-1.16.5时又遇到问题了,好像是库不对。
问题输出如下:
CC=arm-linux-gcc ./configure --host=arm-linux --build=i386-linux --prefix=$PREFIX --without-x LDFLAGS="-L$PREFIX/lib"

CFLAGS="-I$PREFIX/include" --enable-pangocairo


/home/zzl/gtk_dfb/target/lib/libglib-2.0.a(gconvert.o): In function `try_conversion':
/usr/src/gtk_package/glib/glib-2.18.2/glib/gconvert.c:71: undefined reference to `libiconv_open'
/home/zzl/gtk_dfb/target/lib/libglib-2.0.a(gconvert.o): In function `IA__g_iconv':
/usr/src/gtk_package/glib/glib-2.18.2/glib/gconvert.c:177: undefined reference to `libiconv'
/home/zzl/gtk_dfb/target/lib/libglib-2.0.a(gconvert.o): In function `IA__g_iconv_close':
/usr/src/gtk_package/glib/glib-2.18.2/glib/gconvert.c:200: undefined reference to `libiconv_close'
/home/zzl/gtk_dfb/target/lib/libglib-2.0.a(gslice.o): In function `allocator_add_slab':
/usr/src/gtk_package/glib/glib-2.18.2/glib/gslice.c:1136: undefined reference to `posix_memalign'

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
6 [报告]
发表于 2009-01-15 12:29 |只看该作者
把第一次给你的包里的libiconv也链接进去,注意先后顺序,不行的话就来回倒倒顺序

论坛徽章:
5
7 [报告]
发表于 2009-01-15 13:16 |只看该作者
佩服一下T-bagwell 兄

论坛徽章:
0
8 [报告]
发表于 2009-01-15 13:57 |只看该作者
加了-liconv

又要打扰老兄了。
你的glib包编译时,出现这个警告,没在意,继续我的编译之旅。(好多库,我先汗一个。)
警告如下:
arm-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../glib -I../../libiconv-1.12/include/ -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -pthread -O2 -Wall  -g  -DLIBDIR -DG_LOG_DOMAIN=\"GLib-GRegex\" -DSUPPORT_UCP -DSUPPORT_UTF8 -DNEWLINE=-1 -DMATCH_LIMIT=10000000 -DMATCH_LIMIT_RECURSION=8192 -DMAX_NAME_SIZE=32 -DMAX_NAME_COUNT=10000 -DMAX_DUPLENGTH=30000 -DLINK_SIZE=2 -DPOSIX_MALLOC_THRESHOLD=10 -DPCRE_STATIC -DGLIB_COMPILATION    -c -o /usr/src/gtk_package/glib/glib-2.18.2/glib/gslice.o /usr/src/gtk_package/glib/glib-2.18.2/glib/gslice.c
/usr/src/gtk_package/glib/glib-2.18.2/glib/gslice.c: In function `allocator_memalign':
/usr/src/gtk_package/glib/glib-2.18.2/glib/gslice.c:1137: warning: implicit declaration of function `posix_memalign'

到了编译pango时,出错了。上面的错误在加了iconv库后消失,
现在只剩下下面的错误。

arm-linux-gcc -I/home/zzl/gtk_dfb/target/include -Wall -o .libs/pango-querymodules querymodules.o  -L/home/zzl/gtk_dfb/target/lib ./.libs/libpangoft2-1.0.so /usr/src/gtk_package/pango-1.16.5/pango/.libs/libpango-1.0.so -L/lib /home/zzl/gtk_dfb/target/lib/libfontconfig.so /home/zzl/gtk_dfb/target/lib/libxml2.so /home/zzl/gtk_dfb/target/lib/libfreetype.so -lz ./.libs/libpango-1.0.so -lm /home/zzl/gtk_dfb/target/lib/libiconv.so -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  -Wl,--rpath -Wl,/home/zzl/gtk_dfb/target/lib
/home/zzl/gtk_dfb/target/lib/libglib-2.0.a(gslice.o): In function `allocator_add_slab':
/usr/src/gtk_package/glib/glib-2.18.2/glib/gslice.c:1137: undefined reference to `posix_memalign'
collect2: ld returned 1 exit status
make[4]: *** [pango-querymodules] 错误 1
make[4]: Leaving directory `/usr/src/gtk_package/pango-1.16.5/pango'
make[3]: *** [all-recursive] 错误 1
make[3]: Leaving directory `/usr/src/gtk_package/pango-1.16.5/pango'
make[2]: *** [all] 错误 2
make[2]: Leaving directory `/usr/src/gtk_package/pango-1.16.5/pango'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/usr/src/gtk_package/pango-1.16.5'
make: *** [all] 错误 2

于是,查看glib 下gslice.c ,发现开头是这样的

#include "config.h"

#if     defined HAVE_POSIX_MEMALIGN && defined POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS
#  define HAVE_COMPLIANT_POSIX_MEMALIGN 1
#endif

#ifdef HAVE_COMPLIANT_POSIX_MEMALIGN
#define _XOPEN_SOURCE 600       /* posix_memalign() */
#endif

在config.h中, HAVE_POSIX_MEMALIGN   和 POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS 均定义了,所以
_XOPEN_SOURCE为600 ,因为posix_memalign是stdlib.h中的函数定义,遂继续查看stdlib.h,发现代码如下:
#ifdef __USE_XOPEN2K
/* Allocate memory of SIZE bytes with an alignment of ALIGNMENT.  */
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
     __THROW __attribute_malloc__;
#endif
因为我用的是uclib库,所以可能有所不同,
于是将gslice.c中的_XOPEN_SOURCE改成与stdlib.h中一致,即改成
#define __USE_XOPEN2K 600

重新编译了一下glib库,然而令人失望,还是无济于事。
不知道原因出在哪里,望告知,万分感激。:em12: :em12: :em12:

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
9 [报告]
发表于 2009-01-15 14:54 |只看该作者
先注掉看看有没有影响,没影响就不用管他,有影响再想办法(这个是我自己试验时这么做)
如果你想做好,还是去查查posix_memalign如何实现的,然后加进去吧
或者改config文件呢?

#if     defined HAVE_POSIX_MEMALIGN && defined POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS
#  define HAVE_COMPLIANT_POSIX_MEMALIGN 1
#endif

把他给改了会怎么样,有试过没?

论坛徽章:
0
10 [报告]
发表于 2009-01-15 15:30 |只看该作者

回复 #9 T-bagwell 的帖子

haha,之前一直不敢去掉。
现在去掉了,
竟然编译通过了。
但是还是不明白是怎么回事。
这个HAVE_COMPLIANT_POSIX_MEMALIGN 是啥意思?

谢谢t-bag兄。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP