backtracking / ocamlgraph

OCaml graph library
http://backtracking.github.io/ocamlgraph/
Other
233 stars 60 forks source link

Problem building ocamlgraph with MSVC toolchain in Windows #42

Closed martin-neuhaeusser closed 6 years ago

martin-neuhaeusser commented 9 years ago

Dear all,

while testing the builds of ocamlgraph in Windows, another problem occurs when compiling the shared library with the MSVC toolchain. The error that is reported looks as follows:

[...]
ocamlopt.opt -c -I src -I lib -for-pack Graph src/dot_lexer.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/dot.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/pack.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/gmap.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/minsep.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/cliquetree.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/mcs_m.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/md.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/strat.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/fixpoint.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/leaderlist.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/contraction.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/graphml.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/merge.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/mincut.ml
ocamlopt.opt -c -I src -I lib -for-pack Graph src/clique.ml
ocamlopt.opt -I src -I lib -pack -o graph.cmx src/sig.cmi src/sig_pack.cmi src/d
ot_ast.cmi lib/unionfind.cmx lib/heap.cmx lib/bitv.cmx src/version.cmx src/util.
cmx src/blocks.cmx src/persistent.cmx src/imperative.cmx src/delaunay.cmx src/bu
ilder.cmx src/classic.cmx src/rand.cmx src/oper.cmx src/components.cmx src/path.
cmx src/nonnegative.cmx src/traverse.cmx src/coloring.cmx src/topological.cmx sr
c/kruskal.cmx src/flow.cmx src/prim.cmx src/dominator.cmx src/graphviz.cmx src/g
ml.cmx src/dot_parser.cmx src/dot_lexer.cmx src/dot.cmx src/pack.cmx src/gmap.cm
x src/minsep.cmx src/cliquetree.cmx src/mcs_m.cmx src/md.cmx src/strat.cmx src/f
ixpoint.cmx src/leaderlist.cmx src/contraction.cmx src/graphml.cmx src/merge.cmx
 src/mincut.cmx src/clique.cmx
LINK : warning LNK4044: unrecognized option '/Lsrc'; ignored
LINK : warning LNK4044: unrecognized option '/Llib'; ignored
LINK : warning LNK4044: unrecognized option '/LC:/ocamlms/lib'; ignored
ocamlopt.opt -I src -I lib -a -o graph.cmxa graph.cmx
ocamlopt.opt -I src -I lib -shared -o graph.cmxs graph.cmx
** Fatal error: Cannot find file "uuid.lib"
File "caml_startup", line 1:
Error: Error during linking
Makefile:104: die Regel für Ziel "graph.cmxs" scheiterte
make: *** [graph.cmxs] Fehler 2

If the error message is ignored and continued with "make install" and "make install-findlib", we obtain a running version of ocamlgraph. So it seems that only some parts fail to build, that are not required for a native build with static linking.

If I can help in debugging, please let me know!

Best regards Martin

backtracking commented 9 years ago

Hi Martin,

This looks like an OCaml/ocamlfind issue to me. I'm sorry I can't be of any help regarding Windows-related issues (I'm totally ignorant in that matter).

The OCaml community should really push towards a version of opam for Windows, so that all these issues can be worked out upstream, by package managers.

Jean-Christophe

On 25/06/2015 17:14, Martin R. Neuhäußer wrote:

Dear all,

while testing the builds of ocamlgraph in Windows, another problem occurs when compiling the shared library with the MSVC toolchain. The error that is reported looks as follows:

[...] ocamlopt.opt -c -I src -I lib -for-pack Graph src/dot_lexer.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/dot.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/pack.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/gmap.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/minsep.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/cliquetree.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/mcs_m.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/md.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/strat.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/fixpoint.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/leaderlist.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/contraction.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/graphml.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/merge.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/mincut.ml ocamlopt.opt -c -I src -I lib -for-pack Graph src/clique.ml ocamlopt.opt -I src -I lib -pack -o graph.cmx src/sig.cmi src/sig_pack.cmi src/d ot_ast.cmi lib/unionfind.cmx lib/heap.cmx lib/bitv.cmx src/version.cmx src/util. cmx src/blocks.cmx src/persistent.cmx src/imperative.cmx src/delaunay.cmx src/bu ilder.cmx src/classic.cmx src/rand.cmx src/oper.cmx src/components.cmx src/path. cmx src/nonnegative.cmx src/traverse.cmx src/coloring.cmx src/topological.cmx sr c/kruskal.cmx src/flow.cmx src/prim.cmx src/dominator.cmx src/graphviz.cmx src/g ml.cmx src/dot_parser.cmx src/dot_lexer.cmx src/dot.cmx src/pack.cmx src/gmap.cm x src/minsep.cmx src/cliquetree.cmx src/mcs_m.cmx src/md.cmx src/strat.cmx src/f ixpoint.cmx src/leaderlist.cmx src/contraction.cmx src/graphml.cmx src/merge.cmx src/mincut.cmx src/clique.cmx LINK : warning LNK4044: unrecognized option '/Lsrc'; ignored LINK : warning LNK4044: unrecognized option '/Llib'; ignored LINK : warning LNK4044: unrecognized option '/LC:/ocamlms/lib'; ignored ocamlopt.opt -I src -I lib -a -o graph.cmxa graph.cmx ocamlopt.opt -I src -I lib -shared -o graph.cmxs graph.cmx \ Fatal error: Cannot find file "uuid.lib" File "caml_startup", line 1: Error: Error during linking Makefile:104: die Regel für Ziel "graph.cmxs" scheiterte make: *\ [graph.cmxs] Fehler 2

If the error message is ignored and continued with "make install" and "make install-findlib", we obtain a running version of ocamlgraph. So it seems that only some parts fail to build, that are not required for a native build with static linking.

If I can help in debugging, please let me know!

Best regards Martin

— Reply to this email directly or view it on GitHub https://github.com/backtracking/ocamlgraph/issues/42.