Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't compile in 4.6.4-201.fc23.x86_64 (Fedora 23) #42

Open
THN1 opened this issue Aug 14, 2016 · 7 comments
Open

Can't compile in 4.6.4-201.fc23.x86_64 (Fedora 23) #42

THN1 opened this issue Aug 14, 2016 · 7 comments

Comments

@THN1
Copy link

THN1 commented Aug 14, 2016

...
make[2]: Entering directory '/home/user/media_build_experimental/linux'
Patches for 4.6.4-201.fc23.x86_64 already applied.
make[2]: Leaving directory '/home/user/media_build_experimental/linux'
make -C /lib/modules/4.6.4-201.fc23.x86_64/build SUBDIRS=/home/user/media_build_experimental/v4l modules
make[2]: Entering directory '/usr/src/kernels/4.6.4-201.fc23.x86_64'
CC [M] /home/user/media_build_experimental/v4l/msp3400-driver.o
In file included from :0:0:
/home/user/media_build_experimental/v4l/compat.h:1463:1: error: redefinition of 'pci_zalloc_consistent'
pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
^
In file included from include/linux/pci.h:2022:0,
from /home/user/media_build_experimental/v4l/compat.h:1459,
from :0:
include/linux/pci-dma-compat.h:23:1: note: previous definition of 'pci_zalloc_consistent' was here
pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
^
scripts/Makefile.build:291: recipe for target '/home/user/media_build_experimental/v4l/msp3400-driver.o' failed
make[3]: *** [/home/user/media_build_experimental/v4l/msp3400-driver.o] Error 1
Makefile:1433: recipe for target 'module/home/user/media_build_experimental/v4l' failed
make[2]: *** [module/home/user/media_build_experimental/v4l] Error 2
make[2]: Leaving directory '/usr/src/kernels/4.6.4-201.fc23.x86_64'
Makefile:51: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/home/user/media_build_experimental/v4l'
Makefile:28: recipe for target 'all' failed
make: *** [all] Error 2
make -C /home/user/media_build_experimental/v4l install
make[1]: Entering directory '/home/user/media_build_experimental/v4l'
removed directory: '/lib/modules/4.6.4-201.fc23.x86_64/updates/media'
/sbin/depmod -a 4.6.4-201.fc23.x86_64
make -C firmware install
make[2]: Entering directory '/home/user/media_build_experimental/v4l/firmware'
Installing firmwares at /lib/firmware: vicam/firmware.fw ttusb-budget/dspbootcode.bin cpia2/stv0672_vp4.bin av7110/bootcode.bin
make[2]: Leaving directory '/home/user/media_build_experimental/v4l/firmware'
install -d -v /lib/modules/4.6.4-201.fc23.x86_64/updates/media
install: creating directory '/lib/modules/4.6.4-201.fc23.x86_64/updates/media'
install .ko -> /lib/modules/4.6.4-201.fc23.x86_64/updates/media/
install: cannot stat '
.ko': No such file or directory
Makefile:205: recipe for target 'install' failed
make[1]: *** [install] Error 1
make[1]: Leaving directory '/home/user/media_build_experimental/v4l'
Makefile:17: recipe for target 'install' failed
make: *** [install] Error 2

@THN1
Copy link
Author

THN1 commented Aug 14, 2016

Same in Lubuntu 16.04.1 kernel 4.4.0-34

@lwfinger
Copy link
Owner

The problem with Ubuntu (and apparently Fedora) code is that they backport API changes. Once they do that, they break the macros that determine what capabilities should be found in that kernel version. As the API should NEVER be changed for a given kernel release, I will not fix this. You are on your own! My version compiles on kernel code that is properly updated.

I am not sure why they are calling the compat headers. I do not use those.

@BobDodds
Copy link

Well that explains why Ubuntu yakkety kernel 4.7.0 is no better on rtl8821ae loading but not making device, compared to various 4.4.0 kernels. I'll try to save myself by what you said.

Just to add to the fun, I discoverred that grub2 maintainers never test their code, they just keep writing those "search --no-floppy" grub.cfg lines and in all place about three bugs into every iso menuconfig in updated grub.cfg and one in non-iso, as of August 2016. I made the best of being stuck in grub prompt, actually ran "search --help", and discoverred people were getting (hd0,msdos1) reflected back into their mutual admiration society looking busy doing nothing, unless somebody really has anything on a higher number drive and/or partition, and then humptybuntudumpty done for a while.

@THN1
Copy link
Author

THN1 commented Sep 3, 2016

Hi,
Lubuntu and Kubuntu (with Kernel 4.4.0) are fine now with the two patches provided here
http://www.vdr-portal.de/board18-vdr-hardware/board102-dvb-karten/p1260506-aktuelle-treiber-für-octopus-ddbridge-cines2-ngene-ddbridge-duoflex-s2-duoflex-ct-cinect-max-s8-sowie-tt-s2-6400-teil-3/#post1260506
Fedora 23 with Kernel 4.6.7. still fails on module msp3400-driver.o with a redefinition of function pci_zalloc_consistent in the compat.h header.
I have no idea how to go further and appreciate any possible advise.
T.

@lwfinger
Copy link
Owner

lwfinger commented Sep 3, 2016

Have you installed some "compat" package from Fedora? My copy of include/linux/compat.h has no mention of pzi_zalloc_consistent.

Two possible fixes: 1. Do you really have a Micronas MSP34XX audio decoder? If not, then disable it in the build. 2. Comment out the offending definition of pci_zalloc_consistent in include/linux/compat.h.

@THN1
Copy link
Author

THN1 commented Sep 3, 2016

Hi,

Fedora's just moving to kernel 4.7.2, will come back tomorrow

Thanks,

T


My last test (commenting out the offending function in compat.h gets me
further, but then:

In file included from ./arch/x86/include/asm/processor.h:15:0,
from ./arch/x86/include/asm/cpufeature.h:4,
from ./arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:54,
from ./arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/input.h:11,
from /home/user/media_build_experimental/v4l/compat.h:10,
from :0:
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c: In function
'videobuf_dma_init_user_locked':
./arch/x86/include/asm/current.h:17:17: warning: passing argument 1 of
'get_user_pages' makes integer from pointer without a cast
[-Wint-conversion]
#define current get_current()
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:184:23: note: in
expansion of macro 'current'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:1459,
from :0:
include/linux/mm.h:1266:6: note: expected 'long unsigned int' but argument
is of type 'struct task_struct '
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
In file included from ./arch/x86/include/asm/processor.h:15:0,
from ./arch/x86/include/asm/cpufeature.h:4,
from ./arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:54,
from ./arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/input.h:11,
from /home/user/media_build_experimental/v4l/compat.h:10,
from :0:
./arch/x86/include/asm/current.h:17:17: warning: passing argument 2 of
'get_user_pages' makes integer from pointer without a cast
[-Wint-conversion]
#define current get_current()
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:184:32: note: in
expansion of macro 'current'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:1459,
from :0:
include/linux/mm.h:1266:6: note: expected 'long unsigned int' but argument
is of type 'struct mm_struct *'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:186:9: warning:
passing argument 5 of 'get_user_pages' makes pointer from integer without a
cast [-Wint-conversion]
rw == READ, 1, /
force /
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:1459,
from :0:
include/linux/mm.h:1266:6: note: expected 'struct page *
' but argument is
of type 'int'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:186:21: warning:
passing argument 6 of 'get_user_pages' makes pointer from integer without a
cast [-Wint-conversion]
rw == READ, 1, /* force /
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:1459,
from :0:
include/linux/mm.h:1266:6: note: expected 'struct vm_area_struct *
' but
argument is of type 'int'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:184:8: error: too
many arguments to function 'get_user_pages'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:1459,
from :0:
include/linux/mm.h:1266:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c: In function
'videobuf_dma_free':
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:353:4: error:
implicit declaration of function 'page_cache_release'
[-Werror=implicit-function-declaration]
page_cache_release(dma->pages[i]);
^
cc1: some warnings being treated as errors
scripts/Makefile.build:297: recipe for target
'/home/user/media_build_experimental/v4l/videobuf-dma-sg.o' failed
make[4]: *** [/home/user/media_build_experimental/v4l/videobuf-dma-sg.o]
Error 1
Makefile:1433: recipe for target
'module/home/user/media_build_experimental/v4l' failed
make[3]: *** [module/home/user/media_build_experimental/v4l] Error 2
make[3]: Leaving directory '/usr/src/kernels/4.6.7-200.fc23.x86_64'
Makefile:51: recipe for target 'default' failed
make[2]: *** [default] Error 2
make[2]: Leaving directory '/home/user/media_build_experimental/v4l'
Makefile:28: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/user/media_build_experimental'
Makefile:82: recipe for target 'default' failed
make: *** [default] Error 2

2016-09-03 19:31 GMT+02:00 lwfinger [email protected]:

Have you installed some "compat" package from Fedora? My copy of
include/linux/compat.h has no mention of pzi_zalloc_consistent.

Two possible fixes: 1. Do you really have a Micronas MSP34XX audio
decoder? If not, then disable it in the build. 2. Comment out the offending
definition of pci_zalloc_consistent in include/linux/compat.h.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#42 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUC3qKntGxhWMvsg5S_aDIbWDnMoNpKJks5qma7rgaJpZM4Jj1-M
.

@THN1
Copy link
Author

THN1 commented Sep 3, 2016

Same with 4.7.2-101.fc23.x86_64

I am running the LXDE WM, maybe this brings compatibility issues?

How can I list compat packages in YUM Extender? Some examples:
compat-gnutls28
compat-libvpx1
pangox-compat
perl-MRO-Compat
polkit-pkla-compat
rarian-compat

Does it help?

T.

2016-09-03 22:39 GMT+02:00 Thorsten Hitzemann [email protected]
:

Hi,

Fedora's just moving to kernel 4.7.2, will come back tomorrow

Thanks,

T


My last test (commenting out the offending function in compat.h gets me
further, but then:

In file included from ./arch/x86/include/asm/processor.h:15:0,
from ./arch/x86/include/asm/cpufeature.h:4,
from ./arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:54,
from ./arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/input.h:11,
from /home/user/media_build_experimental/v4l/compat.h:10,
from :0:
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c: In function
'videobuf_dma_init_user_locked':
./arch/x86/include/asm/current.h:17:17: warning: passing argument 1 of
'get_user_pages' makes integer from pointer without a cast
[-Wint-conversion]
#define current get_current()
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:184:23: note:
in expansion of macro 'current'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:
1459,
from :0:
include/linux/mm.h:1266:6: note: expected 'long unsigned int' but argument
is of type 'struct task_struct '
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
In file included from ./arch/x86/include/asm/processor.h:15:0,
from ./arch/x86/include/asm/cpufeature.h:4,
from ./arch/x86/include/asm/thread_info.h:52,
from include/linux/thread_info.h:54,
from ./arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:59,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/input.h:11,
from /home/user/media_build_experimental/v4l/compat.h:10,
from :0:
./arch/x86/include/asm/current.h:17:17: warning: passing argument 2 of
'get_user_pages' makes integer from pointer without a cast
[-Wint-conversion]
#define current get_current()
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:184:32: note:
in expansion of macro 'current'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:
1459,
from :0:
include/linux/mm.h:1266:6: note: expected 'long unsigned int' but argument
is of type 'struct mm_struct *'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:186:9: warning:
passing argument 5 of 'get_user_pages' makes pointer from integer without a
cast [-Wint-conversion]
rw == READ, 1, /
force /
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:
1459,
from :0:
include/linux/mm.h:1266:6: note: expected 'struct page *
' but argument is
of type 'int'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:186:21:
warning: passing argument 6 of 'get_user_pages' makes pointer from integer
without a cast [-Wint-conversion]
rw == READ, 1, /* force /
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:
1459,
from :0:
include/linux/mm.h:1266:6: note: expected 'struct vm_area_struct *
' but
argument is of type 'int'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:184:8: error:
too many arguments to function 'get_user_pages'
err = get_user_pages(current, current->mm,
^
In file included from include/linux/scatterlist.h:7:0,
from include/linux/dmapool.h:14,
from include/linux/pci.h:1242,
from /home/user/media_build_experimental/v4l/compat.h:
1459,
from :0:
include/linux/mm.h:1266:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c: In function
'videobuf_dma_free':
/home/user/media_build_experimental/v4l/videobuf-dma-sg.c:353:4: error:
implicit declaration of function 'page_cache_release'
[-Werror=implicit-function-declaration]
page_cache_release(dma->pages[i]);
^
cc1: some warnings being treated as errors
scripts/Makefile.build:297: recipe for target '/home/user/media_build_
experimental/v4l/videobuf-dma-sg.o' failed
make[4]: *** [/home/user/media_build_experimental/v4l/videobuf-dma-sg.o]
Error 1
Makefile:1433: recipe for target 'module/home/user/media_build_experimental/v4l'
failed
make[3]: *** [module/home/user/media_build_experimental/v4l] Error 2
make[3]: Leaving directory '/usr/src/kernels/4.6.7-200.fc23.x86_64'
Makefile:51: recipe for target 'default' failed
make[2]: *** [default] Error 2
make[2]: Leaving directory '/home/user/media_build_experimental/v4l'
Makefile:28: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/user/media_build_experimental'
Makefile:82: recipe for target 'default' failed
make: *** [default] Error 2

2016-09-03 19:31 GMT+02:00 lwfinger [email protected]:

Have you installed some "compat" package from Fedora? My copy of
include/linux/compat.h has no mention of pzi_zalloc_consistent.

Two possible fixes: 1. Do you really have a Micronas MSP34XX audio
decoder? If not, then disable it in the build. 2. Comment out the offending
definition of pci_zalloc_consistent in include/linux/compat.h.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#42 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUC3qKntGxhWMvsg5S_aDIbWDnMoNpKJks5qma7rgaJpZM4Jj1-M
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants