星期三, 2月 11, 2009

cross compile ushare with libupnp

ushare 使用 pkg-config 來尋找 libupnp

例如:
$./configure --cross-prefix=mips-linux-

Checking for compiler available...
Checking for locales ...
Checking for ifaddrs ...
Checking for langinfo ...
Checking for iconv ...
Checking for libixml ...
Checking for libthreadutil ...
Checking for libupnp >= 1.4.2 ...
Error, libupnp < 1.4.2 !
See file "config.log" produced by configure for more details.
顯示 libupnp 版本不符要求

$cat config.log

...
mips-linux-gcc -I.. -W -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -O3 -DHAVE_LOCALE_H -DHAVE_SETLOCALE -DHAVE_LANGINFO_H -DHAVE_LANGINFO_CODESET -c -o /tmp/ushare-18799-27667-16283.o /tmp/ushare-23459-27667-3126.c
mips-linux-gcc -o /tmp/ushare-30226-27667-16989 /tmp/ushare-18799-27667-16283.o -lixml -lthreadutil -lpthread -lupnp
pkg-config libupnp --atleast-version=1.4.2
Error, libupnp < 1.4.2 !
顯示 使用 pkg-config 檢查 libupnp 版本

$pkg-config --modversion libupnp

Package libupnp was not found in the pkg-config search path.
Perhaps you should add the directory containing `libupnp.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libupnp' found
顯示在 pkg-config 的預設路徑中找不到 libupnp.pc

$export PKG_CONFIG_LIBDIR=指到toolchain 的 lib/pkgconfig


$pkg-config --modversion libupnp

1.6.6
顯示已經在路徑中找到 libupnp 1.6.6 版

$./configure --cross-prefix=mips-linux-

Checking for compiler available...
Checking for locales ...
Checking for ifaddrs ...
Checking for langinfo ...
Checking for iconv ...
Checking for libixml ...
Checking for libthreadutil ...
Checking for libupnp >= 1.4.2 ...

uShare: configure is OK
version 1.1a
using libupnp 1.6.6
configuration:
install prefix /usr/local
configuration dir ${PREFIX}/etc
locales dir ${PREFIX}/share/locale
NLS support yes
DLNA support no
C compiler mips-linux-gcc
STRIP mips-linux-strip
make make
CPU x86 ()
debug symbols no
strip symbols yes
optimize yes

CFLAGS -I.. -W -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -O3 -DHAVE_LOCALE_H -DHAVE_SETLOCALE -DHAVE_LANGINFO_H -DHAVE_LANGINFO_CODESET -pthread -I/toolchain/rsdk-1.3.5/linux/uclibc/include/upnp
LDFLAGS
extralibs -lixml -lthreadutil -lpthread -lupnp -L/toolchain/rsdk-1.3.5/linux/uclibc/lib

Creating config.mak ...
Creating config.h ...
顯示 configure 成功生成 Makefile

4 則留言:

Unknown 提到...

你好 我想请问你在这篇杂记里提到的toolchain/rsdk-1.3.5/linux/uclibc/是如何得到的? 是编写出来的还是网上有下载? 能否发给我一份? 谢谢 cowboydrg@hotmail.com

Chia-Hsin Chang 提到...

這是平台的 toolchain,你所使用的平台所附的 toolchain 應該也會有。

Unknown 提到...

我的平台上没有这样的toolchain 可以的话能否把rsdk-1.3.5发一份到我的邮箱? 谢谢

Chia-Hsin Chang 提到...

一定會有,如果沒有那你如何編其它的程式...