ikatyang / tree-sitter-vue

Vue grammar for tree-sitter
https://ikatyang.github.io/tree-sitter-vue/
MIT License
77 stars 25 forks source link

build error: multiple definition of tree_sitter_html_external_scanner_create #27

Open milahu opened 8 months ago

milahu commented 8 months ago

helper functions should be static to avoid the downstream build error multiple definition of ... when building one binary from multiple parsers

build.log ``` /nix/store/xdqs45iclhp9dz8zz9pvn5zivjbhid1a-binutils-2.40/bin/ld: /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-vue/src/scanner.o: in function `tree_sitter_html_external_scanner_create': scanner.cc:(.text+0xaf0): multiple definition of `tree_sitter_html_external_scanner_create'; /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-html/src/scanner.o:scanner.c:(.text+0x5b0): first defined here /nix/store/xdqs45iclhp9dz8zz9pvn5zivjbhid1a-binutils-2.40/bin/ld: /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-vue/src/scanner.o: in function `tree_sitter_html_external_scanner_serialize': scanner.cc:(.text+0xb20): multiple definition of `tree_sitter_html_external_scanner_serialize'; /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-html/src/scanner.o:scanner.c:(.text+0xac0): first defined here /nix/store/xdqs45iclhp9dz8zz9pvn5zivjbhid1a-binutils-2.40/bin/ld: /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-vue/src/scanner.o: in function `tree_sitter_html_external_scanner_destroy.localalias': scanner.cc:(.text+0xc40): multiple definition of `tree_sitter_html_external_scanner_destroy'; /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-html/src/scanner.o:scanner.c:(.text+0xf00): first defined here /nix/store/xdqs45iclhp9dz8zz9pvn5zivjbhid1a-binutils-2.40/bin/ld: /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-vue/src/scanner.o: in function `tree_sitter_html_external_scanner_deserialize': scanner.cc:(.text+0xe20): multiple definition of `tree_sitter_html_external_scanner_deserialize'; /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-html/src/scanner.o:scanner.c:(.text+0xba0): first defined here /nix/store/xdqs45iclhp9dz8zz9pvn5zivjbhid1a-binutils-2.40/bin/ld: /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-vue/src/scanner.o: in function `tree_sitter_html_external_scanner_scan': scanner.cc:(.text+0x1850): multiple definition of `tree_sitter_html_external_scanner_scan'; /build/tmpxyj0x25atree_sitter_language/vendor/tree-sitter-html/src/scanner.o:scanner.c:(.text+0x5c0): first defined here ```

https://github.com/grantjenks/py-tree-sitter-languages/issues/55 https://github.com/tree-sitter/tree-sitter-html/pull/64