NVIDIA Driver Installation on Xilinx Zynq SoC Running Ubuntu 14.04 (kernel 3.13)

Hi

We have a Xilinx Zynq SoC (which dual core ARM9s) running Ubuntu 14.04 with kernel version 3.13. The GPU we have connected to it is the GTX980. I’m trying to install the NVIDIA driver but keep running into issues.

If I try to install driver 361.28, for one, I get a warning in the beginning saying GCC version needed is 4.9 but I have 4.8.2 installed which is also what CUDA cross platform installation recommends for ARMv7l architecture running Ubuntu 14.04. Anyway, the log of the install is as follows:

[b][b]nvidia-installer log file ‘/var/log/nvidia-installer.log’
creation time: Fri Mar 18 17:00:00 2016
installer version: 361.28

PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

nvidia-installer command line:
./nvidia-installer

Using: nvidia-installer ncurses user interface
-> Detected 2 CPUs online; setting concurrency level to 2.
-> License accepted.
-> Installing NVIDIA driver version 361.28.
-> Performing CC sanity check with CC="/usr/bin/cc".
-> Kernel source path: ‘/usr/src/linux’
-> Kernel output path: ‘/usr/src/linux’
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Performing Xen check.
-> Performing PREEMPT_RT check.
-> Cleaning kernel module build directory.
executing: ‘cd ./kernel; /usr/bin/make -k -j2 clean NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/usr/src/linux" SYSOUT="/usr/src/linux"’…
rm -f -r conftest
/usr/bin/make “CC=cc” KBUILD_VERBOSE= -C /usr/src/linux M=/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel ARCH=arm NV_KERNEL_SOURCES=/usr/src/linux NV_KERNEL_OUTPUT=/usr/src/linux NV_KERNEL_MODULES=“nvidia nvidia-modeset” INSTALL_MOD_DIR=kernel/drivers/video clean
make[1]: Entering directory /usr/src/linux-xlnx' make[1]: Leaving directory /usr/src/linux-xlnx’
-> Building kernel modules
executing: ‘cd ./kernel; /usr/bin/make -k -j2 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/usr/src/linux" SYSOUT="/usr/src/linux"’…
/usr/bin/make “CC=cc” KBUILD_VERBOSE= -C /usr/src/linux M=/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel ARCH=arm NV_KERNEL_SOURCES=/usr/src/linux NV_KERNEL_OUTPUT=/usr/src/linux NV_KERNEL_MODULES=“nvidia nvidia-modeset” INSTALL_MOD_DIR=kernel/drivers/video modules
make[1]: Entering directory `/usr/src/linux-xlnx’
SYMLINK /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia-modeset/nv-modeset-kernel.o
SYMLINK /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-kernel.o
CONFTEST: INIT_WORK
CONFTEST: remap_pfn_range
CONFTEST: follow_pfn
CONFTEST: vmap
CONFTEST: set_pages_uc
CONFTEST: set_memory_uc
CONFTEST: set_memory_array_uc
CONFTEST: change_page_attr
CONFTEST: pci_get_class
CONFTEST: pci_choose_state
CONFTEST: vm_insert_page
CONFTEST: acpi_device_id
CONFTEST: acquire_console_sem
CONFTEST: console_lock
CONFTEST: kmem_cache_create
CONFTEST: on_each_cpu
CONFTEST: smp_call_function
CONFTEST: acpi_evaluate_integer
CONFTEST: ioremap_cache
CONFTEST: ioremap_wc
CONFTEST: acpi_walk_namespace
CONFTEST: pci_domain_nr
CONFTEST: pci_dma_mapping_error
CONFTEST: sg_alloc_table
CONFTEST: sg_init_table
CONFTEST: pci_get_domain_bus_and_slot
CONFTEST: get_num_physpages
CONFTEST: efi_enabled
CONFTEST: proc_create_data
CONFTEST: pde_data
CONFTEST: proc_remove
CONFTEST: pm_vt_switch_required
CONFTEST: drm_pci_set_busid
CONFTEST: xen_ioemu_inject_msi
CONFTEST: phys_to_dma
CONFTEST: get_dma_ops
CONFTEST: write_cr4
CONFTEST: of_parse_phandle
CONFTEST: for_each_online_node
CONFTEST: node_end_pfn
CONFTEST: pci_bus_address
CONFTEST: pci_stop_and_remove_bus_device
CONFTEST: pci_remove_bus_device
CONFTEST: i2c_adapter
CONFTEST: pm_message_t
CONFTEST: irq_handler_t
CONFTEST: acpi_device_ops
CONFTEST: acpi_op_remove
CONFTEST: outer_flush_all
CONFTEST: proc_dir_entry
CONFTEST: scatterlist
CONFTEST: sg_table
CONFTEST: file_operations
CONFTEST: vm_operations_struct
CONFTEST: pci_save_state
CONFTEST: file_inode
CONFTEST: task_struct
CONFTEST: kuid_t
CONFTEST: dma_ops
CONFTEST: dma_map_ops
CONFTEST: noncoherent_swiotlb_dma_ops
CONFTEST: dom0_kernel_present
CONFTEST: drm_available
CONFTEST: nvidia_grid_build
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia-modeset/nvidia-modeset-linux.o
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-frontend.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-frontend.c:13:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-frontend.o] Error 1
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-instance.o
scripts/genksyms/genksyms: 1: scripts/genksyms/genksyms: Syntax error: “(” unexpected
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia-modeset/nvidia-modeset-linux.o] Error 2
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-instance.c:13:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-instance.o] Error 1
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-acpi.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv.c:13:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv.o] Error 1
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-chrdev.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-acpi.c:15:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-acpi.o] Error 1
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-cray.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-chrdev.c:15:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-chrdev.o] Error 1
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-dma.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-cray.c:15:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-cray.o] Error 1
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-drm.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-dma.c:15:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-dma.o] Error 1
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-gvi.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-drm.c:15:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-drm.o] Error 1
CC [M] /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-i2c.o
In file included from /tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-gvi.c:15:0:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h: In function ‘nv_dma_maps_swiotlb’:
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: error: ‘swiotlb_map_sg_attrs’ undeclared (first use in this function)
swiotlb_in_use = (ops->map_sg == swiotlb_map_sg_attrs);
^
/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/common/inc/nv-linux.h:1505:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [/tmp/selfgz12307/NVIDIA-Linux-armv7l-gnueabihf-361.28/kernel/nvidia/nv-gvi.o] Error 1
[/b][/b]

Now, I can’t say starting which exact version this is the problem. When I try to install an older driver, say, 349.16, I get the following log:

[b]nvidia-installer log file ‘/var/log/nvidia-installer.log’
creation time: Fri Mar 18 17:21:15 2016
installer version: 349.16

PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

nvidia-installer command line:
./nvidia-installer

Using: nvidia-installer ncurses user interface
-> Detected 2 CPUs online; setting concurrency level to 2.
-> License accepted.
-> Installing NVIDIA driver version 349.16.
-> Performing CC sanity check with CC="/usr/bin/cc".
-> The CC version check failed:

The compiler used to compile the kernel (gcc 4.9) does not exactly match the current compiler (gcc 4.8). The Linux 2.6 kernel module loader rejects kernel modules built with a version of gcc that does not exactly match that of the compiler used to build the running kernel.

If you know what you are doing you can either ignore the CC version check and continue installation, or abort installation, set the CC environment variable to the name of the compiler used to compile your kernel, and restart installation. (Answer: Ignore CC version check)
-> Kernel source path: ‘/usr/src/linux’
-> Kernel output path: ‘/usr/src/linux’
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Performing Xen check.
-> Performing PREEMPT_RT check.
-> Cleaning kernel module build directory.
executing: ‘cd ./kernel; /usr/bin/make clean’…
-> Building NVIDIA kernel module:
executing: ‘cd ./kernel; /usr/bin/make module SYSSRC=/usr/src/linux SYSOUT=/usr/src/linux -j2 NV_BUILD_MODULE_INSTANCES=’…
NVIDIA: calling KBUILD…
make[1]: Entering directory /usr/src/linux-xlnx' test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \ echo >&2; \ echo >&2 " ERROR: Kernel configuration is invalid."; \ echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\ echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ echo >&2 ; \ /bin/false) mkdir -p /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/.tmp_versions ; rm -f /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/.tmp_versions/* /usr/bin/make -f scripts/Makefile.build obj=/tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel cc -Wp,-MD,/tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/.nv-acpi.o.d -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.8/include -I/usr/src/linux-xlnx/arch/arm/include -Iarch/arm/include/generated -Iinclude -I/usr/src/linux-xlnx/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/usr/src/linux-xlnx/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-xlnx/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -Wno-maybe-uninitialized -fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -DNV_BUILD_MODULE_INSTANCES=0 -UDEBUG -U_DEBUG -DNDEBUG -I/tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel -Wall -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"349.16\" -Wno-unused-function -Wuninitialized -fno-strict-aliasing -mabi =aapcs-linux -marm -march=armv7-a -D__linux__ -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv_acpi)" -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/.tmp_nv-acpi.o /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-acpi.c cc -Wp,-MD,/tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/.nv-chrdev.o.d -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.8/include -I/usr/src/linux-xlnx/arch/arm/include -Iarch/arm/include/generated -Iinclude -I/usr/src/linux-xlnx/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/usr/src/linux-xlnx/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-xlnx/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -Wno-maybe-uninitialized -fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -DNV_BUILD_MODULE_INSTANCES=0 -UDEBUG -U_DEBUG -DNDEBUG -I/tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel -Wall -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"349.16\" -Wno-unused-function -Wuninitialized -fno-strict-aliasing -mabi=aapcs-linux -marm -march=armv7-a -D__linux__ -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv_chrdev)" -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/.tmp_nv-chrdev.o /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-chrdev.c In file included from include/asm-generic/bitops/hweight.h:5:0, from /usr/src/linux-xlnx/arch/arm/include/asm/bitops.h:283, from include/linux/bitops.h:33, from include/linux/kernel.h:10, from include/linux/sched.h:15, from include/linux/utsname.h:5, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-linux.h:44, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-acpi.c:15: include/linux/bitops.h: In function ‘hweight_long’: include/asm-generic/bitops/const_hweight.h:26:70: warning: signed and unsigned type in conditional expression [-Wsign-compare] #define hweight32(w) (__builtin_constant_p(w) ? __const_hweight32(w) : __arch_hweight32(w)) ^ include/linux/bitops.h:77:26: note: in expansion of macro ‘hweight32’ return sizeof(w) == 4 ? hweight32(w) : hweight64(w); ^ In file included from include/asm-generic/bitops/hweight.h:5:0, from /usr/src/linux-xlnx/arch/arm/include/asm/bitops.h:283, from include/linux/bitops.h:33, from include/linux/kernel.h:10, from include/linux/sched.h:15, from include/linux/utsname.h:5, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-linux.h:44, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-chrdev.c:15: include/linux/bitops.h: In function ‘hweight_long’: include/asm-generic/bitops/const_hweight.h:26:70: warning: signed and unsigned type in conditional expression [-Wsign-compare] #define hweight32(w) (__builtin_constant_p(w) ? __const_hweight32(w) : __arch_hweight32(w)) ^ include/linux/bitops.h:77:26: note: in expansion of macro ‘hweight32’ return sizeof(w) == 4 ? hweight32(w) : hweight64(w); ^ In file included from include/linux/sched.h:21:0, from include/linux/utsname.h:5, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-linux.h:44, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-acpi.c:15: include/linux/cpumask.h: In function ‘cpumask_parse’: include/linux/cpumask.h:603:26: warning: signed and unsigned type in conditional expression [-Wsign-compare] int len = nl ? nl - buf : strlen(buf); ^ In file included from include/linux/sched.h:21:0, from include/linux/utsname.h:5, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-linux.h:44, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-chrdev.c:15: include/linux/cpumask.h: In function ‘cpumask_parse’: include/linux/cpumask.h:603:26: warning: signed and unsigned type in conditional expression [-Wsign-compare] int len = nl ? nl - buf : strlen(buf); ^ In file included from include/linux/dma-mapping.h:76:0, from include/asm-generic/pci-dma-compat.h:7, from /usr/src/linux-xlnx/arch/arm/include/asm/pci.h:5, from include/linux/pci.h:1487, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-linux.h:108, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-acpi.c:15: /usr/src/linux-xlnx/arch/arm/include/asm/dma-mapping.h: In function ‘dma_mapping_error’: /usr/src/linux-xlnx/arch/arm/include/asm/dma-mapping.h:147:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] return dma_addr == DMA_ERROR_CODE; ^ In file included from include/linux/dma-mapping.h:76:0, from include/asm-generic/pci-dma-compat.h:7, from /usr/src/linux-xlnx/arch/arm/include/asm/pci.h:5, from include/linux/pci.h:1487, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-linux.h:108, from /tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-chrdev.c:15: /usr/src/linux-xlnx/arch/arm/include/asm/dma-mapping.h: In function ‘dma_mapping_error’: /usr/src/linux-xlnx/arch/arm/include/asm/dma-mapping.h:147:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] return dma_addr == DMA_ERROR_CODE; ^ scripts/basic/fixdep: 1: scripts/basic/fixdep: Syntax error: end of file unexpected (expecting ")") make[2]: *** [/tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-chrdev.o] Error 2 make[2]: *** Waiting for unfinished jobs.... scripts/basic/fixdep: 1: scripts/basic/fixdep: Syntax error: end of file unexpected (expecting ")") make[2]: *** [/tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel/nv-acpi.o] Error 2 make[1]: *** [_module_/tmp/selfgz14418/NVIDIA-Linux-armv7l-gnueabihf-349.16/kernel] Error 2 make[1]: Leaving directory /usr/src/linux-xlnx’
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make: *** [module] Error 1
-> Error.
ERROR: Unable to build the NVIDIA kernel module.
ERROR: Installation has failed. Please see the file ‘/var/log/nvidia-installer.log’ for details. You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.[/b]

Here’s some information about the system:

lsb_release -a

No LSB modules are available.
Distributor ID: Linaro
Description: Linaro 14.04
Release: 14.04
Codename: trusty

uname -r

3.13.0-xilinx-dirty

lspci

00:00.0 PCI bridge: Xilinx Corporation Device 7014
01:00.0 VGA compatible controller: NVIDIA Corporation Device 13c0 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 0fbb (rev a1)

Please help.

Here is some more information:

# gcc --version
gcc (Ubuntu/Linaro 4.8.2-19ubuntu1) 4.8.2

# apt-cache show libc6
Package: libc6
Priority: required
Section: libs
Installed-Size: 8213
Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com
Original-Maintainer: GNU Libc Maintainers debian-glibc@lists.debian.org
Architecture: armhf
Source: eglibc
Version: 2.19-0ubuntu6
Provides: glibc-2.19-1, libc6-armhf
Depends: libgcc1
Suggests: glibc-doc, debconf | debconf-2.0, locales
Conflicts: prelink (<= 0.0.20090311-1), tzdata (<< 2007k-1), tzdata-etch
Breaks: hurd (<< 1:0.5.git20140203-1), nscd (<< 2.19)
Filename: pool/main/e/eglibc/libc6_2.19-0ubuntu6_armhf.deb
Size: 3916006
MD5sum: 6928b71a61437b0071684f32758a018e
SHA1: 0b971297c54f1f20fea5fff0a3b5cba952f002dc
SHA256: 38f2c06eb3659798de7d49bcec6b771940368f3fcc5514d450d677fea46babe9
Description-en: Embedded GNU C Library: Shared libraries
Contains the standard libraries that are used by nearly all programs on
the system. This package includes shared versions of the standard C library
and the standard math library, as well as many others.
Description-md5: 5089b4da6684d7432ab618fb5b79cec5
Multi-Arch: same
Homepage: http://www.eglibc.org
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 9m
Task: minimal