Firefly开源社区

打印 上一主题 下一主题

Linux kernel 編譯出錯在 dwc_otg_hcd

6

积分

0

威望

0

贡献

游客

积分
6

Linux kernel 編譯出錯在 dwc_otg_hcd

发表于 2014-11-29 00:08:33      浏览:12967 | 回复:7        打印     [复制链接] 楼主
我使用 wiki 上提供的內核源碼與方式來編譯 bitbucket.org/T-Firefly/firefly-rk3288-kernel.git
但一直遇到編譯到 dwc_otg_hcd 這部份就出錯了,錯誤訊息如下:
  1. drivers/usb/dwc_otg_310/dwc_otg_hcd.c: In function ‘dwc_otg_hcd_rem_wakeup_cb’:
  2. drivers/usb/dwc_otg_310/dwc_otg_hcd.c:447:31: error: inlining failed in call to always_inline ‘dwc_otg_hcd_to_hcd’: function body not available
  3. extern inline struct usb_hcd *dwc_otg_hcd_to_hcd(dwc_otg_hcd_t *dwc_otg_hcd);
  4.                                ^
  5. drivers/usb/dwc_otg_310/dwc_otg_hcd.c:451:18: error: called from here
  6.   struct usb_hcd *hcd = dwc_otg_hcd_to_hcd(dwc_otg_hcd);
  7.                   ^
  8. scripts/Makefile.build:308: recipe for target 'drivers/usb/dwc_otg_310/dwc_otg_hcd.o' failed
  9. make[3]: *** [drivers/usb/dwc_otg_310/dwc_otg_hcd.o] Error 1
  10. scripts/Makefile.build:455: recipe for target 'drivers/usb/dwc_otg_310' failed
  11. make[2]: *** [drivers/usb/dwc_otg_310] Error 2
  12. scripts/Makefile.build:455: recipe for target 'drivers/usb' failed
  13. make[1]: *** [drivers/usb] Error 2
  14. Makefile:812: recipe for target 'drivers' failed
  15. make: *** [drivers] Error 2
复制代码

我試過以下 linux 版本編譯,都會遇到這個問題 ...
Debian Sid i386/amd64, ubuntu 14.04 i386/amd64

請問這邊要如何才能順利讓 linux kernel 編譯成功呢?
回复

使用道具 举报

6

积分

0

威望

0

贡献

游客

积分
6
发表于 2014-11-29 10:17:49      沙发
我是透過 git clone 下來的,也透過 git pull 過,肯定是源裡最新的碼。
google 了一下,貌似沒什麼人遇到過這個問題阿?

唯一的一篇文章,作者也已經把這部份的文字加上刪除號覆蓋了 ...
回复

使用道具 举报

6

积分

0

威望

0

贡献

游客

积分
6
发表于 2014-11-29 17:57:30      板凳
gcc -v 的內容
  1. $ gcc -v
  2. Using built-in specs.
  3. COLLECT_GCC=gcc
  4. COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper
  5. Target: i586-linux-gnu
  6. Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-3' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu --target=i586-linux-gnu
  7. Thread model: posix
  8. gcc version 4.9.2 (Debian 4.9.2-3)
复制代码


arm-linux-gnueabihf -v 的內容
  1. arm-linux-gnueabihf-gcc -v
  2. Using built-in specs.
  3. COLLECT_GCC=arm-linux-gnueabihf-gcc
  4. COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
  5. Target: arm-linux-gnueabihf
  6. Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-3' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf-cross/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf-cross --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf-cross --with-arch-directory=arm --with-ecj-jar= --disable-libgcj --enable-objc-gc --enable-multiarch --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu --target=arm-linux-gnueabihf --program-prefix=arm-linux-gnueabihf-
  7. Thread model: posix
  8. gcc version 4.9.2 (Debian 4.9.2-3)
复制代码
回复

使用道具 举报

6

积分

0

威望

0

贡献

游客

积分
6
发表于 2014-11-29 22:07:32      地板
busybee 发表于 2014-11-29 11:21
请列一下 gcc -v 的执行结果。

将出错行的 inline 这个关键字拿掉,就可以编译通过了。

我把 gcc 降成 4.6 版本,果真過了,先用 4.6 頂著先 :P
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表