Skip to content

compilation with swig 4.2.0 nodejs 18.14.2 bug with NonCopyablePersistentTraits::Copy and long blacklist #705

@g-vidal

Description

@g-vidal

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 :

adafruitss adc121c021 adis16448 ads1x15 adxl335 adxl345 apds9002
apds9930 adxrs610 am2315 adxl345 at42qt1070 bma220
button cwlsxxa ds1307 ehr ds1808lc ds2413 ecs1030 hmtrp
ldt0028 pca9685 zfm20 a110x abp ad8232 adafruitms1438 bh1750
bh1792 bh1749 biss0001 bmp280 bmpx8x bmm150 bma250e bmg160
cjq4435 buzzer collision bno055 dfrorp dfrph apa102 bmx055

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions