MarcusKlik/lazyvec

Undefined symbol ALTREP_SERIALIZED_STATE

MarcusKlik opened this issue · 2 comments

On Travis, the linux builds fail if any ALTREP method is used:

unable to load shared object '/home/travis/build/MarcusKlik/lazyvec/lazyvec.Rcheck/lazyvec/libs/lazyvec.so':
  /home/travis/build/MarcusKlik/lazyvec/lazyvec.Rcheck/lazyvec/libs/lazyvec.so: undefined symbol: ALTREP_SERIALIZED_STATE

this looks like a linker problem with the ALTREP methods, which are defined in <Rinternals.h>

Apart from the method above, many other ALTREP methods are not exported yet on R-devel on linux.

This seems to be caused by a attribute_hidden definition in front of the function declaration in the R sources, see for example the non-exported ALTREP_INSPECT here.

Exported functions seem to have attribute_hidden commented out. Perhaps a post to r-devel@r-project.org will clarify the current state.

issue moved to here