亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 7205 | 回復(fù): 11
打印 上一主題 下一主題

directfb + gtk 移植到arm平臺 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-11-12 11:18 |只看該作者 |倒序瀏覽
最近在搭建dfb+gtk for arm

參考網(wǎng)路上各路高手的一些經(jīng)驗,基本上把所需要的庫都交叉編譯了,到最后交叉編譯gtk+時遇到問題了

編輯了個configure腳本:

PREFIX=/opt/armhome \
CC=/opt/crosstool/gcc-4.0.1-glibc-2.3.5/arm-unknown-linux-gnu/bin/arm-unknown-linux-gnu-gcc \
PKG_CONFIG=/usr/bin/pkg-config \
BASE_DEPENDENCIES_CFLAGS="-I$PREFIX/include -I$PREFIX/lib/glib-2.0/include -I$PREFIX/include/glib-2.0 \
  -I$PREFIX/include/pango-1.0 -I$PREFIX/include/cairo -I$PREFIX/include/atk-1.0" \
BASE_DEPENDENCIES_LIBS="-L$PREFIX/lib $PREFIX/lib/libglib-2.0.so $PREFIX/lib/libgobject-2.0.so \
  $PREFIX/lib/libgmodule-2.0.so $PREFIX/lib/libfontconfig.so $PREFIX/lib/libxml2.so" \
GLIB_CFLAGS="-I$PREFIX/include -I$PREFIX/lib/glib-2.0/include -I$PREFIX/include/glib-2.0" \
GLIB_LIBS="-L$PREFIX/lib $PREFIX/lib/libglib-2.0.so $PREFIX/lib/libgobject-2.0.so \
  $PREFIX/lib/libgmodule-2.0.so $PREFIX/lib/libfontconfig.so $PREFIX/lib/libxml2.so" \
PANGO_CFLAGS="-I$PREFIX/include/pango-1.0" \
PANGO_LIBS="-L$PREFIX/lib $PREFIX/lib/libpango-1.0.so $PREFIX/lib/libpangoft2-1.0.so \
  $PREFIX/lib/libpangocairo-1.0.so" \
GDK_DEP_CFLAGS="-pthread -I$PREFIX/include/glib-2.0 -I$PREFIX/lib/glib-2.0/include \
  -I$PREFIX/include/pango-1.0 -I$PREFIX/include/cairo -I$PREFIX/include -D_REENTRANT -D_GNU_SOURCE \
  -I$PREFIX/include -I$PREFIX/include/directfb" \
GDK_DEP_LIBS="-L$PREFIX/lib -ldirectfb -lfusion -ldirect -lpthread -ldl -lpng12 -lpangocairo-1.0 \
  -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -ljpeg -lm" \
GDK_PIXBUF_DEP_CFLAGS="-pthread -I$PREFIX/include/glib-2.0 -I$PREFIX/lib/glib-2.0/include \
  -I$PREFIX/include -I$PREFIX/include" \
GDK_PIXBUF_DEP_LIBS="-L$PREFIX/lib -lgmodule-2.0 -ldl -lgobject-2.0 -lglib-2.0 -lpng12 -ljpeg -lm" \
GTK_DEP_CFLAGS="-pthread -I$PREFIX/include/glib-2.0 -I$PREFIX/lib/glib-2.0/include \
  -I$PREFIX/include/pango-1.0 -I$PREFIX/include/cairo -I$PREFIX/include -D_REENTRANT -D_GNU_SOURCE \
  -I$PREFIX/include/directfb -I$PREFIX/include/atk-1.0 -I$PREFIX/include" \
GTK_DEP_LIBS="-L$PREFIX/lib -lpng12 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lgobject-2.0 -lgmodule-2.0 \
  -ldl -lglib-2.0 -lcairo -ljpeg -lm" \
GDK_EXTRA_CFLAGS="-I$PREFIX/include" \
GDK_EXTRA_LIBS="-L$PREFIX/lib -ldirectfb -lz -lfusion -ldirect -lpthread -ldl" \
./configure \
--host=arm-linux \
--prefix=$PREFIX \
--with-gdktarget=directfb \
--without-libtiff \
--disable-glibtest \
--disable-largefile \
--disable-modules \
--with-included-loaders=jpeg,gif,png,xpm

運行報錯

checking for DirectFB... configure: error:
*** DirectFB 0.9.24 or newer and the cairo backend
*** are required. The latest version of DirectFB is always available
*** from http://www.directfb.org/.

于是檢查config.log
發(fā)現(xiàn)問題 configure:33857: error:
回頭看configure文件,導(dǎo)致出錯的原因在于這一行

  if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
....

在終端檢測了一下,directfb.pc 是沒有問題的,返回成功,但是 cairo-direcfb.pc 就檢測失敗了

打印錯誤信息:
root@ubuntu:/home//gtk+-2.10.14# pkg-config --exists cairo-directfb --print-errors
Package /opt/armhome/lib/pkgconfig was not found in the pkg-config search path.
Perhaps you should add the directory containing `/opt/armhome/lib/pkgconfig.pc'
to the PKG_CONFIG_PATH environment variable
Package '/opt/armhome/lib/pkgconfig', required by 'cairo', not found


于是看了下cairo-direcfb.pc 和 cairo.pc這兩個文件

發(fā)現(xiàn)cairo-directfb 需要cairo

而cairo.pc中出現(xiàn)了很奇怪的一個依賴


prefix=/opt/armhome
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: cairo
Description: Multi-platform 2D graphics library
Version: 1.4.10

Requires.private: freetype2 >= 8.0.2 fontconfig directfb /opt/armhome/lib/pkgconfig
Libs: -L${libdir} -lcairo
Libs.private: -lz -lm
Cflags: -I${includedir}/cairo


問題就處在這里了,需要/opt/armhome/lib/pkgconfig.pc文件,我也不知道這個東西是什么,卡在這里了,把這個依賴直接去掉的話,會出現(xiàn)

/opt/crosstool/gcc-4.0.1-glibc-2.3.5/arm-unknown-linux-gnu/lib/gcc/arm-unknown-linux-gnu/4.0.1/../../../../arm-unknown-linux-gnu/bin/ld: warning: libpangoft2-1.0.so.0, needed by /opt/armhome/lib/libpangocairo-1.0.so, not found (try using -rpath or -rpath-link)
/opt/crosstool/gcc-4.0.1-glibc-2.3.5/arm-unknown-linux-gnu/lib/gcc/arm-unknown-linux-gnu/4.0.1/../../../../arm-unknown-linux-gnu/bin/ld: warning: libfreetype.so.6, needed by /opt/armhome/lib/libpangocairo-1.0.so, not found (try using -rpath or -rpath-link)
/opt/crosstool/gcc-4.0.1-glibc-2.3.5/arm-unknown-linux-gnu/lib/gcc/arm-unknown-linux-gnu/4.0.1/../../../../arm-unknown-linux-gnu/bin/ld: warning: libz.so.1, needed by /opt/armhome/lib/libcairo.so, not found (try using -rpath or -rpath-link)
/opt/armhome/lib/libcairo.so: undefined reference to `FcPatternAddInteger'
/opt/armhome/lib/libcairo.so: undefined reference to `deflate'
/opt/armhome/lib/libcairo.so: undefined reference to `FT_Get_PS_Font_Info'

看來還是cairo庫有問題,但是真的找不到問題出在那里!求助大俠幫忙分析

論壇徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵節(jié)徽章
日期:2015-03-06 15:50:392015亞冠之大阪鋼巴
日期:2015-06-12 16:01:352015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:2815-16賽季CBA聯(lián)賽之四川
日期:2018-12-17 14:10:21
2 [報告]
發(fā)表于 2009-11-12 11:24 |只看該作者
看來是沒有找到FreeType和FontConfig

論壇徽章:
0
3 [報告]
發(fā)表于 2009-11-12 11:28 |只看該作者
不是說缺少pkgconfig.pc
pkgconfig是目錄,如果是desktop的話一般在/usr/lib/pkgconfig目錄下,下面是各種軟件包的.pc文件。你應(yīng)該是freetype2.pc,fontconfig.pc等有問題

論壇徽章:
0
4 [報告]
發(fā)表于 2009-11-12 15:17 |只看該作者
我現(xiàn)在覺得以前編譯的庫有問題,又得從頭來了,有一個疑問
從glib開始
在編譯這個庫之前,我設(shè)置了環(huán)境變量
export PREFIX=/opt/armhome
export LD_LIBRARY_PATH=$PREFIX/lib
export PKG_CONFIG_PATH=$LD_LIBRARY_PATH/pkgconfig
export COMPILER=arm-linux-gcc
export HOST=arm-linux


建立文件 arm-linux.cache
配置內(nèi)容如下:
glib_cv_stack_grows=no
glib_cv_uscore=no
ac_cv_func_posix_getpwuid_r=no
ac_cv_func_posix_getgrgid_r=no

CC=$COMPILER ./configure --host=arm-linux --prefix=/opt/armhome --cache-file=arm-linux.cache



報錯如下:
/usr/bin/pkg-config: error while loading shared libraries: /opt/armhome/lib/libglib-2.0.so.0: ELF file OS ABI invalid
configure: error: *** pkg-config too old; version 0.16 or better required.

實際上系統(tǒng)上的pkg-config版本是0.22的
如果我unset  LD_LIBRARY_PATH
就可以編譯通過
我覺得是不是一開始就錯了呢,pkg-config需要交叉編譯成arm版本的呢, 還是用系統(tǒng)安裝的呢?

論壇徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵節(jié)徽章
日期:2015-03-06 15:50:392015亞冠之大阪鋼巴
日期:2015-06-12 16:01:352015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:2815-16賽季CBA聯(lián)賽之四川
日期:2018-12-17 14:10:21
5 [報告]
發(fā)表于 2009-11-12 16:20 |只看該作者
交叉

論壇徽章:
0
6 [報告]
發(fā)表于 2009-11-13 09:54 |只看該作者
好像看過一個帖子,說是pkg-config不可以交叉編譯到arm上哦,呵呵

論壇徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵節(jié)徽章
日期:2015-03-06 15:50:392015亞冠之大阪鋼巴
日期:2015-06-12 16:01:352015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:2815-16賽季CBA聯(lián)賽之四川
日期:2018-12-17 14:10:21
7 [報告]
發(fā)表于 2009-11-13 10:07 |只看該作者
誰說的?

論壇徽章:
0
8 [報告]
發(fā)表于 2009-11-13 15:30 |只看該作者
忘記誰說的了

論壇徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵節(jié)徽章
日期:2015-03-06 15:50:392015亞冠之大阪鋼巴
日期:2015-06-12 16:01:352015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:2815-16賽季CBA聯(lián)賽之四川
日期:2018-12-17 14:10:21
9 [報告]
發(fā)表于 2009-11-13 16:08 |只看該作者
那就等于沒有
嵌入式和pc沒有什么區(qū)別的
尤其是應(yīng)用程序

論壇徽章:
0
10 [報告]
發(fā)表于 2009-11-16 09:13 |只看該作者
自己編譯了下pkg-config,是i386的,不是arm的,指定PKG_CONFIG ,交叉編譯好象沒什么影響啊
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP