Skip to content

ark depends on non-exported R_Is_Running; breaks compilation on Linux #171

@jmcphers

Description

@jmcphers

Compiling ark on Linux results in the following error:

/usr/bin/ld: /home/jmcphers/git/positron/extensions/positron-r/amalthea/crates/ark/src/lsp/handler.rs:
(.text._ZN86_$LT$ark..lsp..handler..Lsp$u20$as$u20$amalthea..language..lsp_handler..LspHandler$GT$5start28_$u7b$$u7b$closure$u7d$$u7d$17h189ba1405fc549d7E+0x28): 
undefined reference to `R_Is_Running'

This is probably because R_Is_Running is not exposed in libR.so on Linux; that is, it is just extern0 not LibExtern in Defn.h:

https://github.com/wch/r-source/blob/87f8be154f4f8a72683a66cf0af62b6b5017b084/src/include/Defn.h#L1398

We use it here:

https://github.com/rstudio/positron/blob/adf3167ed747ca0db1d16a133ad01fa1da5825c2/extensions/positron-r/amalthea/crates/ark/src/lsp/handler.rs#L48-L52

Not sure why this doesn't break on macOS (maybe all symbols are exported in the .dylib?), but we should fix it for Linux so we can get CI running there.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions