Hi,
I'm trying to compile my first kernel, more specifically for nethunter on cm13. I've grabbed (what I think is) the source files from github: https://github.com/CyanogenMod/android_kernel_htc_m7/tree/cm-13.0
I've then applied the mac802 patch from the nethuner wiki and have just managed to place the HID patch. When i tried to compile I get the below error, I had a quick Google and it seems to be related to video drivers which seem pretty important to me. Anyone have any ideas how to fix please or point me in the right direction? I've tried searching for the specific warning: info may blah blah blah but that didn't retrieve anything useful.
Code:
drivers/video/msm/msm_fb.c: In function 'msm_fb_commit_thread':
drivers/video/msm/msm_fb.c:2637: warning: 'info' may be used uninitialized in this function
error, forbidden warning: msm_fb.c:2637
scripts/Makefile.build:307: recipe for target 'drivers/video/msm/msm_fb.o' failed
make[3]: *** [drivers/video/msm/msm_fb.o] Error 1
scripts/Makefile.build:443: recipe for target 'drivers/video/msm' failed
make[2]: *** [drivers/video/msm] Error 2
scripts/Makefile.build:443: recipe for target 'drivers/video' failed
make[1]: *** [drivers/video] Error 2
Makefile:951: recipe for target 'drivers' failed
make: *** [drivers] Error 2
EDIT: Worked it out, 'info' was a variable that wasn't being assigned in the source.
Related
I've combined different features from Cyanogen's and JesusFreke's kernel .config files (from /proc/config.gz) into a git clone of android-msm-2.6.29 from android.git.kernel.org. The reason is that for some reason suid does not work properly when running debian as a non-root user on my G1 with Cyanogen's kernels. However it does with JesusFreke's. While I was able to fix that problem, and keep Cyanogens optimizations, I also unfortunately lost Cyanogen's kernel support for multitouch. I assumed this is because he is using a patched version of the synaptics touchpad driver, whereas I was not. So, I tried to download this Kernel Patch (http://web.mit.edu/~luke_h/www/MultiTouchV4/src/KernelPatch.zip), which is what I believe Cyanogen used. However, after replacing the target file with the included one, the make fails with the following:
...
CC drivers/input/touchscreen/synaptics_i2c_rmi.o
drivers/input/touchscreen/synaptics_i2c_rmi.c:31:1: warning: "swap" redefined
In file included from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/stat.h:60,
from include/linux/module.h:10,
from drivers/input/touchscreen/synaptics_i2c_rmi.c:18:
include/linux/kernel.h:483:1: warning: this is the location of the previous definition
drivers/input/touchscreen/synaptics_i2c_rmi.c: In function 'synaptics_ts_probe':
drivers/input/touchscreen/synaptics_i2c_rmi.c:513: error: 'struct i2c_client' has no member named 'driver_name'
drivers/input/touchscreen/synaptics_i2c_rmi.c: At top level:
drivers/input/touchscreen/synaptics_i2c_rmi.c:639: warning: initialization from incompatible pointer type
make[3]: *** [drivers/input/touchscreen/synaptics_i2c_rmi.o] Error 1
make[2]: *** [drivers/input/touchscreen] Error 2
make[1]: *** [drivers/input] Error 2
make: *** [drivers] Error 2
...
Any thoughts on where to proceed from here?
Doing a make clean in any sourcebase (official samsung or voodoo) produces the following error:
scripts/Makefile.clean:17: /home/kernel/I9000-kernel/Samsung_JPM/Kernel/drivers/fsr/Makefile: No such file or directory
make[2]: *** No rule to make target `/home/kernel/I9000-kernel/Samsung_JPM/Kernel/drivers/fsr/Makefile'. Stop.
make[1]: *** [drivers/fsr] Error 2
make: *** [_clean_drivers] Error 2
I can see that there is no fsr directory in the tree. What's wrong with this?
huxflux2003 said:
Doing a make clean in any sourcebase (official samsung or voodoo) produces the following error:
scripts/Makefile.clean:17: /home/kernel/I9000-kernel/Samsung_JPM/Kernel/drivers/fsr/Makefile: No such file or directory
make[2]: *** No rule to make target `/home/kernel/I9000-kernel/Samsung_JPM/Kernel/drivers/fsr/Makefile'. Stop.
make[1]: *** [drivers/fsr] Error 2
make: *** [_clean_drivers] Error 2
I can see that there is no fsr directory in the tree. What's wrong with this?
Click to expand...
Click to collapse
those are closed source modules. Create the fsr and rfs directories and put an empty Makefile there.
OK, that worked, thanks. When you make and flash a zImage, you only flash the kernel and not the modules, right?
How can you flash a module?
Starting build with ninja
ninja: Entering directory `.'
ninja: error: '/home/kunwar/RR/out/target/product/s2/obj_arm/SHARED_LIBRARIES/libtfa9890_intermediates/export_includes', needed by '/home/kunwar/RR/out/target/product/s2/obj_arm/SHARED_LIBRARIES/audio_amplifier.msm8952_intermediates/import_includes', missing and no known rule to make it
build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
make: Leaving directory '/home/kunwar/RR'
You missed Vendor Tree
How to solve that issue
hello my friend
i need some help please
when i build kernel it's give me error as :
include/trace/define_trace.h:83:43: fatal error: /rndis_ipa_trace.h: No such file or directory
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^
compilation terminated.
scripts/Makefile.build:257: recipe for target 'drivers/net/ethernet/msm/rndis_ipa.o' failed
make[4]: *** [drivers/net/ethernet/msm/rndis_ipa.o] Error 1
scripts/Makefile.build:402: recipe for target 'drivers/net/ethernet/msm' failed
make[3]: *** [drivers/net/ethernet/msm] Error 2
scripts/Makefile.build:402: recipe for target 'drivers/net/ethernet' failed
make[2]: *** [drivers/net/ethernet] Error 2
scripts/Makefile.build:402: recipe for target 'drivers/net' failed
make[1]: *** [drivers/net] Error 2
make[1]: *** Waiting for unfinished jobs....
Click to expand...
Click to collapse
Need Help
Hello Friend me too facing the same issue in Redmi 3s with UBERTC 4.9 did solve this issue
akino553 said:
hello my friend
i need some help please
when i build kernel it's give me error as :
Click to expand...
Click to collapse
You need to add current directory address at last drivers/net/ethernet/msm/rndis_ipa_trace.h
I have built kernels before, but this one just spits out error after error after error.. very annoying and nothing I found seems to help.
Currently stuck with these errors and don't know how to solve them, any help is appreciated:
Code:
kperfmon_DUMMY="perflog.h file is missing."
cp: cannot stat '../../../system/core/liblog/include/log/perflog.h': No such file or directory
kperfmon_DUMMY=""
kperfmon_DUMMY=""
CC drivers/kperfmon/ologk.o
AR drivers/kperfmon/built-in.o
AR drivers/built-in.o
make[2]: *** No rule to make target '/home/dpi/qb5_8814/workspace/P4_1716/buildscript/tools/pil_splitter.py', needed by 'firmware/five/five.signed'. Stop.
/home/seth/AndroidKernel/G977p/Makefile:1165: recipe for target 'firmware' failed
make[1]: *** [firmware] Error 2
make[1]: Leaving directory '/home/seth/AndroidKernel/G977p/output'
Makefile:146: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
The missing perflog.h file is a crucial component for the build process.
To resolve, locate the perflog.h:
find /path/to/starting/directory -type f -name "perflog.h"
Replace /path/to/starting/directory with the appropriate root directory to begin the search. Once located, transfer the file to the expected destination.
If the file is absent, examine the kernel source code repository. If the file is accessible, download it and place it in the required location.
The second issue pertains to a missing rule needed to create the target '/home/dpi/qb5_8814/workspace/P4_1716/buildscript/tools/pil_splitter.py'. This indicates that the build process anticipates a rule to generate the target file, but the rule is not specified in the Makefile.
To resolve this issue, take the following steps:
- Determine whether the target file (pil_splitter.py) exists within your system. If not, obtain it from the kernel source code repository.
- If the file is present, verify that the Makefile includes the appropriate rule for constructing the target file. It may be necessary to add or modify the rule in the Makefile, ensuring it references the correct dependencies and commands.