Ocaml + LLVM под cygwin (или, в более общем смысле, статическое связывание с объектными файлами C в cygwin)?

Все тесты для привязок Ocaml (которые устанавливаются автоматически, если вы делаете LLVM с уже установленным Ocaml) не работают под cygwin, и когда я пытаюсь создать даже самую тривиальную программу, я получаю ту же ошибку что все встроенные тесты терпят неудачу:

> ocamlopt -I +llvm-2.8 -cc g++ llvm.cmxa llvm_bitwriter.cmxa llvm_trivial.ml -o llvm_trivial
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x14a): undefined reference to `_flexdll_dlerror'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x177): undefined reference to `_flexdll_dlopen'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x193): undefined reference to `_flexdll_dlopen'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x1a2): undefined reference to `_flexdll_dlsym'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x1bc): undefined reference to `_flexdll_dlsym'
/usr/lib/ocaml/libasmrun.a(unix.o):unix.c:(.text+0x1cf): undefined reference to `_flexdll_dlclose'
collect2: ld returned 1 exit status
File "caml_startup", line 1, characters 0-1:
Error: Error during linking

Поиск в Google показывает, что это не специфично для LLVM , и что у других людей такая же проблема, но я не смог найти решения. У меня установлен flexdll. Я просто неправильно на него ссылаюсь?

Это работает для меня в моей системе Linux, поэтому я думаю, что это что-то особенное для того, что я ' м делаю на cygwin. Есть предложения?

6
задан dan 26 December 2010 в 22:14
поделиться