Firefly开源社区

打印 上一主题 下一主题

Linux kernel 編譯出錯在 dwc_otg_hcd

6

积分

0

威望

0

贡献

游客

积分
6

Linux kernel 編譯出錯在 dwc_otg_hcd

发表于 2014-11-29 00:08:33      浏览:15801 | 回复: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 編譯成功呢?
回复

使用道具 举报

8

积分

0

威望

0

贡献

游客

积分
8
发表于 2014-11-29 00:39:35        只看该作者  沙发
源码有没有 更新到最新的?下载后还要更新才能使用
回复

使用道具 举报

6

积分

0

威望

0

贡献

游客

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

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

使用道具 举报

发表于 2014-11-29 11:08:09        只看该作者  地板
lzy7478 发表于 2014-11-29 10:17
我是透過 git clone 下來的,也透過 git pull 過,肯定是源裡最新的碼。
google 了一下,貌似沒什麼人遇到 ...

这个报错比较少见,楼主可以先去掉OTG相关的内核配置试试。
另外,楼主编译之前是使用firefly-rk3288_defconfig的配置么?
暴走的创客!
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2014-11-29 11:09:48        只看该作者  5#
你的交叉编译工具用的是什么版本,试下删除掉里面的 inline 选项
回复

使用道具 举报

152

积分

0

威望

6

贡献

技术小白

积分
152
发表于 2014-11-29 11:21:14        只看该作者  6#
本帖最后由 busybee 于 2014-11-29 11:42 编辑

请列一下 gcc -v 的执行结果。

将出错行的 inline 这个关键字拿掉,就可以编译通过了。
Update:
https://bugs.launchpad.net/linaro-android/+bug/972937
是 gcc 版本的问题,我们之后会打上类似的补丁。
回复

使用道具 举报

6

积分

0

威望

0

贡献

游客

积分
6
发表于 2014-11-29 17:57:30        只看该作者  7#
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        只看该作者  8#
busybee 发表于 2014-11-29 11:21
请列一下 gcc -v 的执行结果。

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

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

使用道具 举报

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

本版积分规则

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