CodeHighlight

2017年4月26日 星期三

[Android] Build break: ERROR XXX undefined

最近案子整個大爆炸呀!

幾乎每天都在跨日大戰,腦容量整個降到一個低點。

還好這幾日應該慢慢狀況慢慢穩定下來了。

好想休假呀~~

=====================碎碎念結束=========================

前陣子在帶新案子起來的時候,過程中各個module在把好幾包code倒來倒去

某日就接到了Build break在我這邊的module:



ERROR: "msm_11ad_modinit" [drivers/net/wireless/ath/wil6210/wil6210.ko] undefined!
ERROR: "msm_11ad_dev_init" [drivers/net/wireless/ath/wil6210/wil6210.ko] undefined!
ERROR: "msm_11ad_modexit" [drivers/net/wireless/ath/wil6210/wil6210.ko] undefined!
make[2]: *** [__modpost] Error 1
make[1]: *** [modules] Error 2
make[1]: *** Waiting for unfinished jobs...

嗯,看起來應該是倒code的時候某些東西沒有跟上了吧!
看了一下,Undefined的部分是編wil6210.ko的時候。
所以這個時候就有兩條路了:

  1. 是那些東西沒有define
  2. 這個module到底有沒有要build
如果是第一種,那就是trace code的功夫了,那也就沒甚麼好說的。
會在這邊廢話,代表狀況其實是第二種。
內部查了一下,發現wil6210這個東西其實本來就沒有要build的。
那為什麼會被build進去呢?

原來在build kernel的階段,每個module會根據kconfig的內容,決定要不要build這個東西
像這次就是CONFIG_WIL6210這個值在倒code時被設起來了,
所以才會出現這樣的狀況。

解法:在Kconfig中找到CONFIG_WIL6210,拔掉它即可。

沒有留言:

張貼留言