airbus-seclab / bincat

Binary code static analyser, with IDA integration. Performs value and taint analysis, type reconstruction, use-after-free and double-free detection
1.66k stars 159 forks source link

Compile error on Windows #130

Open DerZc opened 2 years ago

DerZc commented 2 years ago

I want to compile bincat on Windows and follow this link,, then meet this error:

$ make windist PYTHON=python
Compiling OCaml part.................................................
make[1]: Entering directory '/home/SEG_ZC/bincat/ocaml/src'
ocamllex frontend/lexer.mll
57 states, 2172 transitions, table size 9030 bytes
menhir --explain frontend/parser.mly
File "frontend/parser.mly", line 192, characters 13-17:
Warning: the token SINT is unused.
File "frontend/parser.mly", line 180, characters 39-44:
Warning: the token STACK is unused.
Warning: one state has reduce/reduce conflicts.
Warning: 2 reduce/reduce conflicts were arbitrarily resolved.
File "frontend/parser.mly", line 422, characters 6-16:
Warning: production x86_section -> x86_item is never reduced.
Warning: in total, 1 production is never reduced.
Error: the code back-end requires the type of every nonterminal symbol to be
known. Please specify the type of every symbol via %type declarations, or
enable type inference (look up --infer in the manual).
Type inference is automatically enabled when Menhir is used via Dune,
provided the dune-project file says (using menhir 2.0) or later.
The types of the following nonterminal symbols are unknown:
addresses
analysis_kind
analyzer
analyzer_item
architecture
argument
arguments
armv7_section
armv8_section
assert_rule
assert_rules
byte_kind
callconv
data_sections
endianness
format
fun_rule
fun_skip
fun_skip_list
heap_couple
ida_section
import
imports
init
int_kind
libname
library
library_item
loption(separated_nonempty_list(COMMA,argument))
mcontent
memmodel
mmode
mpx_enabled
npk
one_tcontent
os_kind
override
override_addr
override_addr_item
override_heap_item
override_item
override_one_addr
override_reg
override_reg_item
overrides
pair_skip
powerpc_section
powerpc_section_item
program
program_item
repeat
repeat_heap
rv32i_section
rv64i_section
section
section_item
sections
separated_nonempty_list(COMMA,argument)
set_default_source_function
set_source_function
state
state_item
taint_sources
tcontent
x64_item
x64_section
x86_item
x86_section
Makefile:249: .depend: No such file or directory
make[1]: *** [Makefile:215: frontend/parser.ml] Error 1
make[1]: Leaving directory '/home/SEG_ZC/bincat/ocaml/src'
make: *** [Makefile:20: all] Error 2
szennou commented 2 years ago

Which OCaml version? We'll work on a fix. In the meantime, downgrade to an OCaml compatible version

DerZc commented 2 years ago

I will try to downgrade the version, current version is 4.13.1

af-airbus commented 7 months ago

Could you please retry with the last tagged pre-release (v1.3.-beta1)?

af-airbus commented 6 months ago

Could you confirm here everything is fine with this version and close the issue accordingly?