All of lore.kernel.org
 help / color / mirror / Atom feed
* fido: out-of-tree module build fails due to wrong Module.symvers reference
@ 2015-05-03 15:26 Timo Korthals
  2015-05-03 16:16 ` Timo Korthals
  0 siblings, 1 reply; 3+ messages in thread
From: Timo Korthals @ 2015-05-03 15:26 UTC (permalink / raw)
  To: yocto

[-- Attachment #1: Type: text/plain, Size: 7346 bytes --]

Dear yocto developers,

with the yocto projects < 1.8 we were able to build our out-of-tree 
module without any linking failures, but since the upgrade to 1.8 there 
seems to be something wrong with the "Module.symvers".
For our external module we use exactly the same Makefile as you proposed 
in hello-mod (but of course with another obj-m argument).
If we then build the module, the do_compile stage prints, what you can 
find under [1].
I think the problem refers to a wrong "Module.symvers" which is used by 
the MODPOST stage.

I just searched for all "Module.symvers" files in my fido work folder, 
after a full build:
-rw-r--r-- 1 myName staff 528483 Apr 29 17:59 
/home/myName/fido/tmp/work/amiro-poky-linux-gnueabi/linux-yocto/3.19.2+gitAUTOINC+9e70b482d3_31b35da6a5-r0/linux-amiro-standard-build/Module.symvers
-rw-r--r-- 1 myName staff      0 May  3 16:22 
/home/myName/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/Module.symvers
-rw-r--r-- 1 myName staff 386012 Apr 29 17:58 
/home/myName/fido/tmp/work-shared/amiro/kernel-build-artifacts/Module.symvers

In my old (projects < 1.8) workfolder, the "Module.symvers" files, where 
distributed as follows:
-rw-r--r-- 4 myName staff 528483 Mar 11 13:48 
/home/myName/tmp/sysroots/amiro/usr/src/kernel/Module.symvers
-rw-r--r-- 4 myName staff 528483 Mar 11 13:48 
/home/myName/tmp/work/amiro-poky-linux-gnueabi/linux-yocto/3.19+gitAUTOINC+8897ef68b3_bfa76d4957-r0/image/usr/src/kernel/Module.symvers
-rw-r--r-- 4 myName staff 528483 Mar 11 13:48 
/home/myName/tmp/work/amiro-poky-linux-gnueabi/linux-yocto/3.19+gitAUTOINC+8897ef68b3_bfa76d4957-r0/linux-amiro-standard-build/Module.symvers
-rw-r--r-- 2 myName staff 528483 Mar 11 13:48 
/home/myName/tmp/work/amiro-poky-linux-gnueabi/linux-yocto/3.19+gitAUTOINC+8897ef68b3_bfa76d4957-r0/packages-split/kernel-dev/usr/src/kernel/Module.symvers
-rw-r--r-- 2 myName staff 528483 Mar 11 13:48 
/home/myName/tmp/work/amiro-poky-linux-gnueabi/linux-yocto/3.19+gitAUTOINC+8897ef68b3_bfa76d4957-r0/package/usr/src/kernel/Module.symvers
-rw-r--r-- 4 myName staff 528483 Mar 11 13:48 
/home/myName/tmp/work/amiro-poky-linux-gnueabi/linux-yocto/3.19+gitAUTOINC+8897ef68b3_bfa76d4957-r0/sysroot-destdir/usr/src/kernel/Module.symvers
-rw-r--r-- 1 myName staff 0 Mar  3 10:08 
/home/tkorthals/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647/Module.symvers
-rw-r--r-- 1 myName staff      0 Mar  3 10:08 
/home/myName/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647/Module.symvers

A small hotfix to solve my problem is just a copy of the 
"Module.symvers" from the kernel build into my source folder of the 
module, by the following extension in my "ov5647.bb":
# Copy the fiel containing all kernel modules
do_patchappend() {
     cp -f 
/home/myName/fido/tmp/work/amiro-poky-linux-gnueabi/linux-yocto/3.19.2+gitAUTOINC+9e70b482d3_31b35da6a5-r0/linux-amiro-standard-build/Module.symvers 
${S}
}
addtask patchappend after do_configure before do_compile

If I take the "Module.symvers" from 
"kernel-build-artifacts/Module.symvers", the linkage fails because all 
the symbols are missing which are important for the module.
Do you have any Idea, if this is a bug in the new 1.8 build environment, 
or if I am doing something wrong?

Greetings,
Timo



[1]

+ module_do_compile
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake 
KERNEL_PATH=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_VERSION=3.19.2-yocto-standard 'CC=arm-poky-linux-gnueabi-gcc  ' 
'LD=arm-poky-linux-gnueabi-ld.bfd  ' 'AR=arm-poky-linux-gnueabi-ar ' O=/mnt$
+ oe_runmake_call 
KERNEL_PATH=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_VERSION=3.19.2-yocto-standard 'CC=arm-poky-linux-gnueabi-gcc  ' 
'LD=arm-poky-linux-gnueabi-ld.bfd  ' 'AR=arm-poky-linux-gnueabi-ar ' O$
+ bbnote make -j 8 -e MAKEFLAGS= 
KERNEL_SRC=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_PATH=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_VERSION=3.19.2-yocto-standard 'CC=arm-poky-$
+ echo 'NOTE: make -j 8 -e MAKEFLAGS= 
KERNEL_SRC=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_PATH=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_VERSION=3.19.2-yocto-standard CC=arm-p$
NOTE: make -j 8 -e MAKEFLAGS= 
KERNEL_SRC=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_PATH=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_VERSION=3.19.2-yocto-standard CC=arm-poky-linu$
+ make -j 8 -e MAKEFLAGS= 
KERNEL_SRC=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_PATH=/home/myHome/fido/tmp/work-shared/amiro/kernel-source 
KERNEL_VERSION=3.19.2-yocto-standard 'CC=arm-poky-linux-g$

make[1]: Entering directory 
`/home/myHome/fido/tmp/work-shared/amiro/kernel-source'

make[2]: Entering directory 
`/home/myHome/fido/tmp/work-shared/amiro/kernel-build-artifacts'

   LD 
/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/built-in.o

   CC [M] 
/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.o

   Building modules, stage 2.

   MODPOST 1 modules

WARNING: "v4l2_ctrl_handler_setup" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "__v4l2_ctrl_s_ctrl_int64" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "v4l2_ctrl_handler_free" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "media_entity_init" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "v4l2_i2c_subdev_init" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "v4l2_ctrl_new_std_menu_items" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "v4l2_ctrl_new_std_menu" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "v4l2_ctrl_new_std" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "v4l2_ctrl_handler_init_class" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "media_entity_cleanup" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!
WARNING: "v4l2_device_unregister_subdev" 
[/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko] 
undefined!

   CC 
/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.mod.o

   LD [M] 
/home/myHome/fido/tmp/work/amiro-poky-linux-gnueabi/ov5647/0.0-r0/ov5647.ko

make[2]: Leaving directory 
`/home/myHome/fido/tmp/work-shared/amiro/kernel-build-artifacts'

make[1]: Leaving directory 
`/home/myHome/fido/tmp/work-shared/amiro/kernel-source'

+ ret=0
+ trap '' 0
+ exit 0

-- 

Timo Korthals, M.Sc.
Universität Bielefeld
AG Kognitronik & Sensorik
Exzellenzcluster Cognitive Interaction Technology (CITEC)
Inspiration 1 (Zehlendorfer Damm 199)
33619 Bielefeld - Germany

Office  : 3.037
Phone   : +49 521 106-67368
eMail   : myHome@cit-ec.uni-bielefeld.de
Internet: http://www.ks.cit-ec.uni-bielefeld.de/


[-- Attachment #2: Type: text/html, Size: 9989 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-05-05  4:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-03 15:26 fido: out-of-tree module build fails due to wrong Module.symvers reference Timo Korthals
2015-05-03 16:16 ` Timo Korthals
2015-05-05  4:36   ` Bruce Ashfield

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.