Open LinLo opened 3 years ago
5.7.8 failing also
Please check again 13f046347f561426d6b327c0e7808fd410d0c82c
Hello,
Compilation now successfully pass with 5.8.0, thanks a lot ! Archlinux have just released Linux kernel 5.8.1 and unfortunately there is another failure:
make -C /lib/modules/5.8.1-arch1-1/build M=/home/user/tbs-linux_media-git/src/media_build/v4l modules
make[1]: Entering directory '/usr/lib/modules/5.8.1-arch1-1/build'
CC [M] /home/user/tbs-linux_media-git/src/media_build/v4l/msp3400-driver.o
In file included from <command-line>:
/home/user/tbs-linux_media-git/src/media_build/v4l/compat.h:1594:19: error: redefinition of 'prandom_u32_max'
1594 | static inline u32 prandom_u32_max(u32 ep_ro)
| ^~~~~~~~~~~~~~~
In file included from ./include/linux/random.h:118,
from /home/user/tbs-linux_media-git/src/media_build/v4l/compat.h:1589,
from <command-line>:
./include/linux/prandom.h:44:19: note: previous definition of 'prandom_u32_max' was here
44 | static inline u32 prandom_u32_max(u32 ep_ro)
| ^~~~~~~~~~~~~~~
In file included from <command-line>:
/home/user/tbs-linux_media-git/src/media_build/v4l/compat.h: In function 'prandom_u32_max':
/home/user/tbs-linux_media-git/src/media_build/v4l/compat.h:1591:21: error: implicit declaration of function 'random32'; did you mean 'prandom_u32'? [-Werror=implicit-function-declaration]
1591 | #define prandom_u32 random32
| ^~~~~~~~
/home/user/tbs-linux_media-git/src/media_build/v4l/compat.h:1596:22: note: in expansion of macro 'prandom_u32'
1596 | return (u32)(((u64) prandom_u32() * ep_ro) >> 32);
| ^~~~~~~~~~~
In file included from <command-line>:
/home/user/tbs-linux_media-git/src/media_build/v4l/compat.h: At top level:
/home/user/tbs-linux_media-git/src/media_build/v4l/compat.h:2438:19: error: redefinition of 'next_pseudo_random32'
2438 | static inline u32 next_pseudo_random32(u32 seed)
| ^~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/random.h:118,
from /home/user/tbs-linux_media-git/src/media_build/v4l/compat.h:1589,
from <command-line>:
./include/linux/prandom.h:73:19: note: previous definition of 'next_pseudo_random32' was here
73 | static inline u32 next_pseudo_random32(u32 seed)
| ^~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:281: /home/user/tbs-linux_media-git/src/media_build/v4l/msp3400-driver.o] Error 1
make[1]: *** [Makefile:1756: /home/user/tbs-linux_media-git/src/media_build/v4l] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.8.1-arch1-1/build'
make: *** [Makefile:53: default] Error 2
Kernel version: 5.8.1-arch1-1
Thanks so much for maintaining this project.
for a temporary fix create a file 'config-mycompat.h' in media_build/v4l that contains:
#undef NEED_PRANDOM_U32_MAX
#undef NEED_PRANDOM_U32
#undef NEED_NEXT_PSEUDO_RANDOM32
and a heads up - Kernel 5.8 needs at least gcc 9.x, older distros may be out of luck.
Ok I will try the temporary fix you provided for 5.8.1. Archlinux gcc version: $ gcc --version gcc (GCC) 10.1.0
for a temporary fix create a file 'config-mycompat.h' in media_build/v4l that contains:
#undef NEED_PRANDOM_U32_MAX #undef NEED_PRANDOM_U32 #undef NEED_NEXT_PSEUDO_RANDOM32
Compilation succeed for 5.8.1 with this temporary fix. Thanks a lot.
This needs to be addressed thoroughly in the compat layer of the build system itself. the file you just created will be removed with distclean (!). The mycompat file is meant for working around backporting issued by distros, e.g. changes from newer kernels ported to older kernels and collisions occurring from that. In this case 5.8.1 defines some functions that are also in the compat layer and the kernel is too new for the video subsystem used here.
Am Do., 13. Aug. 2020 um 11:52 Uhr schrieb LinLo notifications@github.com:
for a temporary fix create a file 'config-mycompat.h' in media_build/v4l that contains:
undef NEED_PRANDOM_U32_MAX
undef NEED_PRANDOM_U32
undef NEED_NEXT_PSEUDO_RANDOM32
Compilation succeed for 5.8.1 with this temporary fix. Thanks a lot.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/tbsdtv/linux_media/issues/211#issuecomment-673381536, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAGDKROEQOQRSRSAASFL63SAOZVLANCNFSM4PZ4J6YQ .
Same here on Ubuntu 16.04.6 LTS
$ uname -a
Linux nas 4.15.0-118-generic #119~16.04.1-Ubuntu SMP Tue Sep 8 14:54:40 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
The provided workaround seems to let it compile now. PS: my build tree is still on commit 94caad9
Hello,
I don't know if this linux media is synced with Linux 5.8 yet.
Compilation failed (latest branch) with :
Kernel ver 5.8.0-arch1-2
Thank you for your help