기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

블루투스를 Aesop 6410 보드에 포팅하기위하여, bluez-libs-3.36.tar , bluez-utils-3.36.tar 두개의 파일을 다운로드 후 작업을 진행 중입니다.
우선 bluez-libs의 경우 아무런 문제가 없이 컴파일이 완료가 되었습니다. 그런데, bluez-utils의 Makefile을 생성하기 위해 configure 를 진행하던 중에 에러가 발생합니다. 
configure 명령은 다음과 같이, 지정해 주었습니다.

./configure --prefix=$PWD/build --host=arm-s3c6410-linux-gnueabi --libdir=/usr/local/lib --includedir=/usr/local/include CC=arm-s3c6410-linux-gnueabi-gcc AR=arm-s3c6410-linux-gnueabi-ar RANLIB=arm-s3c6410-linux-gnueabi-ranlib

그후 발생한 문제는 D-BUS LIBRARY를 찾을 수 없다는 메시지 였습니다. D-BUS 라이브러리 참조를 시키기위해서 어떠한 작업을 해주어야 하는지 궁금합니다. 많은 도움 부탁드립니다.^^
configure 시 발생하는 메시지는 다음과 같습니다. 
 
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for arm-s3c6410-linux-gnueabi-strip... arm-s3c6410-linux-gnueabi-strip
checking whether to enable maintainer-specific portions of Makefiles... no
checking for arm-s3c6410-linux-gnueabi-gcc... arm-s3c6410-linux-gnueabi-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether arm-s3c6410-linux-gnueabi-gcc accepts -g... yes
checking for arm-s3c6410-linux-gnueabi-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of arm-s3c6410-linux-gnueabi-gcc... gcc3
checking whether arm-s3c6410-linux-gnueabi-gcc accepts -fPIE... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for bison... no
checking for byacc... no
checking for flex... no
checking for lex... no
checking build system type... i686-pc-linux-gnu
checking host system type... arm-s3c6410-linux-gnueabi
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by arm-s3c6410-linux-gnueabi-gcc... /opt/s3c6410/cross/armv6/arm-s3c6410-linux-gnueabi/bin/ld
checking if the linker (/opt/s3c6410/cross/armv6/arm-s3c6410-linux-gnueabi/bin/ld) is GNU ld... yes
checking for /opt/s3c6410/cross/armv6/arm-s3c6410-linux-gnueabi/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /opt/s3c6410/cross/armv6/bin/arm-s3c6410-linux-gnueabi-nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking how to run the C preprocessor... arm-s3c6410-linux-gnueabi-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 1572864
checking command to parse /opt/s3c6410/cross/armv6/bin/arm-s3c6410-linux-gnueabi-nm -B output from arm-s3c6410-linux-gnueabi-gcc object... ok
checking for objdir... .libs
checking for arm-s3c6410-linux-gnueabi-ar... arm-s3c6410-linux-gnueabi-ar
checking for arm-s3c6410-linux-gnueabi-ranlib... arm-s3c6410-linux-gnueabi-ranlib
checking for arm-s3c6410-linux-gnueabi-strip... (cached) arm-s3c6410-linux-gnueabi-strip
checking if arm-s3c6410-linux-gnueabi-gcc supports -fno-rtti -fno-exceptions... no
checking for arm-s3c6410-linux-gnueabi-gcc option to produce PIC... -fPIC
checking if arm-s3c6410-linux-gnueabi-gcc PIC flag -fPIC works... yes
checking if arm-s3c6410-linux-gnueabi-gcc static flag -static works... yes
checking if arm-s3c6410-linux-gnueabi-gcc supports -c -o file.o... yes
checking whether the arm-s3c6410-linux-gnueabi-gcc linker (/opt/s3c6410/cross/armv6/arm-s3c6410-linux-gnueabi/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
checking for ppoll... yes
checking for arm-s3c6410-linux-gnueabi-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
configure: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet.  If you think this
configuration is useful to you, please write to [email protected].
checking pkg-config is at least version 0.9.0... yes
checking for BLUEZ... yes
checking for GLIB... no
checking for GMODULE... no
checking for dlopen in -ldl... yes
checking for DBUS... no
configure: error: D-Bus library is required

유형목

2009.06.03 08:51:21
*.131.98.102

D-BUS는 데스크탑 리눅스에서 쓰는 내부 메세지 전달 시스템이므로
임베디드 리눅스에서는 쓰지 않고있습니다.

D-BUS를 쓰지 않도록 옵션에서 빼주어야 되겠네요.

고현철

2009.06.03 12:41:35
*.59.122.199

D-bus의 경우는 주로 X관련해서 많이 사용합니다.

옵션을 빼 주신후에도 문제가 생기면 d-bus를 쓰셔야 합니다. debian이나 slackware 패키지 본을 받아서 보면
안에 관련 소스가 있습니다.

먼저 컴팔하신 후 하시면 될겁니다.

이제현

2009.06.03 21:58:46
*.221.221.197

dbus는 안드로이드에서도 사용하고 있는데요. 물론 Bluez만을 위해서 사용하고 있습니다. ^.^
안드로이드에서 Bluez를 사용하려면 dbus-daemon이 /system/bin/에 올라와 있어야 합니다.

박재문

2009.06.04 02:44:30
*.234.123.6

몇년 전에 국내 모 연구기관에서 bluetooth 관련 프로젝트를 했을 때 blueZ 포팅하였습니다.
근데 blueZ 동작시키는데 뭔 라이브러리( 혹은 패키지)를 그렇게 많이 요구하는지... 15~18개 정도의 라이브러리(혹은 패키지)가 필요하더군요.(기억이 가물가물~~~)
물론 모든 패키지가 필요하지는 않겠지만 source trace 할 시간이 많지 않은 관계(4일만에 구동시켜야 하기 때문에)로 전부 다 포팅하였습니다.
지금은 어떻게 바뀌었는지는 모르겠지만 DBUS 패키지의 소스를 크로스 컴파일하여 라이브러리로 만들어야 합니다.
라이브러리로 만든 다음 크로스 컴파일할때 라이브러리의 위치를 인식시키도록 옵션을 주면 됩니다.
그리고 blueZ 포팅을 한 후 시스템에서 동작시키기 위해서는 DBUS deamon 을 먼저 구동시키야 합니다.

안병기

2009.06.05 06:06:59
*.118.69.195

답변들 감사드립니다.^^ 많은 도움이 되고 있습니다.~ 감사합니다.~
List of Articles
번호 제목 글쓴이 날짜 조회 수
» 블루투스 포팅관련 질문입니다. [5] 안병기 2009-06-03 2526

사용자 로그인