디바이스 드라이버
글 수 70
2014.09.19 10:09:04 (*.134.169.166)
15896
우분투를 12.04에서 14.04로 업그레이드시 크로스컴파일러시 다음과 같은 에러가 발생할 경우에는 다음과 같이 처리 하시면 됩니다.
[에러 1]
u-boot-imx6-denx# make
arm-linux-gnueabihf-gcc -DDO_DEPS_ONLY \
-g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x17800000 -I/staff/I13-0207_EM-IMX6DQ/bootloader/u-boot-imx6-denx/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mno-thumb-interwork -mabi=aapcs-linux -march=armv7-a -Wall -Wstrict-prototypes -fno-stack-protector -Wno-format-nonliteral -Wno-format-security -fstack-usage \
-o lib/asm-offsets.s lib/asm-offsets.c -c -S
/usr/lib/gcc/arm-linux-gnueabihf/4.6/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
make: *** [lib/asm-offsets.s] 오류 1
libmpc.so.2 파일이 없었어 발생하는 에러입니다.
locate 명령으로 다음과 같이 찾아 봅니다.
# locate libmpc
/usr/lib/libmpcdec.so.6
/usr/lib/libmpcdec.so.6.1.0
/usr/lib/i386-linux-gnu/libmpc.so.3
/usr/lib/i386-linux-gnu/libmpc.so.3.0.0
/usr/lib/vlc/plugins/demux/libmpc_plugin.so
/usr/lib/i386-linux-gnu/ 에 libmpc.so.3 파일이 있습니다.
이 파일은 libmpc.so.3.0.0 에 링크되어 있습니다. 이 파일을 libmpc.so.2 로 링크를 만들면 됩니다.
# cd /usr/lib/i386-linux-gnu/
# ls -al libmpc.so.3*
lrwxrwxrwx 1 root root 15 11월 26 2013 libmpc.so.3 -> libmpc.so.3.0.0
-rw-r--r-- 1 root root 100360 11월 26 2013 libmpc.so.3.0.0
# ln -s libmpc.so.3.0.0 libmpc.so.2
# ls -al libmpc.so.*
lrwxrwxrwx 1 root root 15 9월 19 09:55 libmpc.so.2 -> libmpc.so.3.0.0
lrwxrwxrwx 1 root root 15 11월 26 2013 libmpc.so.3 -> libmpc.so.3.0.0
-rw-r--r-- 1 root root 100360 11월 26 2013 libmpc.so.3.0.0
[에러 2]
ake[1]: *** `bmp_logo.o'에서 필요로 하는 타겟 `/usr/include/i386-linux-gnu/bits/predefs.h'를 만들 규칙이 없습니다. 멈춤.
make[1]: Leaving directory `--------------------------
make: *** [tools] 오류 2
위의 경우에는 /usr/include/i386-linux-gnu/bits/predefs.h 파일이 없는 경우 입니다.
locate 명령으로 다음과 같이 찾아 봅니다.
cp -a /usr/arm-linux-gnueabihf/include/bits/predefs.h /usr/include/i386-linux-gnu/bits/
# locate predefs.h
/opt/arm-linux-gnueabihf-4.6.3/arm-linux-gnueabihf/include/bits/predefs.h
/opt/usr/arm-linux-gnueabihf/include/bits/predefs.h
/usr/arm-linux-gnueabihf/include/bits/predefs.h
위의 파일을 /usr/include/i386-linux-gnu/bits/ 디렉토리에 복사를 하면 됩니다.
# cp -a /usr/arm-linux-gnueabihf/include/bits/predefs.h /usr/include/i386-linux-gnu/bits/