This service is available only in Japanese-language.
●NXPの BSPを使用して、linux-imxのカーネルコンフィグレーションを行い、
「bitbake linux-imx」を行うと「do_compile」タスクで、以下のエラーが発生し、解消できない。
…(略)…
| …/kernel-source/drivers/video/fbdev/mxsfb.c: In function 'mxsfb_suspend':
| …/kernel-source/drivers/video/fbdev/mxsfb.c:2452:2:
error: implicit declaration of function 'mxsfb_overlay_suspend'; did you mean 'mxsfb_runtime_suspend'? -Werror=implicit-function-declaration
| mxsfb_overlay_suspend(host);
| ^~~~~~~~~~~~~~~~~~~~~
| mxsfb_runtime_suspend
| …/kernel-source/drivers/video/fbdev/mxsfb.c: In function 'mxsfb_resume':
| …/kernel-source/drivers/video/fbdev/mxsfb.c:2472:2:
error: implicit declaration of function 'mxsfb_overlay_resume'; did you mean 'mxsfb_overlay_exit'? -Werror=implicit-function-declaration
| mxsfb_overlay_resume(host);
| ^~~~~~~~~~~~~~~~~~~~
| mxsfb_overlay_exit
…(略)…
①「mxsfb.c:2452/2472」を見てみると、以下のように関数およびマクロ定義されています。
2142:#ifdef CONFIG_PM_SLEEP
2146:static void mxsfb_overlay_resume()
…(略)…
2168:static void mxsfb_overlay_suspend()
…(略)…
2185:#endif
2411:#ifdef CONFIG_PM
2412:static int mxsfb_runtime_suspend()
…(略)…
2427:static int mxsfb_runtime_resume()
…(略)…
2442:#endif
2444:#ifdef CONFIG_PM_SLEEP
2445:static int mxsfb_suspend()
…(略)…
2452: mxsfb_overlay_suspend(host)
…(略)…
2464:static int mxsfb_resume()
…(略)…
2472: mxsfb_overlay_resume(host)
…(略)…
2479:#endif
2481:static const struct dev_pm_ops mxsfb_pm_ops = {
2482: SET_RUNTIME_PM_OPS(mxsfb_runtime_suspend, mxsfb_runtime_resume, NULL)
2483: SET_SYSTEM_SLEEP_PM_OPS(mxsfb_suspend, mxsfb_resume)
2484:};
②「.config」では、以下のように定義されています。
CONFIG_PM_SLEEP=y
CONFIG_PM=y
特に問題ないように思うのですが、何故「mplicit-function-declaration」エラーが発生するのかわかりません。
何か、知見がございましたらご教授いただけないでしょうか?
なお、開発環境は以下のとおりです。
● 環 境
・i.MX Linux Yocto Project BSP 4.14.98_2.3.3 Release
・BitBake Build Tool Core version 1.38.0
よろしく、お願いします。
yakuhito
2022/8/18 (木) 15:16
当方環境で試したところ、エラーは発生しなかったのですが
imx7ulpevk を MACHINE に指定して linux-imx の構築を行いましたが、特にエラーとならずにコンパイルもできております。
bitbake 実行時に意味不明のコンパイルエラーは時々発生しています。(メモリ不足が原因の場合が多いです)
bitbake の再実行で同じエラーが発生する場合は、bitbake -c cleansstate レシピ名 を実施して過去の実行結果のキャッシュをクリアした後、bitbake レシピ名 を実行することで、正常に構築ができたケースがほとんどでした。
kimura0070
2022/8/19 (金) 11:11
ご確認、ありがとうございます
①「.config」設定が
・# CONFIG_USB_OTG is not set になっていたためのようでした
↓
・CONFIG_USB_OTG=y で本エラーは解消しました
※「CONFIG_USB_OTG」の設定がどう絡むのかは、調べていません。
② 「bitbake -c cleansstate linux-imx」後に
③「bitbake linux-imx」を実行すると、以下のエラー発生します。
| Makefile:146: recipe for target 'sub-make' failed
| make[1]: *** [sub-make] Error 2
※ とりあえず、環境を再構築してみます。
※ ちなみに、メモリは 32GBの Windows10マシン上で、Oracle VM(メモリ 24GB設定)の Linux環境で開発しているので、メモリは問題ないかと思っています。