NVIDIA – New Driver 346.35, Still Fails with 3.19-rc..

Tested the lates NVIDIA driver (346.35) today, and although it fixes the f_dentry error, the compile still fails with Kernel 3.19-rc4, due to the incompatible GPL problem:

FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__cachemode2pte_tbl'
/usr/src/linux-3.19-rc4/scripts/Makefile.modpost:90: recipe for target '__modpost' failed

It has been pointed out that this can be fixed by simply changing the license type, but this is ‘illegal’, and not recommended..

Robert Gadsdon.  January 17, 2015


Comments

NVIDIA – New Driver 346.35, Still Fails with 3.19-rc.. — 2 Comments

    • I tried removing the additions to init.c in 3.19-rc5, and recompiled, and got:

      arch/x86/built-in.o: In function `mp_register_ioapic':
      (.text+0x401f1): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o: In function `update_cache_mode_entry':
      (.text+0x467ea): undefined reference to `__pte2cachemode_tbl'
      arch/x86/built-in.o: In function `update_cache_mode_entry':
      (.text+0x467f7): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o: In function `__ioremap_caller':
      ioremap.c:(.text+0x48b8a): undefined reference to `__cachemode2pte_tbl'
      ioremap.c:(.text+0x48c94): undefined reference to `__cachemode2pte_tbl'
      ioremap.c:(.text+0x48cb3): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o: In function `ioremap_prot':
      (.text+0x48d6c): undefined reference to `__pte2cachemode_tbl'
      arch/x86/built-in.o: In function `change_page_attr_set_clr':
      pageattr.c:(.text+0x4b29d): undefined reference to `__pte2cachemode_tbl'
      arch/x86/built-in.o: In function `_set_memory_array':
      pageattr.c:(.text+0x4b663): undefined reference to `__cachemode2pte_tbl'
      pageattr.c:(.text+0x4b6c3): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o: In function `_set_pages_array':
      pageattr.c:(.text+0x4b7d3): undefined reference to `__cachemode2pte_tbl'
      pageattr.c:(.text+0x4b80b): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o: In function `_set_memory_uc':
      (.text+0x4b907): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o:(.text+0x4ba40): more undefined references to `__cachemode2pte_tbl' follow
      arch/x86/built-in.o: In function `reserve_pfn_range':
      pat.c:(.text+0x4cfc5): undefined reference to `__pte2cachemode_tbl'
      pat.c:(.text+0x4cfe7): undefined reference to `__cachemode2pte_tbl'
      pat.c:(.text+0x4cff6): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o: In function `track_pfn_remap':
      (.text+0x4d193): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o: In function `track_pfn_insert':
      (.text+0x4d1f6): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o: In function `map_vdso':
      vma.c:(.text+0x72c39): undefined reference to `__cachemode2pte_tbl'
      arch/x86/built-in.o:(.init.text+0x108d6): more undefined references to `__cachemode2pte_tbl' follow
      Makefile:925: recipe for target 'vmlinux' failed
      make: *** [vmlinux] Error 1

      So presumably the NVIDIA driver uses one of these..?

      RG

Leave a Reply

Your email address will not be published. Required fields are marked *