This is a cache of https://discuss.96boards.org/t/dragonboard410c-15-09-compilation-error/249. It is a snapshot of the page at 2024-11-01T02:53:49.462+0000.
Dragonboard410c-15.09 compilation error - DragonBoard410c - 96Boards Forum

Dragonboard410c-15.09 compilation error

Hi,

i tried to build ubuntu-qcom-dragonboard410c-15.09 , but there is compilation error. Did i miss something? or any specific gcc toolchain required?

git clone -n working/qualcomm/kernel.git - Qualcomm Landing Team kernel
cd kernel
git checkout -b kernel-15.09 ubuntu-qcom-dragonboard410c-15.09

alias kmake64=’make CROSS_COMPILE=$TC64 ARCH=arm64 -j32′
$ echo $TC64
/8016/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

$kmake64 defconfig distro.config
$kmake64 Image KERNELRELEASE=4.2.0-linaro-lt-qcom

————————————————
CC drivers/media/platform/msm/vidc/msm_v4l2_vidc.o
CC drivers/media/platform/msm/vidc/msm_internal-buffers.o
In file included from drivers/media/platform/msm/vidc/msm_vidc_internal.h:33:0,
from drivers/media/platform/msm/vidc/msm_vidc_common.h:19,
from drivers/media/platform/msm/vidc/msm_v4l2_vidc.c:25:
drivers/media/platform/msm/vidc/hfi/vidc_hfi_api.h:21:22: fatal error: msm_vidc.h: No such file or directory
#include “msm_vidc.h”
^
compilation terminated.
In file included from drivers/media/platform/msm/vidc/msm_vidc_internal.h:33:0,
from drivers/media/platform/msm/vidc/msm_vidc_common.h:19,
from drivers/media/platform/msm/vidc/msm_internal-buffers.h:19,
from drivers/media/platform/msm/vidc/msm_internal-buffers.c:17:
drivers/media/platform/msm/vidc/hfi/vidc_hfi_api.h:21:22: fatal error: msm_vidc.h: No such file or directory
#include “msm_vidc.h”
^
compilation terminated.
make[5]: *** [drivers/media/platform/msm/vidc/msm_v4l2_vidc.o] Error 1
make[5]: *** Waiting for unfinished jobs….
make[5]: *** [drivers/media/platform/msm/vidc/msm_internal-buffers.o] Error 1
make[4]: *** [drivers/media/platform/msm/vidc] Error 2
make[3]: *** [drivers/media/platform/msm] Error 2
make[2]: *** [drivers/media/platform] Error 2
make[1]: *** [drivers/media] Error 2
make[1]: *** Waiting for unfinished jobs….
CHK kernel/config_data.h
make: *** [drivers] Error 2
make: *** Waiting for unfinished jobs….
————————————————

regards,
vinay simha bn

hi,

right… we fixed this build issue after the release actually…

please cherry-pick this patch:

https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/commit/e4df9dd88bb3b37d84db277e0f6a5d59cf5ac737

It happens only when you build without the O=<path> option, which i guess we all use here… hence we didn’t notice…

cheers

HI,

i am able to apply the cherry-pick and built the kernel 15.09.

after booting with new built kernel, the bottom task bar doesn’t shows off (home buttons are not visible).

But if i boot with the boot-linaro-vivid-qcom-snapdragon-arm64-20150930-102.img , the taskbar home buttons will be visible.

regards,
vinay simha bn

I believe you might not have configured the kernel properly.

Are you sure you did:

make defconfig distro.config?

I am suspecting that you are missing distro.config.

make defconfig distro.config

This worked.

Created a new defconfig and using in single defconfig

make defconfig distro.config
make savedefconfig
mv defconfig arch/arm64/configs/new_defconfig

now using only new_defconfig , created by this Image is working, no task bar issue.

any reason why it is used like this “defconfig distro.config”

regards,
vinay simha bn

hi vinay,

ok, thanks for confirming that.

And yes, there is a reason :wink:

we are sharing distro.config file across all our builds/platforms. That makes it much easier to share if all non ‘boot essential’ configs are in a separate file. For example our APQ8064 builds for IFC6410 use the exact same distro.config file.

We put in distro.config all generic options that we need in our ‘releases’, also the rule we try to use, is that any change we make in defconfig (or qcom_defconfig or multi_v7_defconfig for 32-bit) can be sent upstream. Everything else goes to distro.config.

I actually believe this isn’t a bad thing… but if you prefer a single config, the instructions you used are correct.