Compile kernel module with static library (.a) problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Compile kernel module with static library (.a) problem

1,546 Views
forum1
Contributor I

Welcome.

I have such a problem, maybe sheet metal but unfortunately I can't deal with it.

I have probably searched the whole Internet but unfortunately I have not found a solution to my problem.

Well, I'm preparing a kernel for an embedded device. Until now, the kernel compiled without any problem until the patch.

Well, patch updates one of the drivers and adds a static library with the extension .a to Makefile

Unfortunately, I get an error during compilation.

And now with more.

Well, the patch applied to the file "/drivers/video/fbdev/mxc/mxc_hdmi.c" completes the code with references

to two functions called kill_firmiware and get_firmware.

Patch also edits the Makefile file by adding a static library there.

-obj-$(CONFIG_FB_MXC_HDMI) += mxc_hdmi.o

+obj-$(CONFIG_FB_MXC_HDMI) += mxc_hdmi.o libfw.a

(i.e. it adds at the end of line libfw.a)

I see this message during compilation

scripts/Makefile.build:298: target 'drivers/video/fbdev/mxc/libfw.a' doesn't match the target pattern

  Building modules, stage 2.

  MODPOST 274 modules

ERROR: "kill_firmware" [drivers/video/fbdev/mxc/mxc_hdmi.ko] undefined!

ERROR: "get_firmware" [drivers/video/fbdev/mxc/mxc_hdmi.ko] undefined!

scripts/Makefile.modpost:91: recipe for target '__modpost' failed

make[1]: *** [__modpost] Error 1

Makefile:1205: recipe for target 'modules' failed

I uploaded the file with the library to a common directory in which both modified files are located, i.e. Makefile and driver mxc_hdmi.c.

Unfortunately, I don't know if I have placed the libfw.a file correctly :(. I know that if I delete this file, I get a message that it can't find the library file at all (so it's probably ok here)

Can the libfw.a library not work because it is compiled for another linux version ??

But for the same architecture. Even on the same processor.

Please help. :) Because I got stuck working on this problem and unfortunately

I don't know what to do next.

0 Kudos
1 Reply

1,428 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello Karol,

Apparently the library per the fail ERROR: "kill_firmware" [drivers/video/fbdev/mxc/mxc_hdmi.ko] undefined!

the library was installed in another Linux version, or even another board, and can not be compatible.

regards

0 Kudos