歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

skyeye編譯問題及解決方法

首先交代一下我的環境,ubuntu linux 7.04桌面版,gcc 4.1.2, skyeye 1.2.3。接下來就是下載和安裝skyeye了:

  1)上http://gro.clinux.org下載最新的skyeye,當前最新版本為1.2.3,所以下載的文件為skyeye_1_2_3_Rel.tar.bz2

  2) 使用以下命令解壓包:
  $ tar jvxf skyeye_1_2_3_Rel.tar.bz2

  3) 進入解壓後的目錄
  $ cd skyeye_1_2_3_Rel

  4) 輸入make命令
  $ make NO_DBCT=1 NO_BFD=1 NO_LCD=1這時出現如下提示:

test@ubuntu-kde-pc:~/incoming/skyeye_1_2_3_Rel$ make NO_DBCT=1 NO_BFD=1 NO_LCD=1
--------------------------- NOTICE ------------------------------
If you always get error, please run "make NO_CHECK=1" instead.
-----------------------------------------------------------------
Checking whether host is big endian ... no
Checking gcc ... OK ( gcc version: 4.1.2 )
-----------------------------------------------------------------
gcc -g -O2 -D_FILE_OFFSET_BITS=64 -DSTANDALONE -DDEFAULT_INLINE=0 -DMODET  -DMODET -I arch/arm -I arch/arm/common -I arch/arm/common/mmu -I arch/arm/mach -I arch/bfin/common -I arch/bfin/mach -I arch/coldfire/common -I device -I device/net -I device/lcd -I device/flash -I device/uart -I utils -I utils/share -I utils/main -I utils/config -I utils/debugger  -DARM  -I. -DNO_DBCT -DNO_BFD -DNO_LCD -o binary/skyeye binary/skyeye.o
                --start-group -Lbinary -larm -ldev -lutils -lbfin -lcoldfire -lmips -lppc  --end-group
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vctuxs':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2770: undefined reference to `truncf'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vctsxs':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2741: undefined reference to `truncf'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vrfiz':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2609: undefined reference to `truncf'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vexptefp':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2693: undefined reference to `pow'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vlogefp':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2672: undefined reference to `log'
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2672: undefined reference to `log'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vrsqrtefp':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2651: undefined reference to `sqrt'
binary/libppc.a(ppc_vec.o): In function `ppc_opc_vrfin':
/home/test/incoming/skyeye_1_2_3_Rel/arch/ppc/common//ppc_vec.c:2564: undefined reference to `rintf'
collect2: ld returned 1 exit status
make: *** [binary/skyeye] Error 1
  5)看到有沒有鏈接到pow的提示,想到pow應該是數據運算庫中的函數,是不是因為數學庫沒有鏈接的原因?找到Makefile的 SKYEYE_LIB=-Lbinary -larm -ldev -lutils -lbfin -lcoldfire -lmips這一行,在後面添加了-lm,再編譯,一切OK

 

Copyright © Linux教程網 All Rights Reserved