Hello,
I’m trying to set up ValueCAN drivers for the Nvidia Jetson TX2 and I’m failing to compile the code.
ValueCAN offers the python package “python-ics” to integrate with “python-can.” This can be downloaded here: https://github.com/intrepidcs/python_ics or through pip3 install python-ics
The “python-ics” install the “icsneoapi” available here: https://github.com/intrepidcs/icsneoapi
I’ve had success building from source and using pip3 on a raspberry pi. Same compilers. I’m not sure what I’m missing. I would really appreciate some help! I have seen the notes on the Kvaser CAN system, but I didn’t come across any arm items to change. I had though this would be helpful:
https://devtalk.nvidia.com/default/topic/1005924/jetson-tx2/kvaser-drivers-building-on-tx2-/
When running “make”
nvidia@tegra-ubuntu:~$ git clone https://github.com/intrepidcs/icsneoapi
Cloning into ‘icsneoapi’…
remote: Enumerating objects: 148, done.
remote: Total 148 (delta 0), reused 0 (delta 0), pack-reused 148
Receiving objects: 100% (148/148), 115.01 KiB | 0 bytes/s, done.
Resolving deltas: 100% (87/87), done.
Checking connectivity… done.
nvidia@tegra-ubuntu:~$ cd icsneoapi/
nvidia@tegra-ubuntu:~/icsneoapi$ ls
99-intrepidcs.rules LICENSE Makefile README.md src
nvidia@tegra-ubuntu:~/icsneoapi$ make
g++ -g -c -fpic -fvisibility=hidden -fvisibility-inlines-hidden -O2 -Isrc/ src/CFTDILib.cpp
In file included from src/CFTDILib.h:31:0,
from src/CFTDILib.cpp:31:
src/icsnVC40.h:2372:45: warning: division by zero [-Wdiv-by-zero]
ASSERT_CONCAT(assert_line_, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2412:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessage);
^
src/icsnVC40.h:2372:58: error: ‘(1 / 0)’ is not a constant expression
ASSERT_CONCAT(assert_line, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2412:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessage);
^
src/icsnVC40.h:2372:58: error: enumerator value for ‘assert_line_2412’ is not an integer constant
ASSERT_CONCAT(assert_line, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2412:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessage);
^
src/icsnVC40.h:2372:45: warning: division by zero [-Wdiv-by-zero]
ASSERT_CONCAT(assert_line, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2413:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessageLong);
^
src/icsnVC40.h:2372:58: error: ‘(1 / 0)’ is not a constant expression
ASSERT_CONCAT(assert_line, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2413:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessageLong);
^
src/icsnVC40.h:2372:58: error: enumerator value for ‘assert_line_2413’ is not an integer constant
ASSERT_CONCAT(assert_line, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2413:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessageLong);
^
src/icsnVC40.h:2372:45: warning: division by zero [-Wdiv-by-zero]
ASSERT_CONCAT(assert_line, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2414:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessageJ1850);
^
src/icsnVC40.h:2372:58: error: ‘(1 / 0)’ is not a constant expression
ASSERT_CONCAT(assert_line, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2414:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessageJ1850);
^
src/icsnVC40.h:2372:58: error: enumerator value for ‘assert_line_2414’ is not an integer constant
ASSERT_CONCAT(assert_line, LINE) = 1 / (int)(!!(e))
^
src/icsnVC40.h:2376:30: note: in expansion of macro ‘ics_static_assert’
#define CHECK_STRUCT_SIZE(X) ics_static_assert(sizeof(X) == X##_SIZE, #X " is the wrong size");
^
src/icsnVC40.h:2414:1: note: in expansion of macro ‘CHECK_STRUCT_SIZE’
CHECK_STRUCT_SIZE(icsSpyMessageJ1850);
^
Makefile:17: recipe for target ‘CFTDILib.o’ failed
make: *** [CFTDILib.o] Error 1