I am trying to compile a driver for a USB to serial converter.
I've ran the following commands based on a previous thread:
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
I then downloaded rpi-source and ran it without any errors:
rpi-source
When running make
in the root directory of the I receive the following error:
make -C /lib/modules/4.9.25-v7+/build SUBDIRS=/home/pi/dmx_usb_module modules
make[1]: Entering directory '/home/pi/linux-525571c4df4066a61166b4b44cf5d757c2c53f5e'
CC [M] /home/pi/dmx_usb_module/dmx_usb.o
Building modules, stage 2.
MODPOST 1 modules
FATAL: parse error in symbol dump file
scripts/Makefile.modpost:91: recipe for target '__modpost' failed
make[2]: *** [__modpost] Error 1
Makefile:1493: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/home/pi/linux-525571c4df4066a61166b4b44cf5d757c2c53f5e'
Makefile:15: recipe for target 'default' failed
make: *** [default] Error 2
I've managed to compile this driver on two seperate Ubuntu desktop installations with no problem.
Any ideas? Thanks
UPDATE
I've changed the kernel back to 4.450. When I run uname -r
:
4.4.50-v7+
I re-ran the rpi-source
script with no errors. In the kernel source directory I have ran the following commands with no errors:
make prepare
make headers_check
make headers_install
make scripts
However, when running make
from the driver folder I received the same error as above:
make -C /lib/modules/4.4.50-v7+/build SUBDIRS=/home/pi/dmx_usb_module modules
make[1]: Entering directory '/home/pi/linux-e223d71ef728c559aa865d0c5a4cedbdf8789cfd'
Building modules, stage 2.
MODPOST 1 modules
FATAL: parse error in symbol dump file
scripts/Makefile.modpost:91: recipe for target '__modpost' failed
make[2]: *** [__modpost] Error 1
Makefile:1405: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/home/pi/linux-e223d71ef728c559aa865d0c5a4cedbdf8789cfd'
Makefile:15: recipe for target 'default' failed
make: *** [default] Error 2
Here is the Makefile:
#
# $Id: Makefile 38 2004-09-11 11:15:09Z erwin $
#
ifneq ($(KERNELRELEASE),)
obj-m := dmx_usb.o
else
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
gcc -O2 -pipe -Wall dmx_usb_test.c -o dmx_usb_test
endif
clean:
rm -f *.o *.ko
rm -f dmx_usb_test
rm -f dmx_usb.mod.c
rm -f .dmx_usb.*
rm -rf .tmp_versions
rm -f Module.markers modules.order Module.symvers