tree-sitter / node-tree-sitter

Node.js bindings for tree-sitter
https://www.npmjs.com/package/tree-sitter
MIT License
649 stars 114 forks source link

Use clang for linux travis builds #50

Closed maxbrunsfeld closed 5 years ago

maxbrunsfeld commented 5 years ago

The Linux binaries that are created on Travis are causing problems for the Atom build. For the last two releases, I've had to delete the prebuilt Linux binaries in order to get the Atom Travis builds to pass.

I think the problem may be that these binaries are compiled with gcc. Atom uses clang, and so does node-keytar, Atom's other native dependency with prebuild support. Clang and gcc create binaries with dependencies on two different C++ standard library implementations.

For now, I'm going to switch the node-tree-sitter builds to also use clang on Linux. Hopefully this ends up working for all Linux users. If it ends up breaking people with gcc, we're going to have to just stop using prebuild at all on Linux.

/cc @wingrunr21 @rafeca @nathansobo

nathansobo commented 5 years ago

👍