Now, I am using ltib building linux kernel for IMX6, but failed and got the message below:
......
......
LD | vmlinux.o |
MODPOST vmlinux.o
GEN | .version |
CHK | include/generated/compile.h |
UPD | include/generated/compile.h |
CC | init/version.o |
LD | init/built-in.o |
LD | .tmp_vmlinux1 |
arch/arm/mach-mx6/built-in.o: In function `pfuze100_init':
usb_h1.c:(.text+0xf9ac): undefined reference to `pfuze_reg_read'
usb_h1.c:(.text+0xf9d0): undefined reference to `pfuze_reg_read'
usb_h1.c:(.text+0xfa00): undefined reference to `pfuze_reg_write'
usb_h1.c:(.text+0xfa44): undefined reference to `pfuze_reg_rmw'
usb_h1.c:(.text+0xfa60): undefined reference to `pfuze_reg_rmw'
usb_h1.c:(.text+0xfa84): undefined reference to `pfuze_reg_rmw'
usb_h1.c:(.text+0xfaa0): undefined reference to `pfuze_reg_rmw'
usb_h1.c:(.text+0xfac8): undefined reference to `pfuze_reg_rmw'
arch/arm/mach-mx6/built-in.o:usb_h1.c:(.text+0xfae4): more undefined references to `pfuze_reg_rmw' follow
arch/arm/mach-mx6/built-in.o: In function `pfuze100_init':
usb_h1.c:(.text+0xfb5c): undefined reference to `pfuze_reg_write'
usb_h1.c:(.text+0x10594): undefined reference to `pfuze_reg_read'
usb_h1.c:(.text+0x105b8): undefined reference to `pfuze_reg_read'
usb_h1.c:(.text+0x105e8): undefined reference to `pfuze_reg_write'
usb_h1.c:(.text+0x1062c): undefined reference to `pfuze_reg_rmw'
usb_h1.c:(.text+0x10648): undefined reference to `pfuze_reg_rmw'
usb_h1.c:(.text+0x1066c): undefined reference to `pfuze_reg_rmw'
usb_h1.c:(.text+0x10688): undefined reference to `pfuze_reg_rmw'
usb_h1.c:(.text+0x106b0): undefined reference to `pfuze_reg_rmw'
arch/arm/mach-mx6/built-in.o:usb_h1.c:(.text+0x106cc): more undefined references to `pfuze_reg_rmw' follow
arch/arm/mach-mx6/built-in.o: In function `pfuze100_init':
usb_h1.c:(.text+0x10744): undefined reference to `pfuze_reg_write'
arch/arm/mach-mx6/built-in.o: In function `regulators_init':
usb_h1.c:(.init.text+0x8d8): undefined reference to `anatop_register_regulator'
usb_h1.c:(.init.text+0x8e8): undefined reference to `anatop_register_regulator'
usb_h1.c:(.init.text+0x8f8): undefined reference to `anatop_register_regulator'
usb_h1.c:(.init.text+0x908): undefined reference to `anatop_register_regulator'
usb_h1.c:(.init.text+0x918): undefined reference to `anatop_register_regulator'
arch/arm/mach-mx6/built-in.o:usb_h1.c:(.init.text+0x928): more undefined references to `anatop_register_regulator' follow
arch/arm/mach-mx6/built-in.o: In function `max17135_regulator_init':
usb_h1.c:(.init.text+0x15d8): undefined reference to `max17135_register_regulator'
arch/arm/mach-mx6/built-in.o: In function `mx6_sabresd_board_init':
usb_h1.c:(.init.text+0x1cac): undefined reference to `imx_add_imx_pxp'
usb_h1.c:(.init.text+0x1cb0): undefined reference to `imx_add_imx_pxp_client'
usb_h1.c:(.init.text+0x1cd8): undefined reference to `imx_add_imx_epdc'
usb_h1.c:(.init.text+0x1f48): undefined reference to `imx_add_perfmon'
usb_h1.c:(.init.text+0x1f50): undefined reference to `imx_add_perfmon'
usb_h1.c:(.init.text+0x1f60): undefined reference to `imx_add_perfmon'
usb_h1.c:(.init.text+0x20e8): undefined reference to `imx6dl_pxp_data'
usb_h1.c:(.init.text+0x20f4): undefined reference to `imx6dl_epdc_data'
usb_h1.c:(.init.text+0x213c): undefined reference to `imx6q_perfmon_data'
usb_h1.c:(.init.text+0x2140): undefined reference to `imx6q_perfmon_data'
usb_h1.c:(.init.text+0x2144): undefined reference to `imx6q_perfmon_data'
arch/arm/mach-mx6/built-in.o: In function `mx6_board_init':
usb_h1.c:(.init.text+0x2c3c): undefined reference to `imx_add_mlb'
usb_h1.c:(.init.text+0x2c78): undefined reference to `imx_add_perfmon'
usb_h1.c:(.init.text+0x2c80): undefined reference to `imx_add_perfmon'
usb_h1.c:(.init.text+0x2c90): undefined reference to `imx_add_perfmon'
usb_h1.c:(.init.text+0x2e7c): undefined reference to `imx6q_perfmon_data'
usb_h1.c:(.init.text+0x2e80): undefined reference to `imx6q_perfmon_data'
usb_h1.c:(.init.text+0x2e84): undefined reference to `imx6q_perfmon_data'
drivers/built-in.o: In function `mxc_hdmi_register_audio':
clkdev.c:(.text+0x54af4): undefined reference to `snd_pcm_link_rwlock'
drivers/built-in.o: In function `mxc_hdmi_abort_stream':
clkdev.c:(.text+0x54bac): undefined reference to `snd_pcm_link_rwlock'
drivers/built-in.o: In function `asrc_init':
clkdev.c:(.init.text+0x5c1c): undefined reference to `asrc_p2p_hook'
drivers/built-in.o: In function `asrc_exit':
clkdev.c:(.exit.text+0xa80): undefined reference to `asrc_p2p_hook'
make: *** [.tmp_vmlinux1] Error 1
error: Bad exit status from /home/yxq/iMX6/L3.0.35_4.0.0_130424_source/ltib/tmp/rpm-tmp.34384 (%build)
RPM build errors:
Bad exit status from /home/yxq/iMX6/L3.0.35_4.0.0_130424_source/ltib/tmp/rpm-tmp.34384 (%build) |
Build time for kernel-3.0.35: 679 seconds
Failed building kernel-3.0.35
f_buildrpms() returned an error, exiting
traceback:
main:572
Started: Mon Dec 9 11:05:12 2013
Ended: Mon Dec 9 11:16:32 2013
Elapsed: 680 seconds
These packages failed to build:
kernel-3.0.35
Build Failed
So many undefined references, I tried many times but failed. Any one knows the solution?
Thanks in advance!
Solved! Go to Solution.
Did you run "distclean" to clean up old objects? Meanwhile, check which defconfig file you are using.
Hi Xiaoqiang,
I Think you have disabled CONFIG_MFD_PFUZE. You can enable it and check once. You can find this option in device driver ->Multifunction device drivers->Support for Freescale's PMIC PFUZE. This will also work. Also using default config for imx6 enables this option by default.
Thanks and Regards,
RayBizTech.
Hi Raybiztech,
I tried your method and succeeded. Thanks for your advice, it's very useful to me!
Did you run "distclean" to clean up old objects? Meanwhile, check which defconfig file you are using.
Thanks,Xiaoli,I run 'distclean' and the problem has been solved!