gcc -O3 -c crc32.c ocamlopt crc32.o unix.cmxa crc32.ml testcrc.ml -o crc crc32.o(.data+0x0): In function `camlCrc32__data_begin': : multiple definition of `camlCrc32__data_begin' crc32.o(.data+0x0): first defined here crc32.o(.text+0x0): In function `camlCrc32__read_92': : multiple definition of `camlCrc32__code_begin' crc32.o(.text+0x0): first defined here crc32.o(.data+0x4): In function `camlCrc32': : multiple definition of `camlCrc32' crc32.o(.data+0x4): first defined here crc32.o(.text+0x460): In function `camlCrc32__crc32unix_107': : multiple definition of `camlCrc32__crc32unix_107' crc32.o(.text+0x460): first defined here crc32.o(.text+0x3b0): In function `camlCrc32__crc32stream_101': : multiple definition of `camlCrc32__crc32stream_101' crc32.o(.text+0x3b0): first defined here crc32.o(.text+0x360): In function `camlCrc32__crc32_90': : multiple definition of `camlCrc32__crc32_90' crc32.o(.text+0x360): first defined here crc32.o(.text+0x2d0): In function `camlCrc32__calc_78': : multiple definition of `camlCrc32__calc_78' crc32.o(.text+0x2d0): first defined here crc32.o(.text+0x280): In function `camlCrc32__index_76': : multiple definition of `camlCrc32__index_76' crc32.o(.text+0x280): first defined here crc32.o(.text+0x240): In function `camlCrc32__$7e$7e_73': : multiple definition of `camlCrc32__$7e$7e_73' crc32.o(.text+0x240): first defined here crc32.o(.text+0x200): In function `camlCrc32__$26_70': : multiple definition of `camlCrc32__$26_70' crc32.o(.text+0x200): first defined here crc32.o(.text+0x1c0): In function `camlCrc32__$5e$5e_67': : multiple definition of `camlCrc32__$5e$5e_67' crc32.o(.text+0x1c0): first defined here crc32.o(.text+0x180): In function `camlCrc32__$3c$3c_64': : multiple definition of `camlCrc32__$3c$3c_64' crc32.o(.text+0x180): first defined here crc32.o(.text+0x140): In function `camlCrc32__$3e$3e_61': : multiple definition of `camlCrc32__$3e$3e_61' crc32.o(.text+0x140): first defined here crc32.o(.text+0x130): In function `camlCrc32__fun_132': : multiple definition of `camlCrc32__fun_132' crc32.o(.text+0x130): first defined here crc32.o(.text+0x0): In function `camlCrc32__read_92': : multiple definition of `camlCrc32__read_92' crc32.o(.text+0x0): first defined here crc32.o(.text+0x100): In function `camlCrc32__calc_105': : multiple definition of `camlCrc32__calc_105' crc32.o(.text+0x100): first defined here crc32.o(.text+0x5c0): In function `camlCrc32__entry': : multiple definition of `camlCrc32__entry' crc32.o(.text+0x5c0): first defined here crc32.o(.text+0x684): In function `camlCrc32__code_end': : multiple definition of `camlCrc32__code_end' crc32.o(.text+0x684): first defined here crc32.o(.data+0x1530): In function `camlCrc32__data_end': : multiple definition of `camlCrc32__data_end' crc32.o(.data+0x1530): first defined here crc32.o(.data+0x1534): In function `camlCrc32__frametable': : multiple definition of `camlCrc32__frametable' crc32.o(.data+0x1534): first defined here testcrc.o(.text+0x4b0): In function `camlTestcrc__fun_164': : undefined reference to `caml_crc32' collect2: ld 1 Error during linking