UPM is a high level repository that provides software drivers for a wide variety of commonly used sensors and actuators. These software drivers interact with the underlying hardware platform through calls to MRAA APIs.
MIT License
661
stars
410
forks
source link
compilation with swig 4.2.0 nodejs 18.14.2 bug with `NonCopyablePersistentTraits::Copy` and long blacklist #705
I have compiled upm on a raspberryPi 4 with swig 4.2.0 and nodejs 18.14.2 (It is not possible to use the latest nodejs version[19] because there is an incompatibility with C++17 to compile mraa).
mraa version 2.2.0
upm version v2.0.0-9-gd6f76ff8
swig version 4.2.0
nodejs version 18.14.2
First problem occurs with something that seems to be a bad version computation or a bad limit for node version 0x032838 a dirty hack in the build folder enabled to get rid of the bug (the first part of the following command lists the files)
`̀shell
rgrep -l -e 0x032838 | xargs sed -i 's/0x032838/0x0704/g'
Second problem occurs with the `error: static assertion failed: NonCopyablePersistentTraits::Copy is not instantiable`. It is possible to get rid of part of the problems with another dirty hack :
```shell
rgrep -l -e Persistent | xargs sed -i 's/Persistent<\([^>]*\)>/Persistent<\1, v8::CopyablePersistentTraits<\1>> /g'
Unfortunately the same bug occurs with other objets than those declared with Persistent and I have not been able to find a workaround. I have blacklisted all the modules that send the error, the full follows :
I am not able to trace out the primary cause of the problem to make a PR; as the compilation finally works, it might be usefull if somebody can solve these bugs to get the full upm library.
I have compiled
upm
on a raspberryPi 4 withswig 4.2.0
andnodejs 18.14.2
(It is not possible to use the latest nodejs version[19] because there is an incompatibility with C++17 to compile mraa).mraa
version 2.2.0upm
version v2.0.0-9-gd6f76ff8swig
version 4.2.0nodejs
version 18.14.2 First problem occurs with something that seems to be a bad version computation or a bad limit for node version0x032838
a dirty hack in the build folder enabled to get rid of the bug (the first part of the following command lists the files)`̀
shell rgrep -l -e 0x032838 | xargs sed -i 's/0x032838/0x0704/g'Unfortunately the same bug occurs with other objets than those declared with
Persistent
and I have not been able to find a workaround. I have blacklisted all the modules that send the error, the full follows :I am not able to trace out the primary cause of the problem to make a PR; as the compilation finally works, it might be usefull if somebody can solve these bugs to get the full upm library.