Hi,
I am trying to get can4linux running on Ubuntu 16.04 64bit (kernel = 4.4.0-24-generic #43-Ubuntu SMP Wed Jun 8 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux). It doesn't compile and the error I receive is below.
I know there were many changes to the 4.XX kernel and that probably affects me in a negative way. There was a previous post regarding a build on a 4.2 kernel but following it did not help me.
I downloaded the latest can4linux from svn (revision 532).
Any thoughts on what is required to get this working on the latest stable LTS kernel for Ubuntu?
Thanks,
Paul.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Am Samstag, 11. Juni 2016, 14:58:57 schrieb Paul Rocco:
First let me say I am not a software developer. I'm just trying to get a new computer up and running and need CAN functionality.
I managed to sort out the DATETIME error and turned it into a warning (added Wno-error=date-time to the CFLAGS).
I never had this error/warning message, Seems to be new with gcc 4.9.
Moving the error to a warning looks good at a fist step. I will see if there are better solutions.
Now I am left with the following:
In short, all the following messages, like
/home/ugv/Downloads/can/can4linux-code/can4linux/sja1000funcs.c:67:26: error: implicit declaration of function ‘CAN_IN’ [-Werror=implicit-function-declaration]
pr_info(" MODE 0x%x,", CAN_IN(board, canmode));
^
include/linux/printk.h:259:34: note: in definition of macro ‘pr_info’
printk(KERN_INFO pr_fmt(fmt), ##VA_ARGS)
^
/home/ugv/Downloads/can/can4linux-code/can4linux/sja1000funcs.c:67:40: error: ‘canmode’ undeclared (first use in this function)
pr_info(" MODE 0x%x,", CAN_IN(board, canmode));
...
/home/ugv/Downloads/can/can4linux-code/can4linux/sja1000funcs.c:68:40: error: ‘canstat’ undeclared (first use in this function)
pr_info(" STAT 0x%x,", CAN_IN(board, canstat));
^
...
pr_info(" INT 0x%x\n", CAN_IN(board, canirq));
^
stat->status = CAN_IN(minor, canstat);
^
...
stat->error_warning_limit = CAN_IN(minor, errorwarninglimit);
^
/home/ugv/Downloads/can/can4linux-code/can4linux/sja1000funcs.c:114:35: error: ‘rxerror’ undeclared (first use in this function)
stat->rx_errors = CAN_IN(minor, rxerror);
^
are all missing definitions of the CAN controller registers. They all are in sja1000.h.
I have to check why this header file is not included in your build.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
I have adopted the code for the TARGET PCM3680. It now compiles for kernel 3.16. and gcc 4.8. I hope it will compile for kernel 4.x too. Unfortunately I can not test. Please let me know what is in /var/log/messages or what dmesg says when the driver is loaded and used by one of the examples when /proc/sys/dev/Can/dbgMask is set to 7
Please use and update to the latest svn sources
Last edit: Heinz-Jürgen Oertel 2016-06-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I am trying to get can4linux running on Ubuntu 16.04 64bit (kernel = 4.4.0-24-generic #43-Ubuntu SMP Wed Jun 8 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux). It doesn't compile and the error I receive is below.
I know there were many changes to the 4.XX kernel and that probably affects me in a negative way. There was a previous post regarding a build on a 4.2 kernel but following it did not help me.
I downloaded the latest can4linux from svn (revision 532).
Any thoughts on what is required to get this working on the latest stable LTS kernel for Ubuntu?
Thanks,
Paul.
First let me say I am not a software developer. I'm just trying to get a new computer up and running and need CAN functionality.
I managed to sort out the DATE TIME error and turned it into a warning (added Wno-error=date-time to the CFLAGS). Now I am left with the following:
Anyone able to help sort this out?
Hi,
I hope to have a look at it in two or three hours.
Last edit: Heinz-Jürgen Oertel 2016-06-11
Am Samstag, 11. Juni 2016, 14:58:57 schrieb Paul Rocco:
I never had this error/warning message, Seems to be new with gcc 4.9.
Moving the error to a warning looks good at a fist step. I will see if there are better solutions.
In short, all the following messages, like
...
are all missing definitions of the CAN controller registers. They all are in sja1000.h.
I have to check why this header file is not included in your build.
Hi
I have adopted the code for the TARGET PCM3680. It now compiles for kernel 3.16. and gcc 4.8. I hope it will compile for kernel 4.x too. Unfortunately I can not test. Please let me know what is in /var/log/messages or what dmesg says when the driver is loaded and used by one of the examples when /proc/sys/dev/Can/dbgMask is set to 7
Please use and update to the latest svn sources
Last edit: Heinz-Jürgen Oertel 2016-06-12