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

안녕하세요

udev를 Cross Compile하려고 하는데 생각보다 어렵네요...

 

* configure 생성

 # CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-none-linux-gnueabi prefix=/root/udev./c/install/175

   --with-usb-ids-path=no --with-pci-ids-path=no.

 

* glib는 Arm용으로 CrossCompile해두었고, PKG_CONFIG_PATH에 Arm용 glib을 등록해 놓은 상태입니다.

 

* CrossCompile은 Sourcery CodeBench Lite 2011.09-70이고, Cobuntu 11.10에서 작업중입니다.

   컴파일러는 이전버전을 사용하면 컴파일할때 변수 define이 없다고 뜨면서 컴파일이 안됩니다.

 

 

두가지 버젼으로 시도하고 있습니다.

1) u-dev 182

일단 u-dev 176이상버젼은 configure을 실행하면

 

configure: error: Package requirements (blkid >= 2.20) were not met:

Requested 'blkid >= 2.20' but version of blkid is 2.19.0

오류가 발생합니다. blkid 버젼이 낮다는의미인데

도대체 Ubuntu에서 blkid는 2.19가 최신버젼인데 2.20 이상으로 어떻게 업데이트 하는지를 모르겠네요..

 

2)u-dev 175

./configure까지는 실행이 잘됩니다.

컴파일하면

 

GEN    extras/gudev/gudevmarshal.h
  GEN    extras/gudev/gudevmarshal.c
  GEN    extras/gudev/gudevenumtypes.h
  GEN    extras/gudev/gudevenumtypes.c
  GEN    extras/keymap/keys.txt
  GEN    extras/keymap/keys-from-name.gperf
  GEN    extras/keymap/keys-from-name.h
  GEN    extras/keymap/keys-to-name.h
make --no-print-directory all-recursive
Making all in .
  CC     libudev/libudev.lo
  CC     libudev/libudev-list.lo
  CC     libudev/libudev-util.lo
  CC     libudev/libudev-device.lo
  CC     libudev/libudev-enumerate.lo
  CC     libudev/libudev-monitor.lo
  CC     libudev/libudev-queue.lo
  CCLD   libudev/libudev.la
  CC     extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo
  CC     extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo
  CC     extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo
  CC     extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo
  CC     extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo
  CCLD   extras/gudev/libgudev-1.0.la
  CC     libudev/libudev-util-private.lo
  CC     libudev/libudev-device-private.lo
  CC     libudev/libudev-queue-private.lo
  CCLD   libudev/libudev-private.la
  CC     udev/udev-event.o
  CC     udev/udev-watch.o
  CC     udev/udev-node.o
  CC     udev/udev-rules.o
  CC     udev/udev-ctrl.o
  CC     udev/udev-builtin.o
  CC     udev/udev-builtin-path_id.o
  CC     udev/udev-builtin-usb_id.o
  CC     udev/udev-builtin-input_id.o
  CC     udev/udevd.o
  CC     udev/sd-daemon.o
  CCLD   udev/udevd
  CC     extras/firmware/extras_firmware_firmware-firmware.o
  CCLD   extras/firmware/firmware
  CC     extras/ata_id/ata_id.o
  CCLD   extras/ata_id/ata_id
  CC     extras/cdrom_id/cdrom_id.o
  CCLD   extras/cdrom_id/cdrom_id
  CC     extras/collect/collect.o
  CCLD   extras/collect/collect
  CC     extras/scsi_id/scsi_id.o
  CC     extras/scsi_id/scsi_serial.o
  CCLD   extras/scsi_id/scsi_id
  CC     extras/v4l_id/v4l_id.o
  CCLD   extras/v4l_id/v4l_id
  CC     extras/accelerometer/accelerometer.o
  CCLD   extras/accelerometer/accelerometer
  CC     extras/usb-db/extras_usb_db_usb_db-usb-db.o
  CCLD   extras/usb-db/usb-db
  CC     extras/usb-db/extras_usb_db_pci_db-usb-db.o
  CCLD   extras/usb-db/pci-db
  CC     extras/keymap/extras_keymap_keymap-keymap.o
  CCLD   extras/keymap/keymap
  CC     extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.o
  CC     extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.o
  CCLD   extras/mtd_probe/mtd_probe
  CC     udev/udevadm.o
  CC     udev/udevadm-info.o
  CC     udev/udevadm-control.o
  CC     udev/udevadm-monitor.o
  CC     udev/udevadm-settle.o
  CC     udev/udevadm-trigger.o
  CC     udev/udevadm-test.o
  CC     udev/udevadm-test-builtin.o
  CCLD   udev/udevadm
  GEN    extras/gudev/GUdev-1.0.gir
extras/gudev/gudev.h:24: Warning: GUdev: symbol='_GUDEV_INSIDE_GUDEV_H': Unknown namespace for symbol 'GUDEV_INSIDE_GUDEV_H'
g-ir-scanner: compile: gcc -Wall -pthread -I/usr/local/glib_arm/include/glib-2.0 -I/usr/local/glib_arm/lib/glib-2.0/include -I./extras -I./extras -I/usr/local/glib_arm/include/glib-2.0 -I/usr/local/glib_arm/lib/glib-2.0/include -c -o /root/udev/source/udev-175/tmp-introspectNBLZ1J/GUdev-1.0.o /root/udev/source/udev-175/tmp-introspectNBLZ1J/GUdev-1.0.c
g-ir-scanner: link: libtool --mode=link --tag=CC gcc -o /root/udev/source/udev-175/tmp-introspectNBLZ1J/GUdev-1.0 -export-dynamic -L. -lgudev-1.0 -L./libudev -L./extras/gudev -pthread -L/usr/local/glib_arm/lib -lgio-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 /root/udev/source/udev-175/tmp-introspectNBLZ1J/GUdev-1.0.o
libtool: link: gcc -o /root/udev/source/udev-175/tmp-introspectNBLZ1J/.libs/GUdev-1.0 -pthread /root/udev/source/udev-175/tmp-introspectNBLZ1J/GUdev-1.0.o -Wl,--export-dynamic  -L. /root/udev/source/udev-175/extras/gudev/.libs/libgudev-1.0.so -L./libudev -L./extras/gudev -L/usr/local/glib_arm/lib /usr/local/glib_arm/lib/libgio-2.0.so /usr/local/glib_arm/lib/libgmodule-2.0.so /usr/local/glib_arm/lib/libgobject-2.0.so /usr/local/glib_arm/lib/libgthread-2.0.so /usr/local/glib_arm/lib/libglib-2.0.so -pthread -Wl,-rpath -Wl,/root/udev./c/install/175/lib -Wl,-rpath -Wl,/usr/local/glib_arm/lib
/root/udev/source/udev-175/extras/gudev/.libs/libgudev-1.0.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
linking of temporary binary failed: Command '['libtool', '--mode=link', '--tag=CC', 'gcc', '-o', '/root/udev/source/udev-175/tmp-introspectNBLZ1J/GUdev-1.0', '-export-dynamic', '-L.', '-lgudev-1.0', '-L./libudev', '-L./extras/gudev', '-pthread', '-L/usr/local/glib_arm/lib', '-lgio-2.0', '-lgmodule-2.0', '-lgobject-2.0', '-lgthread-2.0', '-lglib-2.0', '/root/udev/source/udev-175/tmp-introspectNBLZ1J/GUdev-1.0.o']' returned non-zero exit status 1
make[2]: *** [extras/gudev/GUdev-1.0.gir] 오류 1
make[1]: *** [all-recursive] 오류 1
make: *** [all] 오류 2

식으로 libgudev-1.0.so의 Symbol을 읽을수가 없다는데...

왜이러는지 모르겠네요.

libgudev-1.0은 udev source에 포함되있는 라이브러리인데

Cross Compile이 안되서 저러 오류가 나타나느걸가요?

 

조언 부탁드립니다.


블루스카이

2012.05.07 08:30:13
*.54.174.151

로그 내용을 보니 extras/gudev/GUdev-1.0.gir 이거 컴파일 할 때 그냥 gcc가 호출 되었군요. corss-compiler가 아닌 그러니 이미 cross-compiler로 compile된 libgudev-1.0.so 을 link 못하는 것으로 보입니다.

그런데 최신 버전를 사용하셔야 하는 지 의문입니다. 저의 경우 udev140를 사용하고 있습니다. arm board 에서 udev145나  udev150으로 업그레이드 하려다고 부팅도 안되고 실패한 경험이 있어서 udev 버전업에는 현재 신경 쓰지 않고 있습니다.

최신 device가 있는 것도 아니고 새로운 기능이 필요한 것도 아니라서... 순전히 개인의 경험입니다.

Supsupi

2012.05.08 08:31:25
*.9.118.77

댓글 감사드립니다.

저도 log에 gcc가 튀어나오길래.. 이것저것 configure 옵션을 바꿔봤었는데도

같은 현상이 일어나더라구요. 그래서 저건 cross compile과 관계없이 gcc로 컴파일되나했습니다.

libgudev-1.0.so는 udev Source에 포함된 라이브러리라서요 ㅎ

조언 감사드립니다.

Supsupi

2012.05.09 01:28:44
*.9.118.77

컴파일은 됬는데 뭔가 잘 작동을 안하네요.

사실 mdev를 쓰다가

sdcard hotplug가 필요해서 udev를 사용하려고하는데... 뭔가 어렵네요

udev 140도 sdcard hotplugin을 잘 지원하나요? ㅎㅎ

김상범

2012.05.07 21:51:45
*.254.165.247

제가 175 버전으로 다음과 같이 configure option 주고 실행했었습니다.

잘 되실지는 모르겠지만, 참고가 되시길 바랍니다.

사용한 Ubuntu 버전은 정확하게 기억나지는 않지만, 10.04 아니면 11.10 입니다. 

그리고, CROSS_COMPILER_PREFIX는 설정해 주셔야 합니다.

./configure \
        --host=$CROSS_COMPILER_PREFIX \
        --prefix=/usr \
        --sysconfdir=/etc \
        --sbindir=/sbin \
        --libdir=/usr/lib \
        --with-rootlibdir=/lib \
        --libexecdir=/lib/udev \
        --disable-keymap \
        --disable-gudev \
        --disable-introspection \
        --without-pci-ids-path \
        --without-usb-ids-path

Supsupi

2012.05.08 08:39:53
*.9.118.77

감사드립니다.

내일 컴파일해봐야겠네요ㅎ

 

조언 감사드립니다. ㅎ

Supsupi

2012.05.08 23:06:25
*.9.118.77

--disable-gudev  옵션을 주니 컴파일이 되네요~! 감사합니다 ㅎ

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
168 wpa_supplicant문의 드립니다. [1] 테크 2013-06-05 3079
167 무선 아시는 분.. RT73 USB WiFi 관련 문의. 윈도우나 우분투 ... 공정표 2009-08-09 3087
» udev Arm cross compile 문의 드립니다. [6] Supsupi 2012-05-05 3087
165 Bios에 관해서... [4] 박찬규 2007-12-10 3106
164 [질문] 전원은 12V 평균 몇mA나 먹는지요? 혹시 테스트하신 분들,... [2] 임장욱 2007-05-09 3108
163 ODROID-T의 App. Heap Memory 부족 문제 #2 file [2] 최가이버 2010-07-09 3112
162 [질문]LCD TV 로 연결시 해상도를 높일수 있나요?[완료] [2] 조준동 2007-05-09 3119
161 [잡담] 공제보드 [3] 한영민 2007-05-30 3121
160 질문) Wince에서 LCD 출력 [2] 김형기 2007-07-28 3134
159 SMDK6410에서 Android 포팅.. [4] 정경진 2009-04-16 3137
158 serial gadget 이 안되네요... [6] 이율삼 2006-06-28 3138
157 [질문] CD롬을 제거하면 부팅이 안된다...?!!! 이런 경우 보신분 ... [6] 임장욱 2007-05-17 3142
156 LX800 + CS5536 가격과 구입처 좀 가르쳐 주세요. [1] 김정렬 2007-09-07 3143
155 [질문] Aesop-LX800 Wince 5.0 800x480 LCD출력? [1] 김정렬 2007-09-29 3143
154 nfs로 안드로이 부팅중 "System UIDs inconsistent" 에러 팝업 창... [3] 이성호 2009-04-01 3147
153 android 2.1 부팅 후 suspend 되는 현상? (추가) file [4] 김상범 2010-02-21 3148
152 origen_quad 4412 mt6620 wifi 관련 link 문제 [6] 준쓰아빠 2013-06-17 3160
151 2G SD카드 인식문제 [9] 문철민 2008-01-12 3176
150 OS별 부팅속도가 얼마나 되는지 알고 싶습니다.. [1] 정현 2008-01-28 3180
149 [질문] USB 주변기기를 많이 사용하는거 같은데... [4] 류충렬 2007-05-10 3184

사용자 로그인