source kernel 4.15 bug in media.h

Bug #1766663 reported by virgosun
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

Hello all,

I am compiling my custom linux-image and linux-headers from bionic source:

Source version in changelog:

* linux: 4.15.0-15.16 -proposed tracker (LP: #1761177)

After install the custom linux to my system, I can not install external module:

make[1]: Entering directory '/usr/src/linux-headers-4.15.15+inject'
  CC [M] /home/virgosun/Documents/droidcam-64bit/v4l2loopback/v4l2loopback-dc.o
In file included from ./include/linux/media.h:28:0,
                 from ./include/media/media-entity.h:27,
                 from ./include/media/v4l2-dev.h:20,
                 from ./include/media/v4l2-common.h:29,
                 from /home/virgosun/Documents/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:30:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h:9:26: error: no include path in which to search for stdint.h
 # include_next <stdint.h>
                          ^

Look at the media.h, I found the change that cause the error:

#ifndef __KERNEL__
#include <stdint.h>
#endif

is changed to

#include <stdint.h>

Revert the change fix the compilation

Please be aware of this

Thanks

Regards
---
ApportVersion: 2.20.4-0ubuntu4.10
Architecture: amd64
CurrentDesktop: GNOME
DistroRelease: Ubuntu 17.04
Package: linux (not installed)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: virgosun
Tags: zesty
Uname: Linux 4.15.15+inject x86_64
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm audio cdrom dip lpadmin plugdev pulse sambashare shairport-sync sudo wireshark
_MarkForUpload: True

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1766663

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
virgosun (hdefendme) wrote : JournalErrors.txt

apport information

tags: added: apport-collected zesty
description: updated
Revision history for this message
virgosun (hdefendme) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the proposed kernel and post back if it resolves this bug?
See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed.

Thank you in advance!

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Triaged
Revision history for this message
virgosun (hdefendme) wrote :

Thank you for you quick response.

Sorry, I have once again looked at the origin kernel source before the header DEB is built.
Then I see the user space .h is correctly isolated in uapi tree.
Some how, the process of compile and install, has striped all kernel macro directive from these user space .h
I haven't figured out what cause this
I follow this guide to build the custom kernel with its associate header https://help.ubuntu.com/community/Kernel/Compile
And exactly from apt-get source

MAKEFLAGS="HOSTCC=/usr/bin/gcc CCACHE_PREFIX=distcc" make-kpkg --rootcmd fakeroot --initrd --append-to-version=-suspend2 kernel-image kernel-headers kernel-source

So, I suppose this is not a bug but may be the default feature of the build tool chain.
Am I correct?
It is an off topic
But I don't know why custom header is striped out that way, when ubuntu header retain origin directive.

Regards

Revision history for this message
virgosun (hdefendme) wrote :

Hello,

After researching the Google, https://android.googlesource.com/platform/bionic/+/c61f990/libc/kernel/README.TXT, I found the the striping of kernel header is the same as Google's Bionic the new 'clean' linux header feature:

"
fortunately, enlightnment happened, and the kernel now provides a way to
install a set of "user-friendly" headers that are generated from the official
ones by stripping the __KERNEL__ protected declarations.

"
To be exact, I guess this is taken at this step:

fakeroot debian/rules clean

So, may I ask how to prevent the step from stripping off all macros

Thanks!!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.